GETHOSTNAME(3)

名称
gethostname, sethostname - 現在のホストの名前の取得/設定

書式
#include <unistd.h> int gethostname(char *name, int namelen) int sethostname(const char *name, int namelen)

解説
gethostname() は sethostname() によって前に設定された、現在のプロセッサの標準のホスト名を返します。パラメータ namelen は name 配列のサイズを指定します。 使用できる空間が不十分な場合を除いて、返される名前はヌルで終わります。

sethostname() は、長さ namelen の name という、ホストマシン名を設定します。 この呼び出しはスーパユーザに限定され、 通常はシステムのブートストラップ時にだけ実行されます。

戻り値
呼び出しが成功すると値 0 が返ります。 呼び出しが失敗すると値 -1 が返り、 グローバルな位置の errno にエラーコードが置かれます。

エラー
これらの呼び出しによって、次のエラーが返る場合があります。

[EFAULT]
    name または namelen パラメータが、無効なアドレスを与えました。

[EPERM]
    呼び出し元がホスト名を設定しようとしましたが、 スーパユーザではありませんでした。

関連項目
gethostid(3), sysctl(3)

バグ
ホスト名の長さが MAXHOSTNAMELEN ( <sys/param.h> から取得) 文字に制限されています。 現在は 256 文字です。

歴史
gethostname() 関数の呼び出しは、 4.2BSD で最初に取り入れられました。