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

名前

       gethostid, sethostid - 現在のホストの固有の識別子を取得/設定する

書式

       #include <unistd.h>

       long gethostid(void);
       int sethostid(long hostid);

   glibc 向けの機能検査マクロの要件 (feature_test_macros(7)  参照):

       gethostid():
            _BSD_SOURCE || _XOPEN_SOURCE >= 500
       sethostid():
           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)

説明

       gethostid()   と sethostid()  は、それぞれ、現在使用しているホストに固有の 32 ビットの識別
       子の 取得/設定を行う。 この 32 ビットの識別子は、現在存在している全ての UNIX システム の中
       で唯一になるようにすることを意図したものだった。通常は   gethostbyname(3)   により返される
       ローカルマシンの Internet アドレスが代わりに使用され、  普通は識別子をあえて設定する必要は
       ない。

       sethostid()  はスーパーユーザーしか使用できない。

返り値

       gethostid()   は、 sethostid()  によって設定された、現在使用しているホストの 32 ビットの識
       別子の値を返す。

       成功すると、 sethostid()  は 0 を返す。 エラーの場合、-1 を返し、 errno にエラーを示す値を
       設定する。

エラー

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

       EACCES 呼び出し元がホスト ID を保存するのに使用されるファイルへの 書き込み許可を持っていな
              かった。

       EPERM  呼び出し元プロセスの実効 UID/GID が対応する実 UID/GID と同じではない。

属性

       この節で使用されている用語の説明については、 attributes(7) を参照。

       ┌─────────────────┬───────────────┬───────────────────────────┐
       │インターフェース属性                        │
       ├─────────────────┼───────────────┼───────────────────────────┤
       │gethostid()      │ Thread safety │ MT-Safe hostid env locale │
       ├─────────────────┼───────────────┼───────────────────────────┤
       │sethostid()      │ Thread safety │ MT-Unsafe const:hostid    │
       └─────────────────┴───────────────┴───────────────────────────┘

準拠

       4.2BSD。4.4BSD ではこれらの関数はなくなった。 SVr4  には  gethostid()   は含まれているが、
       sethostid()  は含まれていない。

       POSIX.1-2001  と POSIX.1-2008 では、 gethostid() は規定されているが、 sethostid() は規定さ
       れていない。

注意

       glibc の実装では、 hostid はファイル /etc/hostid  に保存される  (バージョン  2.2  より前の
       glibc では、 /var/adm/hostid が使用されていた)。

       glibc  の実装では、ホスト  ID  を保存したファイルを オープンできなかった場合、 gethostid()
       は gethostname(2)  を使ってホスト名を入手し、そのホスト名を gethostbyname_r(3)  に渡しホス
       トの IPv4 アドレスを取得して、 その IPv4 アドレスのビット入れ替えを行った値を返す。

バグ

       識別子が世界中で一意であることを保証することはできない。

関連項目

       hostid(1), gethostbyname(3)

この文書について

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