GETHOSTNAME(2)

名前
gethostname, sethostname - ホストの名前を得る/セットする

書式
#include <unistd.h>

int gethostname(char *name, size_t len);
int sethostname(const char *name, size_t len);

説明
これらは、その関数が実行されたホストの名前を得る/変更する関数である。

返り値
成功した場合 0 が返る。失敗した場合 -1 が返り、 errno がエラーの内容に従って設定される。

エラー

EINVAL
    len が負の値を持つ、または sethostname において len が許される最大の値を越えている、または Linux/i386の gethostname において len が実際の値よりも小さい。

EPERM
    sethostname をスーパーユーザー以外が使用した。

EFAULT
    name が無効なアドレスである。

準拠
SVr4, 4.4BSD (最初に実装されたのは 4.2BSD)。 これらの関数はPOSIX.1 では定義されていないが、 ISO/IEC 9945-1:1990 では B.4.4.1 にて扱われている。

バグ
gethostname には name が長過ぎる場合でも len の値を返す実装もある。 Linux/Alpha ではこの動作でコンパイルされる。 しかし Linux/i386 では EINVAL が返される。(現在の DLL 4.6.27 ライブラリ)

注意
Linux/Alpha では gethostname はシステムコールである。 Linux/i386 では gethostname は uname(2) を使うライブラリ関数として実装されている。

関連項目
getdomainname(2), setdomainname(2), uname(2)