gethostname()
호스트 이름을 얻어오거나 설정한다.
1.1. 사용법
#include <unistd.h>
int gethostname(char *name, size_t len);
int sethostname(const char *name, size_t len);
1.2. 설명
이 함수는 현재 프로세스의 호스트이름을 가져오거나 변경하기 위해서 사용한다. gethostname() 함수는 호스트이름을 가져온다. len은 가져올 name의 최대 길이를 지정하기 위해서 사용한다.
1.3. 반환값
성공하면 0을 실패하면 -1을 리턴하고, 적당한 errno를 설정한다.
1.4. 에러
EINVAL
sethostname을 적용하는데 있어서 len이 음의 정수이거나, len이 허용된 크기를 넘었을 경우.
EPERM
sethostname은 루트권한을 가지고 있어야 한다.
EFAULT
name이 잘못된 주소영역을 가리키고 있다.
1.5. 예제
#include <unistd.h>
#include <stdio.h>
int main(int argc, char **argv)
{
char name[256] = {0x00,};
int len=256;
gethostname(name, len);
printf("%s\n",name);
}
Standard C Library Functions gethostname(3C)
NAME
gethostname, sethostname - get or set name of current host
SYNOPSIS
#include <unistd.h>
int gethostname(char *name, int namelen);
int sethostname(char *name, int namelen);
DESCRIPTION
The gethostname() function returns the standard host name for the current processor, as previously set by sethostname().
The namelen argument specifies the size of the array pointed to by name. The returned name is null terminated unless insufficient space is provided.
The sethostname() function sets the name of the host machine to be name, which has length namelen. This call is restricted to the superuser and is normally used only when thesystem is bootstrapped.
Host names are limited to MAXHOSTNAMELEN characters, currently 256, defined in the <netdb.h> header.
RETURN VALUES
Upon successful completion, gethostname() and sethostname() return 0. Otherwise, they return -1 and set errno to indicate the error.
ERRORS
The gethostname() and sethostname() functions will fail if:
EFAULT The name or namelen argument gave an invalid address.
The sethostname() function will fail if:
EPERM The {PRIV_SYS_ADMIN} privilege was not asserted in the effective set of the calling process.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
SunOS 5.10 Last change: 22 Mar 2004 1
Standard C Library Functions gethostname(3C)
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Interface Stability | Standard |
|_____________________________|_____________________________|
| MT-Level | MT-Safe |
|_____________________________|_____________________________|
SEE ALSO
sysinfo(2), uname(2), gethostid(3C), attributes(5), standards(5)
X/Open Networking Services Library Functions gethostname(3XNET)
NAME
gethostname - get name of current host
SYNOPSIS
cc [ flag ... ] file ... -lxnet [ library ... ]
#include <unistd.h>
int gethostname(char *name, size_t namelen);
DESCRIPTION
The gethostname() function returns the standard host name for the current machine. The namelen argument specifies the size of the array pointed to by the name argument.
The returned name is null-terminated, except that if namelen is an insufficient length to hold the host name, then the returned name is truncated and it is unspecified whether the returned name is null-terminated.
Host names are limited to 255 bytes.
RETURN VALUES
On successful completion, 0 is returned. Otherwise, -1 is returned.
ERRORS
No errors are defined.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Interface Stability | Standard |
|_____________________________|_____________________________|
| MT-Level | MT-Safe |
|_____________________________|_____________________________|
SEE ALSO
uname(1), gethostid(3C), attributes(5), standards(5)