Manpages

名 前

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

書 式

#include <unistd.h>

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

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

gethostid():

_BSD_SOURCE || _XOPEN_SOURCE >= 500 || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED

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)

こ の 文 書 に つ い て

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