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

1.20.2 セションハンドルオプションの設定/参照インタフェース

セションハンドルオプションの設定/参照

関数名

関数の説明

ldap_get_option()

セションハンドルオプションの設定値を参照します。

ldap_set_option()

セションハンドルオプションを設定します。

セションハンドルオプション

  クライアントAPIライブラリでは、セションごとの動作環境を、セションハンドルオプションとして設定/参照することができます。
  使用できるセションハンドルオプションを、以下に示します。

オプションのタイプ

オプションの値

optdataが示す領域の値 (値の意味)

optdataの形式

set

get

LDAP_OPT_API_INFO

0x00

APIのバージョン情報を参照します。

不可

LDAPAPIInfo *(注1)

LDAP_OPT_DESC

0x01

使用中のソケット識別子を参照します。本インタフェースは推奨されません。Bind処理前は-1が設定されています。

不可

int *

LDAP_OPT_SIZELIMIT
(注2)

0x03

リポジトリサーバが送信する最大エントリ数です。LDAP_NO_LIMITは、最大エントリ数を制限しないことを意味します。初期値は、LDAP_NO_LIMITです。

int *

int *

LDAP_OPT_TIMELIMIT
(注2)

0x04

リポジトリサーバでの最大検索時間(秒単位)です。LDAP_NO_LIMITは、リポジトリサーバでの検索時間を制限しないことを意味します。初期値は、LDAP_NO_LIMITです。

int *

int *

LDAP_OPT_REFERRALS

0x08

リフェラルの自動追跡です。

  • LDAP_OPT_ON (初期値)
      リフェラルの自動追跡を行います。

  • LDAP_OPT_OFF
      リフェラルの自動追跡を行いません。

void *

int *

LDAP_OPT_RESTART

0x09

割込み発生時の継続動作です。以下の値があります。

  • LDAP_OPT_OFF (初期値)
      シグナルによる割込みが発生した場合に、ライブラリ内部でリカバリをしません。
      (呼出し元にはエラーで復帰します。)

  • LDAP_OPT_ON
      シグナルによる割込みが発生した場合に、ライブラリ内部でリカバリをします。

void *

int *

LDAP_OPT_PROTOCOL_VERSION

0x11

使用するLDAPプロトコルです。以下の値があります。

  • LDAP_VERSION2 (初期値)
      LDAP V2プロトコルを使用します。

  • LDAP_VERSION3
      LDAP V3プロトコルを使用します。

int *

int *

LDAP_OPT_HOST_NAME

0x30

リポジトリサーバのホスト名です。ここで指定された名前が、デフォルトのホスト名となります。以下のどちらかの形式で指定/参照します。

  • "ホスト名"

  • "ホスト名:ポート番号"
    IPv6アドレスを指定する場合は、
    "[ホスト名]:ポート番号"

なお、"ホスト名"の形式で指定しても、"ホスト名:ポート番号"で設定されます。

char *

char **
(注4)

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 **
(注4)

LDAP_OPT_CONNTIME
(注3)

0x50

connect時のタイムアウトまでの待ち時間です。指定された値がconnectにおけるサーバからの応答の最大待ち時間(秒単位)となります。

  • -1(初期値)
    タイムアウトの時間はOSの初期値に依存します。

  • LDAP_NO_LIMIT(0)
    待ち合わせをしません。

  • 正の値
    指定された時間の待ち合わせをします。

このインタフェースは推奨されません。互換性の維持のために残されています。今後は、LDAP_OPT_NETWORK_TIMEOUTを使用してください。

int *

int *

LDAP_OPT_NETWORK_TIMEOUT

0x5005

connect時のタイムアウトまでの待ち時間です。指定された値がconnectにおけるサーバからの応答の最大待ち時間(秒単位)となります。

  • NULL(初期値)
    タイムアウト時間は、OSの初期値に依存します。

  • struct timeval構造体
    指定された時間の待ち合わせをします。

struct timeval *

struct timeval **
(注4)

LDAP_OPT_WSINIT

0x51

Windows Sockets DLLの初期化、および終了処理の実施です。(注5)

  • LDAP_NO_WSINIT
    LDAP-APIでのWindows Sockets DLLの初期化、および終了処理をしないようにします。初期設定は、初期化、および終了処理をします。

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を設定する必要があります。

1.20.2.1 ldap_set_option()

名前

  ldap_set_option

形式

  #include "idldap.h"
  int  ldap_set_option(
          LDAP  *ld,
          int  option,
          const void  *optdata );

機能説明

  この関数は、セションハンドルオプションの値を設定します。

パラメタ

  ld

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

  option

  設定するオプションの種類を指定します。使用できるオプションの種類/設定値については、“セションハンドルオプション”を参照してください。

  optdata

  オプションの設定値を格納した領域のアドレスを指定します。

復帰値

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

1.20.2.2 ldap_get_option()

名前

  ldap_get_option

形式

  #include "idldap.h"
  int  ldap_get_option(
          LDAP  *ld,
          int  option,
          void  *optdata );

機能説明

  この関数は、セションハンドルオプションの設定値を読み込みます。

パラメタ

  ld

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

  option

  参照するオプションの種類を指定します。使用できるオプションの種類/設定値については、“セションハンドルオプション”を参照してください。

  optdata

  読み込んだオプションの値を格納する領域のアドレスを指定します。

復帰値

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