Interstage Application Server Smart Repository運用ガイド |
目次 索引 |
第5章 アプリケーションの作成(C API) | > 5.2 C API仕様 |
関数名 |
関数の説明 |
---|---|
指定された条件のエントリを検索します。 |
|
指定された条件のエントリを検索します。 |
|
指定された条件のエントリを検索します。 |
|
指定された条件のエントリを検索します。 |
|
指定された条件のエントリを検索します。 |
この関数は、非同期型のエントリ検索処理を行います。
非同期型検索の処理結果を受け取る場合、ldap_result()を使用します。この時、ldap_search()の復帰値として返されたメッセージIDを指定します。
詳細は、“処理結果の受取り/判定”を参照してください。
検索がどのように行われるかは、以下に示すセションハンドルオプションによって制御されます。
セションハンドルオプションについては、“セションハンドルオプションの設定/参照”を参照してください。
ldapssl_init()で獲得したセションハンドルを使用している場合、SSLライブラリで発生したエラーをldapssl_error()で参照することができます。
【指定形式】
#include "idldap.h" int ldap_search( LDAP *ld, char *base, int scope, char *filter, char **attrs, int attrsonly ); |
【パラメタの説明】
ldap_init()、またはldapssl_init()で通知された、セションハンドルを指定します。
サーチベースのDNのアドレスを指定します。サーチベースとは、検索開始位置のエントリです。
以下のどれか1つの値を指定します。
検索フィルタのアドレスを指定します。検索フィルタの文法については、“検索フィルタ”を参照してください。
例
(cn=User1) (o=Fujitsu*) (&(objectClass=person)(|(uid=0001)(cn=User*))) |
通知してほしい属性名のアドレスを設定した、ポインタ配列のアドレスを指定します。リポジトリサーバは、ポインタ配列で指定された属性だけをクライアントに通知します。以下の例では、“objectClass”と“commonName”だけが通知されます。
例
char *attrs[3] = { "objectClass", "commonName", NULL }; |
このパラメタにNULLを指定すると、検索でヒットしたエントリの利用可能な属性がすべて通知されます。また、ポインタ配列の最後には、NULLを設定しておく必要があります。
以下のどちらかの値を指定します。
【復帰値】
この関数は、復帰値として以下の値を返します。
異常完了の場合、以下の原因が考えられます。
この関数は、時間制限なしで同期型のエントリ検索処理を行います。
検索がどのように行われるかは、以下に示すセションハンドルオプションによって制御されます。
セションハンドルオプションについては、“セションハンドルオプションの設定/参照”を参照してください。
通知された検索結果の解析は、構文解析関数を使用して行います。詳細は、“検索結果の解析処理”を参照してください。
ldapssl_init()で獲得したセションハンドルを使用している場合、SSLライブラリで発生したエラーをldapssl_error()で参照することができます。
【指定形式】
#include "idldap.h" int ldap_search_s( LDAP *ld, char *base, int scope, char *filter, char **attrs, int attrsonly, LDAPMessage **res ); |
【パラメタの説明】
ldap_init()、またはldapssl_init()で通知された、セションハンドルを指定します。
サーチベースのDNのアドレスを指定します。サーチベースとは、検索開始位置のエントリです。
以下のどれか1つの値を指定します。
検索フィルタのアドレスを指定します。検索フィルタの文法については、“検索フィルタ”を参照してください。
例
(cn=User1) (o=Fujitsu*) (&(objectClass=person)(|(uid=0001)(cn=User*))) |
通知してほしい属性名のアドレスを設定した、ポインタ配列のアドレスを指定します。リポジトリサーバは、ポインタ配列で指定された属性だけをクライアントに通知します。以下の例では、“objectClass”と“commonName”だけが通知されます。
例
char *attrs[3] = { "objectClass", "commonName", NULL }; |
このパラメタにNULLを指定すると、検索でヒットしたエントリの利用可能な属性がすべて通知されます。また、ポインタ配列の最後には、NULLを設定しておく必要があります。
以下のどちらかの値を指定します。
result情報のアドレスを格納するための、“LDAPMessage *”型のポインタ変数のアドレスを指定します。このポインタ変数は、関数を呼び出す前に初期値としてNULLを設定しておく必要があります。
【復帰値】
この関数では、復帰値としてLDAPエラーコードを返します。LDAPエラーコードの値については、“LDAPエラーコード”を参照してください。
サーバから通知されたresult情報がある場合には、resパラメタで指定されたポインタ変数にresult情報のアドレスが設定されています。
resパラメタで通知されたresult情報と検索結果は、不要になった時点でldap_msgfree()を使用して解放しなければなりません。詳細は、“動的メモリの解放”を参照してください。
この関数は、時間制限付きで同期型のエントリ検索処理を行います。
検索がどのように行われるかは、以下に示すセションハンドルオプションによって制御されます。
セションハンドルオプションについては、“セションハンドルオプションの設定/参照”を参照してください。
通知された検索結果の解析は、構文解析関数を使用して行います。詳細は、“検索結果の解析処理”を参照してください。
ldapssl_init()で獲得したセションハンドルを使用している場合、SSLライブラリで発生したエラーをldapssl_error()で参照することができます。
【指定形式】
#include "idldap.h" int ldap_search_st( LDAP *ld, char *base, int scope, char *filter, char **attrs, int attrsonly, struct timeval *timeout, LDAPMessage **res ); |
【パラメタの説明】
ldap_init()、またはldapssl_init()で通知された、セションハンドルを指定します。
サーチベースのDNのアドレスを指定します。サーチベースとは、検索開始位置のエントリです。
以下のどれか1つの値を指定します。
検索フィルタのアドレスを指定します。検索フィルタの文法については、“検索フィルタ”を参照してください。
例
(cn=User1) (o=Fujitsu*) (&(objectClass=person)(|(uid=0001)(cn=User*))) |
通知してほしい属性名のアドレスを設定した、ポインタ配列のアドレスを指定します。リポジトリサーバは、ポインタ配列で指定された属性だけをクライアントに通知します。以下の例では、“objectClass”と“commonName”だけが通知されます。
例
char *attrs[3] = { "objectClass", "commonName", NULL }; |
このパラメタにNULLを指定すると、検索でヒットしたエントリの利用可能な属性がすべて通知されます。また、ポインタ配列の最後には、NULLを設定しておく必要があります。
以下のどちらかの値を指定します。
検索のローカルタイムアウト値を設定した、timeval構造体のアドレスを指定します。
timeval構造体のメンバには、以下の値を設定します。
timeoutパラメタにNULLポインタを指定すると、結果を受け取るまで呼出し元に復帰しません。この値は、クライアントでリポジトリサーバからの検索結果を受信するための最大待ち時間として使用されます。
result情報のアドレスを格納するための、“LDAPMessage *”型のポインタ変数のアドレスを指定します。このポインタ変数は、関数を呼び出す前に初期値としてNULLを設定しておく必要があります。
【復帰値】
この関数では、復帰値としてLDAPエラーコードを返します。LDAPエラーコードの値については、“LDAPエラーコード”を参照してください。
サーバから通知されたresult情報がある場合には、resパラメタで指定されたポインタ変数にresult情報のアドレスが設定されています。
resパラメタで通知されたresult情報と検索結果は、不要になった時点でldap_msgfree()を使用して解放しなければなりません。詳細は、“動的メモリの解放”を参照してください。
この関数は、非同期型のエントリ検索処理を行います。
非同期型検索の処理結果を受け取る場合、ldap_result()を使用します。この時、ldap_search_ext()の復帰値として返されたメッセージIDを指定します。詳細は、“処理結果の受取り/判定”を参照してください。
検索がどのように行われるかは、以下に示すセションハンドルオプションによって制御されます。
セションハンドルオプションについては、“セションハンドルオプションの設定/参照”を参照してください。
ldapssl_init()で獲得したセションハンドルを使用している場合、SSLライブラリで発生したエラーをldapssl_error()で参照することができます。
【指定形式】
#include "idldap.h" int ldap_search_ext( LDAP *ld, char *base, int scope, char *filter, char **attrs, int attrsonly, LDAPControl **serverctrls, LDAPControl **clientctrls, struct timeval *timeout, int sizelimit, int *msgidp ); |
【パラメタの説明】
ldap_init()、またはldapssl_init()で通知された、セションハンドルを指定します。
サーチベースのDNのアドレスを指定します。サーチベースとは、検索開始位置のエントリです。
以下のどれか1つの値を指定します。
検索フィルタのアドレスを指定します。検索フィルタの文法については、“検索フィルタ”を参照してください。
例
(cn=User1) (o=Fujitsu*) (&(objectClass=person)(|(uid=0001)(cn=User*))) |
通知してほしい属性名のアドレスを設定した、ポインタ配列のアドレスを指定します。リポジトリサーバは、ポインタ配列で指定された属性だけをクライアントに通知します。以下の例では、“objectClass”と“commonName”だけが通知されます。
例
char *attrs[3] = { "objectClass", "commonName", NULL }; |
このパラメタにNULLを指定すると、検索でヒットしたエントリの利用可能な属性がすべて通知されます。また、ポインタ配列の最後には、NULLを設定しておく必要があります。
以下のどちらかの値を指定します。
Smart Repositoryではサーバコントロールをサポートしていないため、このパラメタにはNULLを指定します。
本ライブラリではクライアントコントロールをサポートしていないため、このパラメタにはNULLを指定します。
サーバにおける検索のタイムアウト値を設定したtimeval構造体のアドレスを指定します。
timeval構造体のメンバには、以下の値を設定します。
timeoutパラメタにNULLポインタを指定すると、LDAP_OPT_TIMELIMITで設定された制限時間を使用します。この値は、リポジトリサーバでの最大検索時間として使用されます。
受信可能な最大エントリ数を指定します。sizelimitパラメタに0を指定すると、LDAP_OPT_SIZELIMITで設定された最大エントリ数を使用します。
メッセージIDを格納するための変数のアドレスを指定します。
【復帰値】
この関数では、復帰値としてLDAPエラーコードを返します。LDAPエラーコードの値については、“LDAPエラーコード”を参照してください。
正常完了の場合、msgidpが示す変数にメッセージIDが設定されます。
この関数は、同期型のエントリ検索処理をします。
検索がどのように行われるかは、以下に示すセションハンドルオプションによって制御されます。
セションハンドルオプションについては、“セションハンドルオプションの設定/参照”を参照してください。
通知された検索結果の解析は、構文解析関数を使用して行います。詳細は、“処理結果の受取り/判定”を参照してください。
ldapssl_init()で獲得したセションハンドルを使用している場合、SSLライブラリで発生したエラーをldapssl_error()で参照することができます。
【指定形式】
#include "idldap.h" int ldap_search_ext_s( LDAP *ld, char *base, int scope, char *filter, char **attrs, int attrsonly, LDAPControl **serverctrls, LDAPControl **clientctrls, struct timeval *timeout, int sizelimit, LDAPMessage **res ); |
【パラメタの説明】
ldap_init()、またはldapssl_init()で通知された、セションハンドルを指定します。
サーチベースのDNのアドレスを指定します。サーチベースとは、検索開始位置のエントリです。
以下のどれか1つの値を指定します。
検索フィルタのアドレスを指定します。検索フィルタの文法については、“検索フィルタ”を参照してください。
例
(cn=User1) (o=Fujitsu*) (&(objectClass=person)(|(uid=0001)(cn=User*))) |
通知してほしい属性名のアドレスを設定した、ポインタ配列のアドレスを指定します。リポジトリサーバは、ポインタ配列で指定された属性だけをクライアントに通知します。以下の例では、“objectClass”と“commonName”だけが通知されます。
例
char *attrs[3] = { "objectClass", "commonName", NULL }; |
このパラメタにNULLを指定すると、検索でヒットしたエントリの利用可能な属性がすべて通知されます。また、ポインタ配列の最後には、NULLを設定しておく必要があります。
以下のどちらかの値を指定します。
Smart Repositoryではサーバコントロールをサポートしていないため、このパラメタにはNULLを指定します。
本ライブラリではクライアントコントロールをサポートしていないため、このパラメタにはNULLを指定します。
サーバにおける検索のタイムアウト値を設定した、timeval構造体のアドレスを指定します。
timeval構造体のメンバには、以下の値を設定します。
timeoutパラメタにNULLポインタを指定すると、LDAP_OPT_TIMELIMITで設定された制限時間を使用します。この値は、リポジトリサーバでの最大検索時間として使用されます。
受信可能な最大エントリ数を指定します。sizelimitパラメタに0を指定すると、LDAP_OPT_SIZELIMITで設定された最大エントリ数を使用します。
result情報のアドレスを格納するための “LDAPMessage *”型のポインタ変数のアドレスを指定します。このポインタ変数は、関数を呼び出す前に初期値としてNULLを設定しておく必要があります。
【復帰値】
この関数では、復帰値としてLDAPエラーコードを返します。LDAPエラーコードの値については、“LDAPエラーコード”を参照してください。
サーバから通知されたresult情報がある場合には、resパラメタで指定されたポインタ変数にresult情報のアドレスが設定されています。
resパラメタで通知されたresult情報と検索結果は、不要になった時点でldap_msgfree()を使用して解放しなければなりません。詳細は、“動的メモリの解放”を参照してください。
目次 索引 |