エントリリストの処理
関数名 | 関数の説明 |
---|---|
指定されたメッセージの最初のエントリを返します。 | |
指定されたメッセージの次のエントリを返します。 | |
指定されたメッセージ内のエントリ数をカウントします。 |
属性名の取得処理
関数名 | 関数の説明 |
---|---|
指定されたエントリの最初の属性名を返します。 | |
指定されたエントリの次の属性名を返します。 |
属性値の取得処理
関数名 | 関数の説明 |
---|---|
指定された属性の属性値を読み込みます。 | |
指定された属性の属性値を読み込みます。 | |
読み込んだ属性値の数をカウントします。 | |
読み込んだ属性値の数をカウントします。 |
DNの取得/解析
関数名 | 関数の説明 |
---|---|
指定されたエントリのDNを読み込みます。 | |
指定されたDNを、構成要素に分解します。 | |
指定されたRDNを構成要素に分解します。 | |
指定されたDNをユーザフレンドリな形式に変換します。 |
名前
ldap_first_entry
形式
#include "idldap.h" LDAPMessage *ldap_first_entry( LDAP *ld, LDAPMessage *res );
機能説明
この関数は、指定されたメッセージに含まれている、先頭のエントリのアドレスを通知します。
ldap_first_entry()で通知されたエントリのアドレスは、以下の関数においてパラメタとして使用することができます。
パラメタ
ldap_init()、またはldapssl_init()で通知された、セションハンドルを指定します。
メッセージリストのアドレスを指定します。ldap_first_entry()、またはldap_next_entry()で通知されたエントリのアドレスを指定した場合は、指定されたエントリを含む残りのエントリの数をカウントします。
復帰値
この関数は、復帰値として以下の値を返します。
正常終了の場合 : 先頭のエントリのアドレス
異常終了の場合 : NULL
異常終了の場合のエラー原因は、ldap_get_option()のLDAP_OPT_RESULT_CODEオプションで参照してください。
名前
ldap_next_entry
形式
#include "idldap.h" LDAPMessage *ldap_next_entry( LDAP *ld, LDAPMessage *entry );
機能説明
この関数は、直前のldap_first_entry()、またはldap_next_entry()で通知されたエントリの、次のエントリのアドレスを通知します。
ldap_next_entry()で通知されたエントリのアドレスは、以下の関数においてパラメタとして使用することができます。
パラメタ
ldap_init()、またはldapssl_init()で通知された、セションハンドルを指定します。
直前のldap_first_entry()、またはldap_next_entry()で通知された、エントリのアドレスを指定します。
復帰値
この関数は、復帰値として以下の値を返します。
正常終了の場合 : 次のエントリのアドレス
異常終了の場合 : NULL
異常終了の場合のエラー原因は、ldap_get_option()のLDAP_OPT_RESULT_CODEオプションで参照してください。
なお、次のエントリがない場合にも、復帰値としてNULLを返します。
名前
ldap_count_entries
形式
#include "idldap.h" int ldap_count_entries( LDAP *ld, LDAPMessage *res );
機能説明
この関数は、指定されたメッセージに含まれるエントリの数をカウントします。
パラメタ
ldap_init()、またはldapssl_init()で通知された、セションハンドルを指定します。
ldap_first_entry()、またはldap_next_entry()で通知された、エントリのアドレスを指定します。
ldap_next_entry()で通知されたエントリのアドレスが指定された場合、それ以降のエントリの個数をカウントします。
復帰値
この関数は、復帰値としてエントリ数を返します。エントリがない場合には、復帰値として0を返します。resパラメタにNULLが指定された場合にも0を返します。
名前
ldap_first_attribute
形式
#include "idldap.h" char *ldap_first_attribute( LDAP *ld, LDAPMessage *entry, BerElement **ptr );
機能説明
この関数は、指定されたエントリの最初の属性名を通知します。
パラメタ
ldap_init()、またはldapssl_init()で通知された、セションハンドルを指定します。
ldap_first_entry()、またはldap_next_entry()で通知された、エントリのアドレスを指定します。
獲得したBerElement構造体のアドレスを格納するための、ポインタ変数のアドレスを指定します。
復帰値
この関数は、復帰値として以下の値を返します。
正常終了の場合 : 最初の属性名のアドレス
この属性名のアドレスを、ldap_get_values()、またはldap_get_values_len()のパラメタattrに指定します。また、獲得したBerElement構造体のアドレスが、ptrパラメタで指定されたポインタ変数に設定されます。
異常終了の場合 : NULL
エラー原因は、ldap_get_option()のLDAP_OPT_RESULT_CODEオプションで参照してください。
注意事項
動的メモリの解放
ldap_first_attribute()で通知されたBerElement構造体は、不要になった時点でber_free()を使用して解放しなければなりません。また、ldap_first_attribute()が復帰値として返した属性名の領域は、不要になった時点でldap_memfree()を使用して解放しなければなりません。詳細は、“1.20.13 動的メモリの解放インタフェース”を参照してください。
名前
ldap_next_attribute
形式
#include "idldap.h" char *ldap_next_attribute( LDAP *ld, LDAPMessage *entry, BerElement *ber );
機能説明
この関数は、直前のldap_first_attribute()、またはldap_next_attribute()で通知された属性名の、次の属性名を通知します。
パラメタ
ldap_init()、またはldapssl_init()で通知された、セションハンドルを指定します。
直前のldap_first_attribute()、またはldap_next_attribute()と同じ、エントリのアドレスを指定します。
直前のldap_first_attribute()、またはldap_next_attribute()で使用した、BerElement構造体のアドレスを指定します。
復帰値
この関数は、復帰値として以下の値を返します。
正常終了の場合 : 次の属性名のアドレス
この属性名のアドレスを、ldap_get_values()、またはldap_get_values_len()のパラメタattrに指定します。また、berパラメタが示すBerElement構造体の内容が更新されます。
異常終了の場合 : NULL
エラー原因は、ldap_get_option()のLDAP_OPT_RESULT_CODEオプションで参照してください。なお、次の属性名がない場合にも、復帰値としてNULLを返します。
注意事項
動的メモリの解放
ldap_next_attribute()が復帰値として返した属性名の領域は、不要になった時点でldap_memfree()を使用して解放しなければなりません。詳細は、“1.20.13 動的メモリの解放インタフェース”を参照してください。
名前
ldap_get_values
形式
#include "idldap.h" char **ldap_get_values( LDAP *ld, LDAPMessage *entry, const char *attr );
機能説明
この関数は、指定されたエントリの属性値を、文字列データとして読み込みます。
通知されたポインタ配列のメンバが示す属性値は、文字列データです。通知されたポインタ配列のアドレスは、ldap_count_values()のパラメタとして使用します。
パラメタ
ldap_init()、またはldapssl_init()で通知された、セションハンドルを指定します。
ldap_first_entry()、またはldap_next_entry()によって通知された、エントリのアドレスを指定します。
検索結果に含まれる属性名のアドレスを指定します。属性の別名は指定できません。
ldap_first_attribute()、またはldap_next_attribute()によって通知された属性名を指定できます。
復帰値
この関数は、復帰値として以下の値を返します。
正常終了の場合 : 属性値のポインタ配列のアドレス
異常終了の場合 : NULL
異常終了の場合のエラー原因は、ldap_get_option()のLDAP_OPT_RESULT_CODEオプションで参照してください。
なお、指定された属性がなかった場合にも、復帰値としてNULLを返します。
注意事項
動的メモリの解放
ldap_get_values()の復帰値として通知されたポインタ配列は、不要になった時点で、ldap_value_free()を使用して解放しなければなりません。
詳細は、“1.20.13 動的メモリの解放インタフェース”を参照してください。
名前
ldap_get_values_len
形式
#include "idldap.h" struct berval **ldap_get_values_len( LDAP *ld, LDAPMessage *entry, const char *attr );
機能説明
この関数は、指定されたエントリの属性値を、バイナリデータとして読み込みます。
パラメタ
ldap_init()、またはldapssl_init()で通知された、セションハンドルを指定します。
ldap_first_entry()、またはldap_next_entry()によって通知された、エントリのアドレスを指定します。
検索結果に含まれる属性名のアドレスを指定します。属性の別名は指定できません。
ldap_first_attribute()、またはldap_next_attribute()によって通知された属性名を指定できます。
復帰値
この関数は、復帰値として以下の値を返します。
正常終了の場合 : 属性値のポインタ配列のアドレス
異常終了の場合 : NULL
異常終了の場合のエラー原因は、ldap_get_option()のLDAP_OPT_RESULT_CODEオプションで参照してください。
なお、指定された属性がなかった場合にも、復帰値としてNULLを返します。
注意事項
動的メモリの解放
ldap_get_values_len()の復帰値として通知されたポインタ配列は、不要になった時点で、ldap_value_free_len()を使用して解放しなければなりません。詳細は、“1.20.13 動的メモリの解放インタフェース”を参照してください。
名前
ldap_count_values
形式
#include "idldap.h" int ldap_count_values( char **vals );
機能説明
この関数は、ldap_get_values()で通知された属性値の個数をカウントします。
パラメタ
ldap_get_values()によって通知された、ポインタ配列のアドレスを指定します。
復帰値
この関数は、復帰値として属性値の数を返します。なお、valsパラメタにNULLが指定された場合は0を返します。
名前
ldap_count_values_len
形式
#include "idldap.h" int ldap_count_values_len( struct berval **vals );
機能説明
この関数は、ldap_get_values_len()で通知された属性値の個数をカウントします。
パラメタ
ldap_get_values_len()によって通知された、ポインタ配列のアドレスを指定します。
復帰値
この関数は、復帰値として属性値の数を返します。なお、valsパラメタにNULLが指定された場合は0を返します。
名前
ldap_get_dn
形式
#include "idldap.h" char *ldap_get_dn( LDAP *ld, LDAPMessage *entry );
機能説明
この関数は、指定されたエントリのDNを読み込みます。
パラメタ
ldap_init()、またはldapssl_init()で通知された、セションハンドルを指定します。
ldap_first_entry()、またはldap_next_entry()によって通知された、エントリのアドレスを指定します。
復帰値
この関数は、復帰値として以下の値を返します。
正常終了の場合 : DNのアドレス
異常終了の場合 : NULL
異常終了の場合のエラー原因は、ldap_get_option()のLDAP_OPT_RESULT_CODEオプションで参照してください。
注意事項
動的メモリの解放
ldap_get_dn()で通知されたDNの領域は、不要になった時点でldap_memfree()を使用して解放しなければなりません。詳細は、“1.20.13 動的メモリの解放インタフェース”を参照してください。
名前
ldap_explode_dn
形式
#include "idldap.h" char **ldap_explode_dn( const char *dn, int notypes );
機能説明
この関数は、指定されたDNを、各構成要素に分解します。
パラメタ
DNのアドレスを指定します。
出力する構成要素の形式として、以下の値を指定します。
0 : 属性を付加した形式で通知します。
0以外 : 属性を取り除いた形式で通知します。(o=fujitsu ---> fujitsu)
復帰値
この関数は、復帰値として以下の値を返します。
正常終了の場合 : 各構成要素のポインタ配列のアドレス
異常終了の場合 : NULL
異常終了の場合、以下の原因が考えられます。
パラメタの指定に誤りがあります。
使用できるメモリが不足しています。
ldap_explode_dn()で通知されるデータの例を、下図に示します。
DNに記号が含まれている場合、以下の記号は特殊文字として扱われます。特殊文字は変換されて出力されます。
入力文字 | 出力文字 |
---|---|
“"”(ダブルクォーテーション) | \22 |
“#”(シャープ) | \23 |
“+”(プラス) | \2B |
“,”(カンマ) | \2C |
“;”(セミコロン) | \3B |
“<”(小なり) | \3C |
“>”(大なり) | \3E |
“\”(エンマーク) | \5C |
注意事項
動的メモリの解放
ldap_explode_dn()で通知された領域は、不要になった時点でldap_value_free()を使用して解放しなければなりません。詳細は、“1.20.13 動的メモリの解放インタフェース”を参照してください。
名前
ldap_explode_rdn
形式
#include "idldap.h" char **ldap_explode_rdn( const char *rdn, int notypes );
機能説明
この関数は、指定されたRDNを、各構成要素に分解します。
パラメタ
RDNのアドレスを指定します。
出力する構成要素の形式として、以下の値を指定します。
0 : 属性を付加した形式で通知します。
0以外 : 属性を取り除いた形式で通知します。(cn=User1 ---> User1)
復帰値
この関数は、復帰値として以下の値を返します。
正常終了の場合 : 各構成要素のポインタ配列のアドレス
異常終了の場合 : NULL
異常終了の場合、以下の原因が考えられます。
パラメタの指定に誤りがあります。
使用できるメモリが不足しています。
ldap_explode_rdn()で通知されるデータについては、ldap_explode_dn()の場合と同じ形式です。
DNに記号が含まれている場合、いくつかの記号は特殊文字として扱われ、変換されて出力されます。詳細は、ldap_explode_dn()の復帰値を参照してください。
注意事項
動的メモリの解放
ldap_explode_rdn()で通知された領域は、不要になった時点でldap_value_free()を使用して解放しなければなりません。詳細は、“1.20.13 動的メモリの解放インタフェース”を参照してください。
名前
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のアドレスを指定します。
復帰値
この関数は、復帰値として以下の値を返します。
正常終了の場合 : ユーザフレンドリな形式の文字列のアドレス
異常終了の場合 : NULL
異常終了の場合、以下の原因が考えられます。
使用できるメモリが不足しています。
パラメタの指定に誤りがあります。
DNに記号が含まれている場合、いくつかの記号は特殊文字として扱われ、変換されて出力されます。詳細は、ldap_explode_dn()の復帰値を参照してください。
注意事項
動的メモリの解放
ldap_dn2ufn()で通知された領域は、不要になった時点でldap_memfree()を使用して解放しなければなりません。詳細は、“1.20.13 動的メモリの解放インタフェース”を参照してください。