名 前
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():
_BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)
説 明
こ れ ら の 関 数 は 、 ホ ス ト シ ス テ ム の NIS ド メ イ ン 名 を 取 得 ・ 変 更 す る た め に 使 わ れ る 。
setdomainname() は 、 ド メ イ ン 名 を 、 文 字 配 列 name で 指 定 さ れ た 値 に 設 定 す る 。 引 き 数 len に は 、 name の バ イ ト 数 を 指 定 す る (そ の た め 、 name で は 文 字 列 終 端 の ヌ ル バ イ ト は 必 要 な い )。
getdomainname() は 、 NULL 終 端 さ れ た ド メ イ ン 名 を 、 len バ イ ト の 長 さ の 文 字 配 列 name に 格 納 し て 返 す 。 ヌ ル 終 端 さ れ た ド メ イ ン 名 が len バ イ ト よ り 長 い 場 合 、 getdomainname() は 、 (glibc で は ) 始 め の len バ イ ト を 返 し 、 (libc で は ) エ ラ ー と な る 。
返 り 値
成 功 し た 場 合 は 0 が 返 さ れ る 。 エ ラ ー の 場 合 は −1 が 返 さ れ 、 errno が 適 切 に 設 定 さ れ る 。
エ ラ ー
setdomainname() は 以 下 の エ ラ ー で 失 敗 す る 可 能 性 が あ る 。
EFAULT |
name が ユ ー ザ ー ア ド レ ス 空 間 の 外 を 指 し た 。 | ||
EINVAL |
len が 負 で あ る か 、 長 す ぎ る 。 | ||
EPERM |
setdomainname() に お い て 、 呼 び 出 し た 人 に 特 権 が な い (Linux で は CAP_SYS_ADMIN ケ ー パ ビ リ テ ィ (capability) が な い )。 |
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)
こ の 文 書 に つ い て
こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。