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/ に書かれている。