ここでは、クライアントAPI関数を呼び出す際に使用する構造体について説明します。
名前
berval
形式
struct berval { unsigned long bv_len; char *bv_val; };
使用方法
この構造体は、文字列やバイナリデータを指定する場合に使用します。
メンバ
文字列、またはバイナリデータのサイズ
文字列、またはバイナリデータのアドレス
名前
LDAPAPIInfo
形式
typedef struct ldapapiinfo { int ldapai_info_version; int ldapai_api_version; int ldapai_protocol_version; char **ldapai_extensions; char *ldapai_vendor_name; int ldapai_vendor_version; } LDAPAPIInfo;
使用方法
この構造体は、ldap_get_option()でライブラリのバージョンを読み込んだ場合に通知されます。
メンバ
本構造体のバージョン情報
LDAP-APIのバージョン情報
使用できる最も新しいLDAPプロトコルのバージョン
未使用(本ライブラリでは通知されません)
提供元ベンダ名のアドレス
本ライブラリのバージョン
名前
LDAPMod
形式
typedef struct ldapmod { int mod_op; char *mod_type; union { char **modv_strvals; struct berval **modv_bvals; } mod_vals; #define mod_values mod_vals.modv_strvals #define mod_bvalues mod_vals.modv_bvals } LDAPMod;
使用方法
この構造体は、エントリの追加/変更において、属性名と属性値の集合を指定する場合に使用します。
メンバ
操作、および属性値の種類
属性名のアドレス
属性値のポインタ配列のアドレス(共用体)
属性値が文字列データの場合に使用
属性値がバイナリデータの場合に使用
名前
LDAPVersion
形式
typedef struct _LDAPVersion { int sdk_version; int protocol_version; int SSL_version; int security_level; char *sdk_vendor; int reserved[3]; } LDAPVersion;
使用方法
この構造体は、ldap_version()でライブラリのバージョン情報を読み込んだ場合に通知されます。
メンバ
ライブラリのバージョン
使用できる最も新しいLDAPプロトコルのバージョン
使用できる最も新しいSSLプロトコルのバージョン。
未使用域(将来使用するために保持している領域です)
提供元ベンダ名のアドレス
未使用域(将来使用するために保持している領域です)
名前
SSLENV
形式
typedef struct sslenv { int ssl_version; int ssl_verify; char *crypt; char *slot_path; char *tkn_lbl; char *tkn_pwd; unsigned char *cert_path; char *crl_path; unsigned char *user_cert; int ssl_err; int ssl_err_detail; int ssl_timer; unsigned char ssl_err_funcinfo; char *reserve[15]; } SSLENV;
使用方法
この構造体は、SSLを使用する場合に、SSLの動作環境を指定するために使用します。
メンバ
使用するSSLプロトコルのバージョン
証明書の検証方法
使用する暗号化アルゴリズムの種類
スロット情報ディレクトリのアドレス
トークンラベルのアドレス
ユーザPINのアドレス
運用管理ディレクトリのアドレス
CRL管理ディレクトリのアドレス(本バージョンでは使用しません)
ユーザ証明書ニックネームのアドレス
SSLエラーコード
SSLエラー詳細コード
SSLのタイマー値
SSLライブラリ関数コード
未使用域(将来使用するために保持している領域です)
名前
timeval
形式
struct timeval { long tv_sec; long tv_usec; };
使用方法
この構造体は、タイマー値を指定する場合に使用します。
メンバ
指定する時間の1秒以上の部分(秒単位)
指定する時間の1秒未満の部分(マイクロ秒単位)