GETHOSTID
Section: Linux Programmer's Manual (3)
Updated: 2009-01-13
Index
JM Home Page
roff page
名前
gethostid, sethostid - 現在のホストの固有の識別子を取得/設定する
書式
#include <unistd.h>
long gethostid(void);
int sethostid(long hostid);
glibc 向けの機能検査マクロの要件
(feature_test_macros(7)
参照):
sethostid():
_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 と同じではない。
準拠
4.2BSD。4.4BSD ではこれらの関数はなくなった。
SVr4 には
gethostid()
は含まれているが、
sethostid()
は含まれていない。
POSIX.1-2001 では、
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)
Index
- 名前
-
- 書式
-
- 説明
-
- 返り値
-
- エラー
-
- 準拠
-
- 注意
-
- バグ
-
- 関連項目
-
This document was created by
man2html,
using the manual pages.
Time: 03:26:43 GMT, April 25, 2010