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

1.20.12 検索結果の解析処理インタフェース

エントリリストの処理

関数名

関数の説明

ldap_first_entry()

指定されたメッセージの最初のエントリを返します。

ldap_next_entry()

指定されたメッセージの次のエントリを返します。
(前回読み込んだものに続くエントリ)

ldap_count_entries()

指定されたメッセージ内のエントリ数をカウントします。

属性名の取得処理

関数名

関数の説明

ldap_first_attribute()

指定されたエントリの最初の属性名を返します。

ldap_next_attribute()

指定されたエントリの次の属性名を返します。
(前回読み込んだものに続く属性名)

属性値の取得処理

関数名

関数の説明

ldap_get_values()

指定された属性の属性値を読み込みます。
(属性値が文字列データの場合)

ldap_get_values_len()

指定された属性の属性値を読み込みます。
(属性値がバイナリデータの場合)

ldap_count_values()

読み込んだ属性値の数をカウントします。
(属性値が文字列データの場合)

ldap_count_values_len()

読み込んだ属性値の数をカウントします。
(属性値がバイナリデータの場合)

DNの取得/解析

関数名

関数の説明

ldap_get_dn()

指定されたエントリのDNを読み込みます。

ldap_explode_dn()

指定されたDNを、構成要素に分解します。

ldap_explode_rdn()

指定されたRDNを構成要素に分解します。

ldap_dn2ufn()

指定されたDNをユーザフレンドリな形式に変換します。

1.20.12.1 ldap_first_entry()

名前

  ldap_first_entry

形式

  #include "idldap.h"
  LDAPMessage  *ldap_first_entry(
          LDAP  *ld,
          LDAPMessage  *res );

機能説明

  この関数は、指定されたメッセージに含まれている、先頭のエントリのアドレスを通知します。

  ldap_first_entry()で通知されたエントリのアドレスは、以下の関数においてパラメタとして使用することができます。

パラメタ

  ld

  ldap_init()、またはldapssl_init()で通知された、セションハンドルを指定します。

  res

  メッセージリストのアドレスを指定します。ldap_first_entry()、またはldap_next_entry()で通知されたエントリのアドレスを指定した場合は、指定されたエントリを含む残りのエントリの数をカウントします。

復帰値

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

1.20.12.2 ldap_next_entry()

名前

  ldap_next_entry

形式

  #include "idldap.h"
  LDAPMessage  *ldap_next_entry(
          LDAP  *ld,
          LDAPMessage  *entry );

機能説明

  この関数は、直前のldap_first_entry()、またはldap_next_entry()で通知されたエントリの、次のエントリのアドレスを通知します。

  ldap_next_entry()で通知されたエントリのアドレスは、以下の関数においてパラメタとして使用することができます。

パラメタ

  ld

  ldap_init()、またはldapssl_init()で通知された、セションハンドルを指定します。

  entry

  直前のldap_first_entry()、またはldap_next_entry()で通知された、エントリのアドレスを指定します。

復帰値

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

1.20.12.3 ldap_count_entries()

名前

  ldap_count_entries

形式

  #include "idldap.h"
  int  ldap_count_entries(
          LDAP  *ld,
          LDAPMessage  *res );

機能説明

  この関数は、指定されたメッセージに含まれるエントリの数をカウントします。

パラメタ

  ld

  ldap_init()、またはldapssl_init()で通知された、セションハンドルを指定します。

  res

  ldap_first_entry()、またはldap_next_entry()で通知された、エントリのアドレスを指定します。
  ldap_next_entry()で通知されたエントリのアドレスが指定された場合、それ以降のエントリの個数をカウントします。

復帰値

  この関数は、復帰値としてエントリ数を返します。エントリがない場合には、復帰値として0を返します。resパラメタにNULLが指定された場合にも0を返します。

1.20.12.4 ldap_first_attribute()

名前

  ldap_first_attribute

形式

  #include "idldap.h"
  char  *ldap_first_attribute(
          LDAP  *ld,
          LDAPMessage  *entry,
          BerElement  **ptr );

機能説明

  この関数は、指定されたエントリの最初の属性名を通知します。

パラメタ

  ld

  ldap_init()、またはldapssl_init()で通知された、セションハンドルを指定します。

  entry

  ldap_first_entry()、またはldap_next_entry()で通知された、エントリのアドレスを指定します。

  ptr

  獲得したBerElement構造体のアドレスを格納するための、ポインタ変数のアドレスを指定します。

復帰値

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

注意事項

1.20.12.5 ldap_next_attribute()

名前

  ldap_next_attribute

形式

  #include "idldap.h"
  char  *ldap_next_attribute(
          LDAP  *ld,
          LDAPMessage  *entry,
          BerElement  *ber );

機能説明

  この関数は、直前のldap_first_attribute()、またはldap_next_attribute()で通知された属性名の、次の属性名を通知します。

パラメタ

  ld

  ldap_init()、またはldapssl_init()で通知された、セションハンドルを指定します。

  entry

  直前のldap_first_attribute()、またはldap_next_attribute()と同じ、エントリのアドレスを指定します。

  ber

  直前のldap_first_attribute()、またはldap_next_attribute()で使用した、BerElement構造体のアドレスを指定します。

復帰値

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

注意事項

1.20.12.6 ldap_get_values()

名前

  ldap_get_values

形式

  #include "idldap.h"
  char  **ldap_get_values(
          LDAP  *ld,
          LDAPMessage  *entry,
          const char  *attr );

機能説明

  この関数は、指定されたエントリの属性値を、文字列データとして読み込みます。

  通知されたポインタ配列のメンバが示す属性値は、文字列データです。通知されたポインタ配列のアドレスは、ldap_count_values()のパラメタとして使用します。

