ページの先頭行へ戻る
Interstage Application Server リファレンスマニュアル(API編)
FUJITSU Software

1.21.11 処理結果の受取り/解析インタフェース

処理結果の受取り/判定

関数名

関数の説明

ldap_result()

非同期関数の処理結果や検索結果のエントリを受け取ります。

ldap_msgid()

指定されたメッセージのメッセージIDを参照します。

ldap_msgtype()

指定されたメッセージのタイプを参照します。


エラー情報の取得

関数名

関数の説明

ldap_parse_result()

指定されたresult情報のLDAPエラー情報を読み込みます。

ldap_err2string()

LDAPエラーコードを文字列に変換します。

ldapssl_error()

SSLライブラリのエラーコードを読み込みます。


メッセージリスト処理

関数名

関数の説明

ldap_first_message()

最初のメッセージのアドレスを返します。

ldap_next_message()

次のメッセージのアドレスを返します。
(前回読み込んだものに続くメッセージ)

ldap_count_messages()

メッセージリストに含まれるメッセージの個数をカウントします。


1.21.11.1 ldap_result()

名前

ldap_result

形式

#include "idldap.h"
int  ldap_result(
        LDAP  *ld,
        int  msgid,
        int  all,
        struct timeval  *timeout,
        LDAPMessage  **resp );

機能説明

この関数は、非同期関数の処理結果や検索結果のエントリを受け取ります。

取得したresult情報がどの非同期要求に対するものか判定する場合、ldap_msgid()でresult情報のメッセージIDを参照します。result情報には、対応する非同期要求のメッセージIDが付加されています。

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

パラメタ

ld

ldap_init()、またはldapssl_init()で通知された、セションハンドルを指定します。

msgid

非同期関数で通知されたメッセージIDを指定します。また、受け取る処理結果を特定しない場合には、LDAP_RES_ANYを指定します。LDAP_RES_ANYを指定した場合は、最初に受信したメッセージが通知されます。

all

処理結果のメッセージが複数ある場合の処理として、以下のどれか1つを指定します。

  • LDAP_MSG_ALL : 要求したmsgidパラメタに対応する処理結果メッセージをすべて受信した後で、呼出し元に復帰します。

  • LDAP_MSG_ONE : 要求したmsgidパラメタに対応する処理結果メッセージを1個受信するごとに、呼出し元へ復帰します。

  • LDAP_MSG_RECEIVED : 現在受信済の処理結果メッセージの中から、msgidパラメタで指定された条件に合うものを読み込んで呼出し元へ復帰します。
      

timeout

受信待ち時間を設定した領域のアドレスを指定します。timeval構造体のメンバには、以下の値を設定します。

  • tv_sec : タイマー値(秒単位)

  • tv_usec : タイマー値(マイクロ秒単位)

timeoutパラメタにNULLポインタを指定すると、結果を受け取るまで呼出し元に復帰しません。また、timeval構造体のtv_secパラメタ、およびtv_usecパラメタに0を設定した場合は、指定されたメッセージが到着しているかどうかを判定して、メッセージが到着していなかった場合には、すぐにタイムアウトで復帰します。

resp

LDAPMessage構造体のポインタ変数のアドレスを指定します。

復帰値

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

受信したメッセージが存在する場合は、respパラメタが示すポインタ変数に、メッセージリストの先頭アドレスが設定されます。
LDAPMessageの通知形式を以下に示します。

ldap_result()で通知されたメッセージリストは、メッセージリスト処理においてパラメタとして指定します。

注意事項

1.21.11.2 ldap_msgid()

名前

ldap_msgid

形式

#include "idldap.h"
int  ldap_msgid(
        LDAPMessage  *lm );

機能説明

この関数は、指定されたメッセージのメッセージIDを通知します。

パラメタ

lm

メッセージのアドレスを指定します。

復帰値

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

1.21.11.3 ldap_msgtype()

名前

ldap_msgtype

形式

#include "idldap.h"
int  ldap_msgtype(
        LDAPMessage  *lm );

機能説明

この関数は、指定されたメッセージのタイプを通知します。メッセージタイプの値については、ldap_result()の復帰値を参照してください。

パラメタ

lm

メッセージのアドレスを指定します。

復帰値

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

1.21.11.4 ldap_parse_result()

名前

ldap_parse_result

形式

#include "idldap.h"
int  ldap_parse_result(
        LDAP  *ld,
        LDAPMessage  *res,
        int  *errcodep,
        char  **matcheddnp,
        char  **errmsgp,
        char  ***referralsp,
        LDAPControl  ***serverctrlsp,
        int  freeit );

機能説明

この関数は、受信したresult情報内の各種情報を読み込みます。この関数は、LDAP_RES_SEARCH_ENTRY以外のresult情報に対して使用します。

パラメタ

ld

