'programming/C_C++'에 해당되는 글 279건

  1. 2011.09.01 gethostname

gethostname

programming/C_C++ 2011. 9. 1. 10:20
반응형


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)



 

반응형
Posted by 공간사랑
,