Provided by: manpages-ja-dev_0.5.0.0.20140515+dfsg-2_all
名前
getdomainname, setdomainname - NIS ドメイン名の取得・設定をする
書式
#include <unistd.h> int getdomainname(char *name, size_t len); int setdomainname(const char *name, size_t len); glibc 向けの機能検査マクロの要件 (feature_test_macros(7) 参照): getdomainname(), setdomainname(): _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)
説明
これらの関数は、ホストシステムの NIS ドメイン名を取得・変更するために使われる。 setdomainname() は、ドメイン名を、文字配列 name で指定された値に設定する。 引き数 len に は、 name のバイト数を指定する (そのため、 name では文字列終端のヌルバイトは必要ない)。 getdomainname() は、NULL 終端されたドメイン名を、 len バイトの長さの文字配列 name に格納 して返す。ヌル終端されたドメイン名が len バイトより長い場合、 getdomainname() は、(glibc では) 始めの len バイトを返し、(libc では) エラーとなる。
返り値
成功した場合は 0 が返される。エラーの場合は -1 が返され、 errno が適切に設定される。
エラー
setdomainname() は以下のエラーで失敗する可能性がある。 EFAULT name がユーザアドレス空間の外を指した。 EINVAL len が負であるか、長すぎる。 EPERM setdomainname() において、呼び出した人に特権がない (Linux では CAP_SYS_ADMIN ケー パビリティ (capability) がない)。 getdomainname() は以下のエラーで失敗する可能性がある。 EINVAL libc での getdomainname() において、 name が NULL であるか、 len バイトより長い。
準拠
POSIX では、これら関数は定義されていない。
注意
Linux 1.0 以降では、ドメイン名の長さの上限は 終端のヌルバイトを含めて 64 バイトである。 もっと古いカーネルでは 8 バイトであった。 (x86 を含む) Linux のほとんどのアーキテクチャでは、 getdomainname() というシステムコール は存在しない。 その代わり、glibc で getdomainname() がライブラリ関数として実装されてお り、この関数は uname(2) の呼び出しで返された domainname フィールドのコピーを返す。
関連項目
gethostname(2), sethostname(2), uname(2)
この文書について
この man ページは Linux man-pages プロジェクトのリリース 3.65 の一部 である。プロジェクト の説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。