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

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

1.20.4.2 ldap_search_s()

名前

 ldap_search_s

形式

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

機能説明

 この関数は、時間制限なしで同期型のエントリ検索処理を行います。

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

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

 通知された検索結果の解析は、構文解析関数を使用して行います。詳細は、“検索結果の解析処理インタフェース”を参照してください。

 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
 以下のどちらかの値を指定します。
 res
 result情報のアドレスを格納するための、“LDAPMessage *”型のポインタ変数のアドレスを指定します。

復帰値

 この関数では、復帰値としてLDAPエラーコードを返します。LDAPエラーコードの値については、“メッセージ集”の“LDAPエラーコード”を参照してください。

 サーバから通知されたresult情報がある場合には、resパラメタで指定されたポインタ変数にresult情報のアドレスが設定されています。

注意事項


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

Copyright 2007 FUJITSU LIMITED