ldap_init()、またはldapssl_init()で通知された、セションハンドルを指定します。

res

result情報のアドレスを指定します。

errcodep

result情報に含まれるLDAPエラーコードを格納する、変数のアドレスを指定します。LDAPエラーコードを読み込まない場合は、このパラメタにNULLを指定します。

matcheddnp

一致した範囲を示すDNのアドレスを格納する、ポインタ変数のアドレスを指定します。一致した範囲を示すDNを読み込まない場合は、このパラメタにNULLを指定します。

errmsgp

詳細エラーメッセージのアドレスを格納する、変数のアドレスを指定します。詳細エラーメッセージを読み込まない場合は、このパラメタにNULLを指定します。

referralsp

Interstage ディレクトリサービスではリフェラルをサポートしないため、このパラメタにはNULLを指定します。

serverctrlsp

Interstage ディレクトリサービスではサーバコントロールをサポートしていないため、このパラメタにはNULLを指定します。

freeit

呼出し元に復帰する際に、resパラメタで指定したresult情報を解放するかどうかを指定します。

  • result情報を解放する場合 : 0以外を指定

  • result情報を解放しない場合 : 0を指定

復帰値

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

正常終了の場合は、パラメタで指定した変数に、以下の情報が設定されます。

注意事項

1.21.11.5 ldap_err2string()

名前

ldap_err2string

形式

#include "idldap.h"
char  *ldap_err2string(
        int  err );

機能説明

この関数は、指定されたLDAPエラーコードに対応するエラーメッセージの文字列を通知します。

パラメタ

err

LDAPエラーコードを指定します。LDAPエラーコードの値については、“メッセージ集”の“LDAPエラーコード”を参照してください。

復帰値

この関数は、指定されたLDAPエラーコードに対応するエラーメッセージのアドレスを、関数の復帰値として返します。未定義のLDAPエラーコードが指定された場合には、“Unknown error”が通知されます。

1.21.11.6 ldapssl_error()

名前

ldapssl_error

形式

#include "idldap.h"
char  *ldapssl_error(
      LDAP  *ld,
      int  *ssl_err,
      int  *ssl_err_detail );

機能説明

この関数は、SSL使用時にSSLライブラリで検出したエラーコードを獲得します。SSLエラーコードの値については、“メッセージ集”の“Interstage ディレクトリサービスから通知されるエラーコード”-“SSLエラーコード”を参照してください。

パラメタ

ld

ldapssl_init()で通知された、セションハンドルを指定します。

ssl_err

SSLエラーコードが設定される変数のアドレスを指定します。

ssl_err_detail

SSLエラー詳細コードが設定される変数のアドレスを指定します。

復帰値

ありません。

1.21.11.7 ldap_first_message()

名前

ldap_first_message

形式

#include "idldap.h"
LDAPMessage  *ldap_first_message(
        LDAP  *ld,
        LDAPMessage  *res );

機能説明

この関数は、ldap_result()、または同期型の検索処理で通知されたメッセージリスト内の、先頭のメッセージのアドレスを通知します。

ldap_first_message()で通知されたメッセージのアドレスは、以下の関数においてパラメタとして使用することができます。

パラメタ

ld

ldap_init()、またはldapssl_init()で通知された、セションハンドルを指定します。

res

ldap_result()、または同期型の検索処理で通知された、メッセージリストのアドレスを指定します。

復帰値

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

1.21.11.8 ldap_next_message()

名前

ldap_next_message

形式

#include "idldap.h"
LDAPMessage  *ldap_next_message(
        LDAP  *ld,
        LDAPMessage  *msg );

機能説明

この関数は、直前のldap_first_message()、またはldap_next_message()で通知されたメッセージの、次のメッセージのアドレスを通知します。

ldap_next_message()で通知されたメッセージのアドレスは、以下の関数においてパラメタとして使用することができます。

パラメタ

ld

ldap_init()、またはldapssl_init()で通知された、セションハンドルを指定します。

msg

直前のldap_first_message()、またはldap_next_message()で通知された、メッセージのアドレスを指定します。

復帰値

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

1.21.11.9 ldap_count_messages()

名前

ldap_count_messages

形式

#include "idldap.h"
int  ldap_count_messages(
        LDAP  *ld,
        LDAPMessage  *res );

機能説明

この関数は、メッセージリストに含まれるメッセージの個数をカウントします。

パラメタ

ld

ldap_init()、またはldapssl_init()で通知された、セションハンドルを指定します。

res

ldap_first_message()、またはldap_next_message()で通知された、メッセージのアドレスを指定します。ldap_next_message()で通知されたメッセージのアドレスが指定された場合、それ以降のメッセージの個数をカウントします。

復帰値

この関数は、復帰値としてメッセージの数を返します。なお、resパラメタにNULLが指定された場合は0を返します。