Interstage Application Server Smart Repository運用ガイド |
目次 索引 |
第5章 アプリケーションの作成(C API) | > 5.2 C API仕様 |
関数名 |
関数の説明 |
---|---|
非同期関数の処理結果や検索結果のエントリを受け取ります。 |
|
指定されたメッセージのメッセージIDを参照します。 |
|
指定されたメッセージのタイプを参照します。 |
関数名 |
関数の説明 |
---|---|
指定されたresult情報のLDAPエラー情報を読み込みます。 |
|
LDAPエラーコードを文字列に変換します。 |
|
SSLライブラリのエラーコードを読み込みます。 |
関数名 |
関数の説明 |
---|---|
最初のメッセージのアドレスを返します。 |
|
次のメッセージのアドレスを返します。 |
|
メッセージリストに含まれるメッセージの個数をカウントします。 |
この関数は、非同期関数の処理結果や検索結果のエントリを受け取ります。
取得したresult情報がどの非同期要求に対するものか判定する場合、ldap_msgid()でresult情報のメッセージIDを参照します。result情報には、対応する非同期要求のメッセージIDが付加されています。
ldapssl_init()で獲得したセションハンドルを使用している場合、SSLライブラリで発生したエラーをldapssl_error()で参照することができます。
【指定形式】
#include "idldap.h" int ldap_result( LDAP *ld, int msgid, int all, struct timeval *timeout, LDAPMessage **resp ); |
【パラメタの説明】
ldap_init()、またはldapssl_init()で通知された、セションハンドルを指定します。
非同期関数で通知されたメッセージIDを指定します。また、受け取る処理結果を特定しない場合には、LDAP_RES_ANYを指定します。LDAP_RES_ANYを指定した場合は、最初に受信したメッセージが通知されます。
処理結果のメッセージが複数ある場合の処理として、以下のどれか1つを指定します。
受信待ち時間を設定した領域のアドレスを指定します。timeval構造体のメンバには、以下の値を設定します。
timeoutパラメタにNULLポインタを指定すると、結果を受け取るまで呼出し元に復帰しません。また、timeval構造体のtv_secパラメタ、およびtv_usecパラメタに0を設定した場合は、指定されたメッセージが到着しているかどうかの判定を行い、メッセージが到着していなかった場合には、すぐにタイムアウトで復帰します。この受信待ち時間は、本ライブラリでのselectに使用される時間になります。
LDAPMessage構造体のポインタ変数のアドレスを指定します。respパラメタが示すポインタ変数は、NULLで初期化しておく必要があります。
この関数は、復帰値として以下に示す値を返します。
異常完了の場合、以下の原因が考えられます。
正常完了の場合に通知されるメッセージのタイプを、以下に示します。
メッセージタイプ |
説明 |
---|---|
LDAP_RES_BIND |
リポジトリサーバとのユーザ認証(BIND)に対するresult情報です。 |
LDAP_RES_SEARCH_RESULT |
エントリの検索(SEARCH)に対するresult情報です。 |
LDAP_RES_MODIFY |
エントリの変更(MODIFY)に対するresult情報です。 |
LDAP_RES_ADD |
エントリの追加(ADD)に対するresult情報です。 |
LDAP_RES_DELETE |
エントリの削除(DELETE)に対するresult情報です。 |
LDAP_RES_MODDN |
エントリ名の変更(MODDN)に対するresult情報です。 |
LDAP_RES_COMPARE |
属性値の比較(COMPARE)に対するresult情報です。 |
LDAP_RES_SEARCH_ENTRY |
エントリの検索(SEARCH)でヒットしたエントリを表しています。 |
受信したメッセージが存在する場合は、respパラメタが示すポインタ変数に、メッセージリストの先頭アドレスが設定されます。
LDAPMessageの通知形式を以下に示します。
ldap_result()で通知されたメッセージリストは、メッセージリスト処理においてパラメタとして指定します。
ldap_result()で通知されたメッセージリストは、不要になった時点でldap_msgfree()を使用して解放しなければなりません。詳細は、“動的メモリの解放”を参照してください。
この関数は、指定されたメッセージのメッセージIDを通知します。
【指定形式】
#include "idldap.h" int ldap_msgid( LDAPMessage *lm ); |
【パラメタの説明】
メッセージのアドレスを指定します。
【復帰値】
この関数は、復帰値として以下に示す値を返します。
異常完了の場合、以下の原因が考えられます。
この関数は、指定されたメッセージのタイプを通知します。メッセージタイプの値については、ldap_result()の復帰値を参照してください。
【指定形式】
#include "idldap.h" int ldap_msgtype( LDAPMessage *lm ); |
【パラメタの説明】
メッセージのアドレスを指定します。
【復帰値】
この関数は、復帰値として以下に示す値を返します。
異常完了の場合、以下の原因が考えられます。
この関数は、受信したresult情報内の各種情報を読み込みます。この関数は、LDAP_RES_SEARCH_ENTRY以外のresult情報に対して使用します。
【指定形式】
#include "idldap.h" int ldap_parse_result( LDAP *ld, LDAPMessage *res, int *errcodep, char **matcheddnp, char **errmsgp, char ***referralsp, LDAPControl ***serverctrlsp, int freeit ); |
【パラメタの説明】
ldap_init()、またはldapssl_init()で通知された、セションハンドルを指定します。
result情報のアドレスを指定します。
result情報に含まれるLDAPエラーコードを格納する、変数のアドレスを指定します。このパラメタが示す変数は、0で初期化しておく必要があります。LDAPエラーコードを読み込まない場合は、このパラメタにNULLを指定します。
一致した範囲を示すDNのアドレスを格納する、ポインタ変数のアドレスを指定します。このパラメタが示す変数は、NULLで初期化しておく必要があります。一致した範囲を示すDNを読み込まない場合は、このパラメタにNULLを指定します。
詳細エラーメッセージのアドレスを格納する、変数のアドレスを指定します。このパラメタが示す変数は、NULLで初期化しておく必要があります。詳細エラーメッセージを読み込まない場合は、このパラメタにNULLを指定します。
Smart Repositoryではリフェラルをサポートしないため、このパラメタにはNULLを指定します。
Smart Repositoryではサーバコントロールをサポートしていないため、このパラメタにはNULLを指定します。
呼出し元に復帰する際に、resパラメタで指定したresult情報を解放するかどうかを指定します。
【復帰値】
この関数では、復帰値としてLDAPエラーコードを返します。LDAPエラーコードの値については、“LDAPエラーコード”を参照してください。
正常完了の場合は、パラメタで指定した変数に、以下の情報が設定されます。
LDAPエラーコードが設定されます。
適合したDNの範囲を示す文字列のアドレスが設定されます。この文字列は、LDAPエラーコードがLDAP_NO_SUCH_OBJECTの場合に通知されます。この領域は不要になった時点でldap_memfree()を使用し解放しなければなりません。
指定されたresult情報内の、詳細エラーメッセージのアドレスが設定されます。この領域は不要になった時点でldap_memfree()を使用し解放しなければなりません。
ldap_parse_result()を呼び出す際に、freeitパラメタに0以外の値を指定した場合、ライブラリ内部でldap_msgfree()使用してresult情報を解放します。このため、これ以降は、result情報にアクセスできなくなります。ldap_parse_result()を呼び出す際に、freeitパラメタに0を指定した場合には、不要になった時点で、呼出し元がldap_msgfree()使用してresult情報を解放しなければなりません。
この関数は、指定されたLDAPエラーコードに対応するエラーメッセージの文字列を通知します。
【指定形式】
#include "idldap.h" char *ldap_err2string( int err ); |
【パラメタの説明】
LDAPエラーコードを指定します。LDAPエラーコードの値については、“LDAPエラーコード”を参照してください。
【復帰値】
この関数は、指定されたLDAPエラーコードに対応するエラーメッセージのアドレスを、関数の復帰値として返します。未定義のLDAPエラーコードが指定された場合には、“Unknown error”が通知されます。
この関数は、SSL使用時にSSLライブラリで検出したエラーコードを獲得します。SSLエラーコードの値については、“SSLエラーコード”を参照してください。
【指定形式】
#include "idldap.h" void ldapssl_error( LDAP *ld, int *ssl_err, int *ssl_err_detail ); |
【パラメタの説明】
ldapssl_init()で通知された、セションハンドルを指定します。
SSLエラーコードが設定される変数のアドレスを指定します。
SSLエラー詳細コードが設定される変数のアドレスを指定します。
【復帰値】
なし
この関数は、ldap_result()、または同期型の検索処理で通知されたメッセージリスト内の、先頭のメッセージのアドレスを通知します。
ldap_first_message()で通知されたメッセージのアドレスは、以下の関数においてパラメタとして使用することができます。
【指定形式】
#include "idldap.h" LDAPMessage *ldap_first_message( LDAP *ld, LDAPMessage *res ); |
【パラメタの説明】
ldap_init()、またはldapssl_init()で通知された、セションハンドルを指定します。
ldap_result()、または同期型の検索処理で通知された、メッセージリストのアドレスを指定します。
【復帰値】
この関数は、復帰値として以下の値を返します。
異常完了の場合、以下の原因が考えられます。
この関数は、直前のldap_first_message()、またはldap_next_message()で通知されたメッセージの、次のメッセージのアドレスを通知します。
ldap_next_message()で通知されたメッセージのアドレスは、以下の関数においてパラメタとして使用することができます。
【指定形式】
#include "idldap.h" LDAPMessage *ldap_next_message( LDAP *ld, LDAPMessage *msg ); |
【パラメタの説明】
ldap_init()、またはldapssl_init()で通知された、セションハンドルを指定します。
直前のldap_first_message()、またはldap_next_message()で通知された、メッセージのアドレスを指定します。
【復帰値】
この関数は、復帰値として以下の値を返します。
異常完了の場合、以下の原因が考えられます。
なお、次のメッセージがない場合にも、復帰値としてNULLを返します。
この関数は、メッセージリストに含まれるメッセージの個数をカウントします。
【指定形式】
#include "idldap.h" int ldap_count_messages( LDAP *ld, LDAPMessage *res ); |
【パラメタの説明】
ldap_init()、またはldapssl_init()で通知された、セションハンドルを指定します。
ldap_first_message()、またはldap_next_message()で通知された、メッセージのアドレスを指定します。ldap_next_message()で通知されたメッセージのアドレスが指定された場合、それ以降のメッセージの個数をカウントします。
【復帰値】
この関数は、復帰値としてメッセージの数を返します。なお、resパラメタにNULLが指定された場合は0を返します。
目次 索引 |