セションハンドルオプションの設定/参照
関数名 | 関数の説明 |
---|---|
セションハンドルオプションの設定値を参照します。 | |
セションハンドルオプションを設定します。 |
セションハンドルオプション
クライアントAPIライブラリでは、セションごとの動作環境を、セションハンドルオプションとして設定/参照することができます。
使用できるセションハンドルオプションを、以下に示します。
オプションのタイプ | オプションの値 | optdataが示す領域の値 (値の意味) | optdataの形式 | |
---|---|---|---|---|
set | get | |||
LDAP_OPT_API_INFO | 0x00 | APIのバージョン情報を参照します。 | 不可 | LDAPAPIInfo *(注1) |
LDAP_OPT_DESC | 0x01 | 使用中のソケット識別子を参照します。本インタフェースは推奨されません。Bind処理前は-1が設定されています。 | 不可 | int * |
LDAP_OPT_SIZELIMIT | 0x03 | リポジトリサーバが送信する最大エントリ数です。LDAP_NO_LIMITは、最大エントリ数を制限しないことを意味します。初期値は、LDAP_NO_LIMITです。 | int * | int * |
LDAP_OPT_TIMELIMIT | 0x04 | リポジトリサーバでの最大検索時間(秒単位)です。LDAP_NO_LIMITは、リポジトリサーバでの検索時間を制限しないことを意味します。初期値は、LDAP_NO_LIMITです。 | int * | int * |
LDAP_OPT_REFERRALS | 0x08 | リフェラルの自動追跡です。
| void * | int * |
LDAP_OPT_RESTART | 0x09 | 割込み発生時の継続動作です。以下の値があります。
| void * | int * |
LDAP_OPT_PROTOCOL_VERSION | 0x11 | 使用するLDAPプロトコルです。以下の値があります。
| int * | int * |
LDAP_OPT_HOST_NAME | 0x30 | リポジトリサーバのホスト名です。ここで指定された名前が、デフォルトのホスト名となります。以下のどちらかの形式で指定/参照します。
なお、"ホスト名"の形式で指定しても、"ホスト名:ポート番号"で設定されます。 | char * | char ** |
LDAP_OPT_RESULT_CODE | 0x31 | 最新のLDAPエラー番号です。 | int * | int * |
LDAP_OPT_ERROR_NUMBER | 0x31 | 最新のLDAPエラー番号です。 このインタフェースは推奨されません。互換性の維持のために残されています。今後は、LDAP_OPT_RESULT_CODEを使用してください。 | int * | int * |
LDAP_OPT_ERROR_STRING | 0x32 | 最新のLDAPエラーメッセージのアドレスです。 | char * | char ** |
LDAP_OPT_CONNTIME | 0x50 | connect時のタイムアウトまでの待ち時間です。指定された値がconnectにおけるサーバからの応答の最大待ち時間(秒単位)となります。
このインタフェースは推奨されません。互換性の維持のために残されています。今後は、LDAP_OPT_NETWORK_TIMEOUTを使用してください。 | int * | int * |
LDAP_OPT_NETWORK_TIMEOUT | 0x5005 | connect時のタイムアウトまでの待ち時間です。指定された値がconnectにおけるサーバからの応答の最大待ち時間(秒単位)となります。
| struct timeval * | struct timeval ** |
LDAP_OPT_WSINIT | 0x51 | Windows Sockets DLLの初期化、および終了処理の実施です。(注5)
| int * | int * |
set : ldap_set_option()
get : ldap_get_option()
注1)事前に、LDAPAPIInfo構造体のldapai_info_versionに、LDAP_API_INFO_VERSIONを設定してください。LDAPAPIInfo構造体のldapai_vendor_nameの領域をldap_memfree()を使用して解放する必要があります。
注2)クライアントからアクセスするDN(バインドDN)と、サーバ側の検索可能最大エントリ数、検索タイムアウト時間の設定値により、LDAP_OPT_SIZELIMITとLDAP_OPT_TIMELIMITの値が有効にならない場合があります。詳細は、“1.20.4 エントリの検索インタフェース”を参照してください。
注3)本オプションはLDAP_OPT_NETWORK_TIMEOUTと値を共有します。
注4)ldap_memfree()で領域を解放する必要があります。
注5)
LDAP C APIは、Windows Sockets DLL を利用してTCP/IPプロトコルで通信をします。Windows Sockets DLLの初期化(WSAStartup())、および終了処理(WSACleanup())はLDAP C API内でするため、ユーザアプリケーション側では初期化処理は必要ありません。
しかし、ユーザアプリケーション側でWindows Sockets DLLの初期化/終了処理をする場合は、LDAP C API側で初期化/終了処理を実行しないように、セションハンドルオプションLDAP_OPT_WSINITを設定する必要があります。
名前
ldap_set_option
形式
#include "idldap.h" int ldap_set_option( LDAP *ld, int option, const void *optdata );
機能説明
この関数は、セションハンドルオプションの値を設定します。
パラメタ
ldap_init()、またはldapssl_init()で通知された、セションハンドルを指定します。
設定するオプションの種類を指定します。使用できるオプションの種類/設定値については、“セションハンドルオプション”を参照してください。
オプションの設定値を格納した領域のアドレスを指定します。
復帰値
この関数では、復帰値として以下を返します。
正常終了の場合 : 0
異常終了の場合 : -1
異常終了の場合、以下の原因が考えられます。
パラメタの指定に誤りがあります。
使用できるメモリが不足しています。
名前
ldap_get_option
形式
#include "idldap.h" int ldap_get_option( LDAP *ld, int option, void *optdata );
機能説明
この関数は、セションハンドルオプションの設定値を読み込みます。
パラメタ
ldap_init()、またはldapssl_init()で通知された、セションハンドルを指定します。
参照するオプションの種類を指定します。使用できるオプションの種類/設定値については、“セションハンドルオプション”を参照してください。
読み込んだオプションの値を格納する領域のアドレスを指定します。
復帰値
この関数では、復帰値として以下を返します。
正常終了の場合 : 0
正常終了の場合、optdataパラメタで指定された領域に、読み込んだパラメタの設定値が格納されます。
異常終了の場合 : -1
異常終了の場合、以下の原因が考えられます。
パラメタの指定に誤りがあります。
使用できるメモリが不足しています。