InfoDirectory使用手引書 |
目次 索引 |
第3部 SDK編 | > 第5章 アプリケーション開発環境(LDAP C API) | > 5.2 関数インタフェース | > 5.2.6 エントリの検索 |
この関数は、非同期型のエントリ検索処理を行います。【指定形式】
int ldap_search(
LDAP *ld,
char *base,
int scope,
char *filter,
char *attrs[ ],
int attrsonly
);【パラメタの説明】
- ld
ldap_init()またはldapssl_init()で通知された、セションハンドルを指定します。
- base
サーチベースのDNのアドレスを指定します。サーチベースとは、検索開始位置のエントリです。
- scope
以下のいずれかの値を指定します。
- LDAP_SCOPE_BASE
サーチベースで指定されたエントリを検索します。
- LDAP_SCOPE_ONELEVEL
サーチベースで指定されたエントリの1階層下のエントリを検索します。
- LDAP_SCOPE_SUBTREE
サーチベースで指定されたエントリと、その配下の全エントリの中から検索します。
- filter
検索フィルタのアドレスを指定します。
例
(cn=User1) (!(cn=User1)) (o=Fujitsu*) (&(objectClass=person)(|(uid=0001)(cn=User*)))- attrs
通知してほしい属性名のアドレスを設定した、ポインタ配列のアドレスを指定します。InfoDirectoryサーバは、ポインタ配列で指定された属性だけをクライアントに通知します。以下の例では、“objectClass”と“commonName”だけが通知されます。
例
char *attrs[3] = {
"objectClass",
"commonName",
0
};このパラメタにNULLを指定すると、検索でヒットしたエントリの利用可能な属性がすべて通知されます。また、ポインタ配列の最後には、0を設定しておく必要があります。
- attrsonly
以下のいずれかの値を指定します。
- 属性名と属性値の両方を通知してほしい場合 : 0
- 属性名だけを通知してほしい場合 : 0以外の値
【復帰値】
この関数は、復帰値として以下の値を返します。
- 正常完了の場合 : メッセージID
- 異常完了の場合 : -1
【注意事項】
- 非同期型検索の結果獲得
非同期型検索の処理結果を受取る場合、ldap_result()を使用します。この時、ldap_search()の復帰値として返されたメッセージIDを指定します。
詳細は、処理結果の受取り/判定を参照してください。- 検索フィルタ
検索フィルタの文法については、検索フィルタを参照してください。
- 検索のオプション
検索がどのように行われるかは、以下に示すセションハンドルオプションによって制御されます。
- LDAP_OPT_DEREF : 別名の参照方法
- LDAP_OPT_SIZELIMIT : 受信可能な最大エントリ数
- LDAP_OPT_TIMELIMIT : 最大検索時間(秒単位)
セションハンドルオプションについては、セションハンドルオプションの設定/参照を参照してください。
目次 索引 |