EN JA
GETHOSTNAME(3)
GETHOSTNAME(3) FreeBSD Library Functions Manual GETHOSTNAME(3)

名称

gethostname, sethostname現在のホストの名前を取得/設定する

ライブラリ

Standard C Library (libc, -lc)

書式

#include < unistd.h>

int
gethostname( char *name, size_t namelen);

int
sethostname( const char *name, int namelen);

解説

gethostname() 関数は、以前に sethostname() によって設定された、現在のプロセッサのための標準ホスト名を返します。 namelen 引数は、 name 配列のサイズを指定します。提供される空間が不十分な場合を除いて、返される名前は、ヌル文字で終了します。

sethostname() 関数は、ホストマシンの名前を長さ namelenname に設定します。この呼び出しは、スーパユーザに制限され、通常、システムがブートストラップされるときのみ、使用されます。

ホスト名は、後続するヌル文字を含まずに、現在、255 の、{ HOST_NAME_MAX}文字に制限されます。

戻り値

Upon successful completion, the value 0 is returned; otherwise the value -1 is returned and the global variable errno is set to indicate the error.

エラー

次のエラーが、これらの呼び出しによって返されます:
[ EFAULT]
name または namelen 引数が、無効のアドレスを与えました。
[ ENAMETOOLONG]
現在のホスト名が、 namelen より長くなっています。 ( gethostname() のためだけ。)
[ EPERM]
呼び出し側が、ホスト名を設定しようと試みましたが、スーパユーザではありませんでした。

関連項目

sysconf(3), sysctl(3)

規格

gethostname() 関数は、 IEEE Std 1003.1-2001 (“POSIX.1”) に適合しています。呼び出し側は、{ HOST_NAME_MAX}が可変か、または無限であるかもしれないことに気付いているべきですが、{ _POSIX_HOST_NAME_MAX}未満でないことが保証されています。より古いシステムにおいて、この制限は、終端のヌル文字を数にいれて、 MAXHOSTNAMELEN として非標準のヘッダ < sys/param.h> に定義されていました。 sethostname() 関数と gethostname() のためのエラーの返り値は、標準化されていません。

歴史

gethostname() は、 4.2BSD で登場しました。 gethostname() の namelen 引数は、 IEEE Std 1003.1-2001 (“POSIX.1”) との調整のために FreeBSD 5.2size_t に変更されました。
August 18, 2003 FreeBSD