Interstage Application Server Smart Repository運用ガイド
目次 索引 前ページ次ページ

第5章 アプリケーションの作成(C API)

5.2 C API仕様

 ここでは、C言語プログラムからLDAPのクライアントAPIを使用する場合の関数仕様について説明します。

API関数の一

 本ライブラリでサポートされているAPI関数は、正式なRFC1823をサポートして、かつドラフト“draft-ietf-ldapext-ldap-c-api-05.txt”に準拠しています。
 本ライブラリでは、これに加えて以下の機能が追加されています。

 クライアントAPIライブラリにおいてサポートされているAPI関数を、以下に示します。

分類

関数名

関数の説明

規約準拠

セションのオープンとクローズ

ldap_init()

リポジトリサーバへのセションを初期化します。

ldapssl_init()

リポジトリサーバへのセションを初期化します。(SSL使用)

×

ldap_get_option()

セションハンドルオプションの設定値を参照します。

ldap_set_option()

セションハンドルオプションを設定します。

ldap_version()

ライブラリのバージョン情報を参照します。

×

ldap_unbind()

リポジトリサーバとのコネクションをクローズした後、セションを解放します。

ldap_unbind_s()

ldap_unbind()と同じ処理をします。

リポジトリサーバとのユーザ認証

ldap_simple_bind()

リポジトリサーバとの簡易認証をします。
(非同期型)

ldap_simple_bind_s()

リポジトリサーバとの簡易認証をします。
(同期型)

エントリの検索

ldap_search()

指定された条件のエントリを検索します。
(非同期型)

ldap_search_s()

指定された条件のエントリを検索します。
(同期型)

ldap_search_st()

指定された条件のエントリを検索します。
(同期型、時間制限付き)

ldap_search_ext()

指定された条件のエントリを検索します。
(非同期型、LDAP V3拡張関数)

ldap_search_ext_s()

指定された条件のエントリを検索します。
(同期型、LDAP V3拡張関数)

属性値の比較

ldap_compare()

エントリの属性値を指定された値と比較します。
(非同期型)

ldap_compare_s()

エントリの属性値を指定された値と比較します。
(同期型)

ldap_compare_ext()

エントリの属性値を指定された値と比較します。
(非同期型、LDAP V3拡張関数)

ldap_compare_ext_s()

エントリの属性値を指定された値と比較します。
(同期型、LDAP V3拡張関数)

エントリの変更

ldap_modify()

指定されたエントリを更新します。
(非同期型)

ldap_modify_s()

指定されたエントリを更新します。
(同期型)

ldap_modify_ext()

指定されたエントリを更新します。
(非同期型、LDAP V3拡張関数)

ldap_modify_ext_s()

指定されたエントリを更新します。
(同期型、LDAP V3拡張関数)

エントリ名の変更

ldap_rename()

指定されたエントリのDN、またはRDNを変更します。
(非同期型、LDAP V3拡張関数)

ldap_rename_s()

指定されたエントリのDN、またはRDNを変更します。
(同期型、LDAP V3拡張関数)

エントリの追加

ldap_add()

指定されたエントリを追加します。
(非同期型)

ldap_add_s()

指定されたエントリを追加します。
(同期型)

ldap_add_ext()

指定されたエントリを追加します。
(非同期型、LDAP V3拡張関数)

ldap_add_ext_s()

指定されたエントリを追加します。
(同期型、LDAP V3拡張関数)

エントリの削除

ldap_delete()

指定されたエントリを削除します。
(非同期型)

ldap_delete_s()

指定されたエントリを削除します。
(同期型)

ldap_delete_ext()

指定されたエントリを削除します。
(非同期型、LDAP V3拡張関数)

ldap_delete_ext_s()

指定されたエントリを削除します。
(同期型、LDAP V3拡張関数)

非同期処理の中止

ldap_abandon()

非同期処理を破棄(中断)します。

ldap_abandon_ext()

非同期処理を破棄(中断)します。
(LDAP V3拡張関数)

処理結果の受取り/判定

ldap_result()

非同期関数の処理結果や検索結果のエントリを受け取ります。

ldap_msgid()

指定されたメッセージのメッセージIDを参照します。

ldap_msgtype()

指定されたメッセージのタイプを参照します。

エラー情報の取得

ldap_parse_result()

指定されたresult情報のLDAPエラー情報を読み込みます。

ldap_err2string()

LDAPエラーコードを文字列に変換します。

ldapssl_error()

SSLライブラリのエラーコードを読み込みます。

×

メッセージリストの処理

ldap_first_message()

最初のメッセージのアドレスを返します。

ldap_next_message()

次のメッセージのアドレスを返します。
(前回読み込んだものに続くメッセージ)

ldap_count_messages()

メッセージリストに含まれるメッセージの個数をカウントします。

エントリリストの処理

ldap_first_entry()

指定されたメッセージの最初のエントリを返します。

ldap_next_entry()

指定されたメッセージの次のエントリを返します。
(前回読み込んだものに続くエントリ)

ldap_count_entries()

指定されたメッセージ内のエントリ数をカウントします。

属性名の読込み

ldap_first_attribute()

指定されたエントリの最初の属性名を返します。

ldap_next_attribute()

指定されたエントリの次の属性名を返します。
(前回読み込んだものに続く属性名)

属性値の読込み

ldap_get_values()

指定された属性の属性値を読み込みます。
(属性値が文字列データの場合)

ldap_get_values_len()

指定された属性の属性値を読み込みます。
(属性値がバイナリデータの場合)

ldap_count_values()

読み込んだ属性値の数をカウントします。
(属性値が文字列データの場合)

ldap_count_values_len()

読み込んだ属性値の数をカウントします。
(属性値がバイナリデータの場合)

DNの読込み/解析

ldap_get_dn()

指定されたエントリのDNを読み込みます。

ldap_explode_dn()

指定されたDNを、構成要素に分解します。

ldap_explode_rdn()

指定されたRDNを構成要素に分解します。

ldap_dn2ufn()

指定されたDNをユーザフレンドリな形式に変換します。

動的メモリの解放

ldap_ber_free()

指定されたBerElement構造体を解放します。

×

ldap_memfree()

LDAPのAPI関数が動的に獲得した領域を解放します。

ldap_msgfree()

ldap_result()で通知されたメッセージリストを解放します。

ldap_value_free()

文字列データのポインタ配列を解放します。

ldap_value_free_len()

バイナリデータのポインタ配列を解放します。

エンコード/デコード

ldap_conv_utf()

日本語を含む文字列を変換規則に従ってコード変換します。

×

ldap_conv_utf2()

日本語を含む文字列を変換規則に従ってコード変換します。

×

ldap_conv_init()

ldap_conv_utf2()の初期化をします。

×

ldap_conv_close()

ldap_conv_utf2()の後処理をします。

×


 Smart RepositoryではLDAP V2プロトコルをサポートしていません。


下へ5.2.1 セションのオープンとクローズ
下へ5.2.2 リポジトリサーバとのユーザ認証
下へ5.2.3 エントリの検索
下へ5.2.4 属性値の比較
下へ5.2.5 エントリの変更
下へ5.2.6 エントリ名の変更
下へ5.2.7 エントリの追加
下へ5.2.8 エントリの削除
下へ5.2.9 非同期処理の中止
下へ5.2.10 処理結果の受取り/解析
下へ5.2.11 検索結果の解析処理
下へ5.2.12 動的メモリの解放
下へ5.2.13 エンコード/デコード処理
下へ5.2.14 構造体の構成

目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005