Interstage Application Server リファレンスマニュアル(API編)
|
目次
索引

|
1.20.6.4 ldap_modify_ext_s()
名前
ldap_modify_ext_s
形式
#include "idldap.h"
int ldap_modify_ext_s(
LDAP *ld,
const char *dn,
LDAPMod **mods,
LDAPControl **serverctrls,
LDAPControl **clientctrls );
機能説明
この関数は、同期型のエントリ変更処理を行います。
ldapssl_init()で獲得したセションハンドルを使用している場合、SSLライブラリで発生したエラーをldapssl_error()で参照することができます。
パラメタ
- ld
- ldap_init()、またはldapssl_init()で通知された、セションハンドルを指定します。
- dn
- 変更するエントリのDNを指定します。
- mods
- LDAPMod構造体のポインタ配列のアドレスを指定します。ここで指定するポインタ配列は、最後の項目にNULLを設定しておく必要があります。各LDAPMod構造体には、属性ごとの変更情報を設定します。LDAPMod構造体の各項目に設定する値は、以下のとおりです。
- mod_op
属性値の種類と、変更操作の種類の論理和をとったものを指定します。
- 属性値の種類
属性値が文字列データの場合 : 0
属性値がバイナリデータの場合 : LDAP_MOD_BVALUES
- 変更操作の種類
属性値を追加する場合 : LDAP_MOD_ADD
属性値を削除する場合 : LDAP_MOD_DELETE
属性値を置換する場合 : LDAP_MOD_REPLACE
- mod_type
変更する属性の名前のアドレスを指定します。一部の属性では属性名に“;binary”を付加したものを指定する必要があります。
- 属性値を追加する場合 : 値を追加する属性の名前を指定します。
- 属性値を削除する場合 : 値を削除する属性の名前を指定します。
- 属性値を置換する場合 : 値を置換する属性の名前を指定します。
- mod_vals
追加/削除/置換する属性値のアドレスを指定します。ここで指定する属性値は、mod_vals共用体のポインタ配列です。このポインタ配列は、最後の項目にNULLを設定する必要があります。
- 属性値を追加する場合 : 追加する属性値のポインタ配列のアドレスを指定します。
- 属性値を削除する場合 : 削除する属性値のポインタ配列のアドレスを指定します。mod_typeパラメタで指定された属性のすべての属性値を削除する場合には、NULLを指定します。
- 属性値を置換する場合 : 置換する属性値のポインタ配列のアドレスを指定します。
mod_vals共用体のメンバは、mod_opパラメタに指定された属性値の種類によって、以下のどちらかを使用します。
- 文字列データの場合 : mod_valuesに、属性値のポインタ配列のアドレスを指定します。各属性値は、最後の項目にNULLを設定する必要があります。
- バイナリデータの場合 : mod_bvaluesに、berval構造体のポインタ配列のアドレスを指定します。berval構造体には、属性値のアドレスとサイズを指定します。
各属性値のポインタ配列は、最後の項目にNULLを設定しておく必要があります。
- 変更を行う場合のパラメタの例については、“modifyにおけるパラメタの例”を参照してください。
- serverctrls
- Smart Repositoryではサーバコントロールをサポートしていないため、このパラメタにはNULLを指定します。
- clientctrls
- 本ライブラリではクライアントコントロールをサポートしていないため、このパラメタにはNULLを指定します。
復帰値
この関数では、復帰値としてLDAPエラーコードを返します。LDAPエラーコードの値については、“メッセージ集”の“LDAPエラーコード”を参照してください。
- 正常終了の場合 : LDAP_SUCCESS
- 異常終了の場合 : LDAP_SUCCESS以外のLDAPエラーコード
Copyright 2007 FUJITSU LIMITED