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() 関数は、ホストマシンの名前を長さ namelen の name に設定します。この呼び出しは、スーパユーザに制限され、通常、システムがブートストラップされるときのみ、使用されます。
ホスト名は、後続するヌル文字を含まずに、現在、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]
- 呼び出し側が、ホスト名を設定しようと試みましたが、スーパユーザではありませんでした。
規格
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.2 で size_t に変更されました。August 18, 2003 | FreeBSD |