Provided by: manpages-ja-dev_0.5.0.0.20161015+dfsg-1_all bug

名前

       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.79 の一部  である。プロジェクト
       の説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。