InfoDirectory使用手引書 |
目次 索引 |
第3部 SDK編 | > 第5章 アプリケーション開発環境(LDAP C API) | > 5.5 サンプルプログラム |
サンプルプログラムのコンパイルから実行までの手順について説明します。
サンプル種別(※) |
パラメタ |
概要 |
備考 |
---|---|---|---|
共通パラメタ |
host |
接続するInfoDirectoryサーバのホスト名、またはIPアドレス |
|
port |
InfoDirectoryサーバのポート番号 |
デフォルトのポート番号は以下のようになります。 |
|
binddn |
BINDするためのDN |
|
|
passwd |
BINDするためのパスワード |
|
|
sslenv |
SSLENV構造体のアドレス |
構造体の各メンバについては、ldap_sslinitを参照してください。 |
|
エントリの検索 |
s_base |
サーチベースのDN |
|
scope |
検索対象範囲 |
以下のいずれかを指定します。 |
|
filter |
検索フィルタ |
すべてのエントリを検索する場合は、“(objectclass=*)”を指定してください。 |
|
attrs |
通知する属性名 |
複数の属性名を配列で指定します。配列の最後には、NULLを設定する必要があります。 |
|
dopaging |
ページングの可否 |
ページングを行う場合は TRUE、行わない場合は FALSE を指定してください。 |
|
pagesize |
ページングのサイズ |
dopagingにTRUEを設定した場合にのみ有効です。 |
|
dosort |
サーバソートの可否 |
サーバソートを行う場合は TRUE、行わない場合は FALSE を指定してください。 |
|
sortarray |
ソートするキー |
ソートするキーを配列で指定します。配列の最後には、NULLを設定する必要があります。 |
|
属性値の比較 |
cmp_dn |
比較を行うエントリのDN |
|
attr |
比較を行う属性名 |
|
|
value |
比較対象の文字列データ |
|
|
エントリの変更 |
mod_dn |
変更するエントリのDN |
|
mods |
変更する属性情報 (LDAPMod構造体のポインタ配列のアドレス) |
構造体の各項目に設定する値は、ldap_modifyを参照してください。 |
|
エントリの変名 |
old_dn |
変名するエントリのDN |
|
new_dn |
変名語のDN |
変名後のDNをもつエントリが存在しないように、サンプルプログラム内で事前にエントリが削除されます。 |
|
new_rdn |
新しいRDN |
|
|
mods |
追加する属性情報 (LDAPMod構造体のポインタ配列のアドレス) |
サンプルプログラム内で変名するエントリを事前に作成されます。このパラメタの詳細については、サンプル種別「エントリの追加」を参照してください。 |
|
NMODS |
追加するエントリの属性の数 |
同上 |
|
work_area |
作業用の構造体 |
日本語を扱う場合に、modsの内容に合わせ変更する必要があります。 |
|
エントリの追加 |
add_dn |
追加するエントリのDN |
|
mods |
追加する属性情報 (LDAPMod構造体のポインタ配列のアドレス) |
構造体の各項目に設定する値は、ldap_addを参照してください。 |
|
NMODS |
追加する属性名の数 |
modsの配列長を指定してください。 |
|
work_area |
作業用の構造体 |
日本語を扱う場合に、modsの内容に合わせ変更する必要があります。 |
|
エントリの削除 |
del_dn |
削除するエントリのDN |
|
※サンプル種別は、サンプルプログラムのファイル一覧と対応しています。
上記で作成された実行ファイルを直接実行します。
# ./modattrs ・・・ サンプルプログラム実行
./modattrs is start
./modattrs: ldap_init( "host1", 389 )
./modattrs: ldap_set_option( LDAP_OPT_PROTOCOL_VERSION, 3 )
./modattrs: ldap_simple_bind_s( "cn=admin,o=Fujitsu,c=jp", "******" )
./modattrs: ldap_modify_s( "cn=tarou,o=FJ,c=JP", ****** )
./modattrs: ldap_unbind( )
./modattrs is normal end
例1では、サンプルプログラムが正常に終了したことを示します。なお、上記はSolaris OE版の実行例です。
# ./search ・・・ サンプルプログラム実行
./search is start
./search: ldap_init( "host1", 389 )
./search: ldap_set_option( LDAP_OPT_DEREF, 3 )
./search: ldap_set_option( LDAP_OPT_PROTOCOL_VERSION, 3 )
./search: ldap_simple_bind_s( "cn=admin,o=Fujitsu,c=jp", "******" )
ldap_simple_bind_s: Can't contact LDAP server
./search: ldap_unbind( )
./search is abnormal end
例2では、サンプルプログラム(search.c)中のldap_simple_bind_sでエラーとなっています。エラーメッセージ「Can't contact LDAP server」から、InfoDirectoryサーバが起動されていない、または接続先サーバ情報に誤りがあるなどの原因が考えられます。
サンプルプログラムで出力されるメッセージについては、LDAPエラーコードの“対応するメッセージ”を参照してください。
なお、上記はSolaris OE版の実行例です。
目次 索引 |