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

1.21.16 構造体の構成

ここでは、クライアントAPI関数を呼び出す際に使用する構造体について説明します。

1.21.16.1 berval構造体

名前

berval

形式

struct berval {
        unsigned long bv_len;
        char         *bv_val;
};

使用方法

この構造体は、文字列やバイナリデータを指定する場合に使用します。

メンバ

bv_len

文字列、またはバイナリデータのサイズ

bv_val

文字列、またはバイナリデータのアドレス

1.21.16.2 LDAPAPIInfo構造体

名前

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()でライブラリのバージョンを読み込んだ場合に通知されます。

メンバ

ldapai_info_version

本構造体のバージョン情報

ldapai_api_version

LDAP-APIのバージョン情報

ldapai_protocol_version

使用できる最も新しいLDAPプロトコルのバージョン

ldapai_extensions

未使用(本ライブラリでは通知されません)

ldapai_vendor_name

提供元ベンダ名のアドレス

ldapai_vendor_version

本ライブラリのバージョン

1.21.16.3 LDAPMod構造体

名前

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;

使用方法

この構造体は、エントリの追加/変更において、属性名と属性値の集合を指定する場合に使用します。

メンバ

mod_op

操作、および属性値の種類

mod_type

属性名のアドレス

mod_vals

属性値のポインタ配列のアドレス(共用体)

mod_values

属性値が文字列データの場合に使用

mod_bvalues

属性値がバイナリデータの場合に使用

1.21.16.4 LDAPVersion構造体

名前

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()でライブラリのバージョン情報を読み込んだ場合に通知されます。

メンバ

sdk_version

ライブラリのバージョン

protocol_version

使用できる最も新しいLDAPプロトコルのバージョン

SSL_version

使用できる最も新しいSSLプロトコルのバージョン。

security_level

未使用域(将来使用するために保持している領域です)

sdk_vendor

提供元ベンダ名のアドレス

reserved

未使用域(将来使用するために保持している領域です)

1.21.16.5 SSLENV構造体

名前

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_version

使用するSSLプロトコルのバージョン

ssl_verify

証明書の検証方法

crypt

使用する暗号化アルゴリズムの種類

slot_path

スロット情報ディレクトリのアドレス

tkn_lbl

トークンラベルのアドレス

tkn_pwd

ユーザPINのアドレス

cert_path

運用管理ディレクトリのアドレス

crl_path

CRL管理ディレクトリのアドレス(本バージョンでは使用しません)

user_cert

ユーザ証明書ニックネームのアドレス

ssl_err

SSLエラーコード

ssl_err_detail

SSLエラー詳細コード

ssl_timer

SSLのタイマー値

ssl_err_funcinfo

SSLライブラリ関数コード

reserve

未使用域(将来使用するために保持している領域です)

1.21.16.6 timeval構造体

名前

timeval

形式

struct timeval {
        long  tv_sec;
        long  tv_usec;
};

使用方法

この構造体は、タイマー値を指定する場合に使用します。

メンバ

tv_sec

指定する時間の1秒以上の部分(秒単位)

tv_usec

指定する時間の1秒未満の部分(マイクロ秒単位)