Interstage Application Server Smart Repository運用ガイド
目次 索引 前ページ次ページ

第5章 アプリケーションの作成(C API)> 5.2 C API仕様

5.2.1 セションのオープンとクローズ

セションのオープン/初期設定

関数名

関数の説明

ldap_init()

リポジトリサーバへのセションを初期化します。

ldapssl_init()

リポジトリサーバへのセションを初期化します。(SSL使用)

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

関数名

関数の説明

ldap_get_option()

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

ldap_set_option()

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

ldap_version()

ライブラリのバージョン情報を参照します。

セションのクローズ

関数名

関数の説明

ldap_unbind()

リポジトリサーバとのコネクションをクローズした後、セションを解放します。

ldap_unbind_s()

ldap_unbind()と同じ処理をします。

ldap_init

 この関数は、SSLを使用しない環境で、LDAPのセションをオープンします。
 これ以降に呼び出す関数は、ここで取得したセションハンドルをパラメタに指定します。セションハンドルは、そのセションをクローズするまで有効です。

 DNを使用した簡易認証を行う場合、認証はDNとパスワードを使用して行われます。なお、SSLを使用した通信を行う場合は、ldapssl_init()を使用してください。簡易認証については、“リポジトリサーバとのユーザ認証”を参照してください。

【指定形式】

#include "idldap.h"
LDAP  *ldap_init(
        char  *hostname,
        int  portno );

【パラメタの説明】

【復帰値】

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

 

ldapssl_init

 この関数は、SSLを使用する場合に、通常のldap_init()の代わりに使用します。
 この関数でセションをオープンした場合は、サーバとの通信を安全なものとすることができます。なお、この関数はスレッドアンセーフです。

 これ以降に呼び出す関数は、ここで取得したセションハンドルをパラメタに指定します。セションハンドルは、そのセションをクローズするまで有効です。

 SSLを使用した簡易認証を行う場合、認証はDN名とパスワードを使用して行われます。この場合、DN名による簡易認証とSSLによる安全な通信が可能になります。簡易認証については、“リポジトリサーバとのユーザ認証”を参照してください。

【指定形式】

#include "idldap.h"
LDAP  *ldapssl_init(
        char  *hostname,
        int  portno,
        SSLENV  *sslenv );

【パラメタの説明】

【SSLENV構造体のメンバの説明】

【復帰値】

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

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

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

オプションのタイプ

optdataの形式

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

set

get

LDAP_OPT_DESC
(ソケット識別子の参照)

int *

使用中のソケット識別子
 (設定不可)

×

LDAP_OPT_DEREF
(別名参照ルール)

int *

LDAP_DEREF_NEVER(初期値)
 別名を参照しません。

LDAP_DEREF_FINDING
 サーチベースを探す時のみ別名を参照します。
 (検索の際には別名を参照しません。)

LDAP_DEREF_SEARCHING
 検索時のみ別名を参照します。
 (サーチベースを探している時は、別名を参照しません。)

LDAP_DEREF_ALWAYS
 別名を参照します。

LDAP_OPT_SIZELIMIT
(リポジトリサーバが送信する最大エントリ数)(注1)

int *

LDAP_NO_LIMIT(初期値)
 リポジトリサーバが送信する最大エントリ数を制限しません。

受信可能なエントリ数
 指定された値が、サーバが送信する最大エントリ数となります。

LDAP_OPT_TIMELIMIT
(リポジトリサーバでの最大検索時間)(注1)

int *

LDAP_NO_LIMIT(初期値)
 リポジトリサーバでの検索時間を制限しません。

最大検索時間(秒単位)
 指定された値がサーバでの最大検索時間(秒単位)となります。

LDAP_OPT_RESTART
(割込み発生時の継続動作)

void *

LDAP_OPT_ON
 SIGNALによる割込みが発生した場合に、ライブラリ内部でリカバリを行います。

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

LDAP_OPT_PROTOCOL_VERSION
(使用するLDAPプロトコル)

int *

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

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

LDAP_OPT_SERVER_CONTROLS
(サーバコントロールの省略値)

LDAPControl ***

デフォルトのサーバコントロールの、ポインタ配列のアドレス

LDAP_OPT_HOST_NAME
(デフォルトのホスト名)

char **

リポジトリサーバのホスト名
 ここで指定された名前が、デフォルトのホスト名となります。

LDAP_OPT_ERROR_NUMBER
(LDAPエラーコードの読込み)

int *

最新のLDAPエラー番号
 (設定不可)

×

LDAP_OPT_ERROR_STRING
(LDAPエラーメッセージの読込み)

char **

最新のLDAPエラーメッセージのアドレス
 (設定不可)

×

LDAP_OPT_CONNTIME
(connect時のタイムアウトまでの最大待ち時間)

int *

LDAP_NO_LIMIT
 リポジトリサーバからの応答があるまで待ちます。

タイムアウトまでの待ち時間
 指定された値がconnectにおけるサーバからの応答の最大待ち時間(秒単位)となります。初期値は、connectのタイムアウトの時間に依存します。SSL使用時には、この設定は使用できません。

LDAP_OPT_WSINIT

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

int *

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

 set : ldap_set_option()
 get : ldap_get_option()
 ○ : 使用可
 × : 使用不可

注1)リポジトリにアクセスするDN(バインドDN)と、サーバ側の検索可能最大エントリ数、検索タイムアウト時間の設定値により、LDAP_OPT_SIZELIMITとLDAP_OPT_TIMELIMITの値が有効にならない場合があります。詳細は、“検索可能最大エントリ数、検索タイムアウト時間指定時の動作について”を参照してください。

注2)

 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,
        void  *optdata );

【パラメタの説明】

【復帰値】

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

 

ldap_get_option

 この関数は、セションハンドルオプションの設定値を読み込みます。使用可能なオプションの種類/設定値については、“セションハンドルオプション”を参照してください。

【指定形式】

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

【パラメタの説明】

【復帰値】

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

 

ldap_version

 この関数は、ライブラリのバージョン情報を読み込みます。

【指定形式】

#include "idldap.h"
int  ldap_version(
        LDAPVersion  *ver );

【パラメタの説明】

 LDAPVersion構造体のアドレスを指定します。

【復帰値】

 この関数は、復帰値としてライブラリのバージョンを返します。
 また、verオプションで指定された領域の各メンバには、以下の情報が設定されます。

ldap_unbind/ldap_unbind_s

 この関数は、リポジトリサーバとのコネクション解放とセションのクローズをします。ldap_unbind()とldap_unbind_s()は、どちらも同期型として処理を行い、機能的な違いはありません。

【指定形式】

#include "idldap.h"
int  ldap_unbind( LDAP  *ld );
int  ldap_unbind_s( LDAP  *ld );

【パラメタの説明】

【復帰値】

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


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005