Provided by: manpages-ja-dev_0.5.0.0.20221215+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():
           glibc 2.21 以降:
               _DEFAULT_SOURCE
           glibc 2.19 と 2.20:
               _DEFAULT_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)
           glibc 2.19 以前:
               _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)

説明

       These  functions are used to access or to change the NIS domain name of the host system.  More precisely,
       they operate on the NIS domain name associated with the calling process's UTS namespace.

       setdomainname()  は、ドメイン名を、文字配列 name で指定された値に設定する。 引数 len には、 name のバイト
       数を指定する (そのため、 name では文字列終端のヌルバイトは必要ない)。

       getdomainname()  は、NULL 終端されたドメイン名を、 len バイトの長さの文字配列 name に格納して返す。ヌル終
       端されたドメイン名が len バイトより長い場合、 getdomainname()  は、(glibc  では)  始めの  len  バイトを返
       し、(libc では) エラーとなる。

返り値

       成功した場合は 0 が返される。エラーの場合は -1 が返され、 errno が適切に設定される。

エラー

       setdomainname()  は以下のエラーで失敗する可能性がある。

       EFAULT name がユーザーアドレス空間の外を指した。

       EINVAL len が負であるか、長すぎる。

       EPERM  The caller did not have the CAP_SYS_ADMIN capability in the user namespace associated with its UTS
              namespace (see namespaces(7)).

       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), uts_namespaces(7)

この文書について

       この  man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告
       に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。