Interstage Application Server リファレンスマニュアル(API編)
目次 索引 前ページ次ページ

第1章 C言語インタフェース> 1.20 Smart Repositoryインタフェース> 1.20.4 エントリの検索インタフェース

1.20.4.1 ldap_search()

名前

 ldap_search

形式

 #include "idldap.h"
 int  ldap_search(
         LDAP  *ld,
         const char  *base,
         int  scope,
         const char  *filter,
         char  **attrs,
         int  attrsonly );

機能説明

 この関数は、非同期型のエントリ検索処理を行います。

 非同期型検索の処理結果を受け取る場合、ldap_result()を使用します。この時、ldap_search()の復帰値として返されたメッセージIDを指定します。詳細は、“処理結果の受取り/判定”を参照してください。

 検索がどのように行われるかは、以下に示すセションハンドルオプションによって制御されます。

 セションハンドルオプションについては、“セションハンドルオプションの設定/参照”を参照してください。

 ldapssl_init()で獲得したセションハンドルを使用している場合、SSLライブラリで発生したエラーをldapssl_error()で参照することができます。

パラメタ

 ld
 ldap_init()、またはldapssl_init()で通知された、セションハンドルを指定します。
 base
 サーチベースのDNのアドレスを指定します。サーチベースとは、検索開始位置のエントリです。
 scope
 以下のどれか1つの値を指定します。
 filter
 検索フィルタのアドレスを指定します。NULLを指定した場合は、"(objectClass=*)"とみなします。検索フィルタの文法については、“Smart Repository運用ガイド”の“検索フィルタ”を参照してください。
 例
(cn=User1)
(o=Fujitsu*)
(&(objectClass=person)(|(uid=0001)(cn=User*)))

 attrs
 通知してほしい属性名のアドレスを設定した、ポインタ配列のアドレスを指定します。リポジトリサーバは、ポインタ配列で指定された属性だけをクライアントに通知します。以下の例では、“objectClass”と“commonName”だけが通知されます。
 例
char  *attrs[3] = {
            "objectClass",
            "commonName",
            NULL
            };
 DN名のみを通知したい場合は、attrsパラメタの配列先頭にLDAP_NO_ATTRSを設定してください。
 例
char  *attrs[2] = {
            LDAP_NO_ATTRS,
            NULL
            };
 このパラメタにNULLを指定すると、検索でヒットしたエントリの利用可能な属性がすべて通知されます。また、ポインタ配列の最後には、NULLを設定しておく必要があります。
 attrsonly
 以下のどちらかの値を指定します。

復帰値

 この関数は、復帰値として以下の値を返します。


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

Copyright 2007 FUJITSU LIMITED