Quick ?s
Cheat Sheets
Man Pages
The Lynx
Software
GETHOSTNAME(2)		   Linux Programmers Manual	       GETHOSTNAME(2)



NAME
       gethostname, sethostname - get/set hostname

SYNOPSIS
       #include 

       int gethostname(char *name, size_t len);
       int sethostname(const char *name, size_t len);

   Feature Test Macro Requirements for glibc (see feature_test_macros(7)):

       gethostname(): _BSD_SOURCE || _XOPEN_SOURCE >= 500
       sethostname(): _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)

DESCRIPTION
       These  system calls are used to access or to change the hostname of the
       current processor.  The gethostname() system call returns a null-termi
       nated  hostname	(set  earlier by sethostname()) in the array name that
       has a length of len bytes.  In case the null-terminated	hostname  does
       not  fit,  no  error is returned, but the hostname is truncated.  It is
       unspecified whether the truncated hostname will be null-terminated.

RETURN VALUE
       On success, zero is returned.  On error, -1 is returned, and  errno  is
       set appropriately.

ERRORS
       EFAULT name is an invalid address.

       EINVAL len  is  negative  or, for sethostname(), len is larger than the
	      maximum allowed size, or, for gethostname() on  Linux/i386,  len
	      is  smaller  than the actual size.  (In this last case glibc 2.1
	      uses ENAMETOOLONG.)

       EPERM  For sethostname(), the caller did  not  have  the  CAP_SYS_ADMIN
	      capability.

CONFORMING TO
       SVr4,   4.4BSD	 (these   interfaces   first   appeared   in  4.2BSD).
       POSIX.1-2001 specifies gethostname() but not sethostname().

NOTES
       SUSv2  guarantees  that	"Host  names  are  limited  to	 255   bytes".
       POSIX.1-2001 guarantees that "Host names (not including the terminating
       null byte) are limited to HOST_NAME_MAX bytes".

   Glibc Notes
       The GNU C library implements gethostname() as a library	function  that
       calls  uname(2)	and  copies up to len bytes from the returned nodename
       field into name.  Having performed the copy, the function  then	checks
       if  the length of the nodename was greater than or equal to len, and if
       it is, then the function returns -1 with  errno	set  to  ENAMETOOLONG.
       Versions  of  glibc  before 2.2 handle the case where the length of the
       nodename was greater than or  equal  to	len  differently:  nothing  is
       copied  into  name and the function returns -1 with errno set to ENAME
       TOOLONG.

SEE ALSO
       getdomainname(2), setdomainname(2), uname(2)

COLOPHON
       This page is part of release 3.05 of the Linux  man-pages  project.   A
       description  of	the project, and information about reporting bugs, can
       be found at http://www.kernel.org/doc/man-pages/.



Linux				  2007-07-26			GETHOSTNAME(2)




Yals.net is © 1999-2009 Crescendo Communications
Sharing tech info on the web for more than a decade!
This page was generated Thu Apr 30 17:05:23 2009