ここでは、クライアント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秒未満の部分(マイクロ秒単位)