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

1.20.16 構造体の構成

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

1.20.16.1 berval構造体

名前

  berval

形式

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

使用方法

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

メンバ

  bv_len

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

  bv_val

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

1.20.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.20.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.20.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.20.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.20.16.6 timeval構造体

名前

  timeval

形式

  struct timeval {
          long  tv_sec;
          long  tv_usec;
  };

使用方法

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

メンバ

  tv_sec

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

  tv_usec

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