パラメタ

  ld

  ldap_init()、またはldapssl_init()で通知された、セションハンドルを指定します。

  entry

  ldap_first_entry()、またはldap_next_entry()によって通知された、エントリのアドレスを指定します。

  attr

  検索結果に含まれる属性名のアドレスを指定します。属性の別名は指定できません。
  ldap_first_attribute()、またはldap_next_attribute()によって通知された属性名を指定できます。

復帰値

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

注意事項

1.20.12.7 ldap_get_values_len()

名前

  ldap_get_values_len

形式

  #include "idldap.h"
  struct berval  **ldap_get_values_len(
          LDAP  *ld,
          LDAPMessage  *entry,
          const char  *attr );

機能説明

  この関数は、指定されたエントリの属性値を、バイナリデータとして読み込みます。

パラメタ

  ld

  ldap_init()、またはldapssl_init()で通知された、セションハンドルを指定します。

  entry

  ldap_first_entry()、またはldap_next_entry()によって通知された、エントリのアドレスを指定します。

  attr

  検索結果に含まれる属性名のアドレスを指定します。属性の別名は指定できません。
  ldap_first_attribute()、またはldap_next_attribute()によって通知された属性名を指定できます。

復帰値

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

注意事項

1.20.12.8 ldap_count_values()

名前

  ldap_count_values

形式

  #include "idldap.h"
  int  ldap_count_values(
          char  **vals );

機能説明

  この関数は、ldap_get_values()で通知された属性値の個数をカウントします。

パラメタ

  vals

  ldap_get_values()によって通知された、ポインタ配列のアドレスを指定します。

復帰値

  この関数は、復帰値として属性値の数を返します。なお、valsパラメタにNULLが指定された場合は0を返します。

1.20.12.9 ldap_count_values_len()

名前

  ldap_count_values_len

形式

  #include "idldap.h"
  int  ldap_count_values_len(
          struct berval  **vals );

機能説明

  この関数は、ldap_get_values_len()で通知された属性値の個数をカウントします。

パラメタ

  vals

  ldap_get_values_len()によって通知された、ポインタ配列のアドレスを指定します。

復帰値

  この関数は、復帰値として属性値の数を返します。なお、valsパラメタにNULLが指定された場合は0を返します。

1.20.12.10 ldap_get_dn()

名前

  ldap_get_dn

形式

  #include "idldap.h"
  char  *ldap_get_dn(
          LDAP  *ld,
          LDAPMessage  *entry );

機能説明

  この関数は、指定されたエントリのDNを読み込みます。

パラメタ

  ld

  ldap_init()、またはldapssl_init()で通知された、セションハンドルを指定します。

  entry

  ldap_first_entry()、またはldap_next_entry()によって通知された、エントリのアドレスを指定します。

復帰値

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

注意事項

1.20.12.11 ldap_explode_dn()

名前

  ldap_explode_dn

形式

  #include "idldap.h"
  char  **ldap_explode_dn(
          const char  *dn,
          int  notypes );

機能説明

  この関数は、指定されたDNを、各構成要素に分解します。

パラメタ

  dn

  DNのアドレスを指定します。

  notypes

  出力する構成要素の形式として、以下の値を指定します。

  • 0 : 属性を付加した形式で通知します。

  • 0以外 : 属性を取り除いた形式で通知します。(o=fujitsu ---> fujitsu)

復帰値

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

  ldap_explode_dn()で通知されるデータの例を、下図に示します。

  DNに記号が含まれている場合、以下の記号は特殊文字として扱われます。特殊文字は変換されて出力されます。

入力文字

出力文字

“"”(ダブルクォーテーション)

\22

“#”(シャープ)

\23

“+”(プラス)

\2B

“,”(カンマ)

\2C

“;”(セミコロン)

\3B

“<”(小なり)

\3C

“>”(大なり)

\3E

“\”(エンマーク)

\5C

注意事項

1.20.12.12 ldap_explode_rdn()

名前

  ldap_explode_rdn

形式

  #include "idldap.h"
  char  **ldap_explode_rdn(
          const char  *rdn,
          int  notypes );

機能説明

  この関数は、指定されたRDNを、各構成要素に分解します。

パラメタ

  rdn

  RDNのアドレスを指定します。

  notypes

  出力する構成要素の形式として、以下の値を指定します。

  • 0 : 属性を付加した形式で通知します。

  • 0以外 : 属性を取り除いた形式で通知します。(cn=User1 ---> User1)

復帰値

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

  ldap_explode_rdn()で通知されるデータについては、ldap_explode_dn()の場合と同じ形式です。

  DNに記号が含まれている場合、いくつかの記号は特殊文字として扱われ、変換されて出力されます。詳細は、ldap_explode_dn()の復帰値を参照してください。

注意事項

1.20.12.13 ldap_dn2ufn()

名前

  ldap_dn2ufn

形式

  #include "idldap.h"
  char  *ldap_dn2ufn(
          const char  *dn );

機能説明

  この関数は、指定されたDNを、ユーザフレンドリな形式に変換します。ユーザフレンドリな形式への変換例を以下に示します。

  変換例

指定したDN

ユーザフレンドリな形式

"ou=interstage,o=fujitsu,dc=com"

"interstage, fujitsu, com"

"dc=fujitsu,dc=com"

"fujitsu.com"

パラメタ

  dn

  変換するDNのアドレスを指定します。

復帰値

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

  DNに記号が含まれている場合、いくつかの記号は特殊文字として扱われ、変換されて出力されます。詳細は、ldap_explode_dn()の復帰値を参照してください。

注意事項