Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
GETHOSTNAME(3)	       FreeBSD Library Functions Manual		GETHOSTNAME(3)

NAME
     gethostname, sethostname -- get/set name of current host

LIBRARY
     Standard C	Library	(libc, -lc)

SYNOPSIS
     #include <unistd.h>

     int
     gethostname(char *name, size_t namelen);

     int
     sethostname(const 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 name array.  The	returned name is null-termi-
     nated 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 super-user and
     is	normally used only when	the system is bootstrapped.

     Applications should use sysconf(_SC_HOST_NAME_MAX)	to find	the maximum
     length of a host name (not	including the terminating null).

RETURN VALUES
     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.

ERRORS
     The following errors may be returned by these calls:

     [EFAULT]		The name or namelen argument gave an invalid address.

     [ENAMETOOLONG]	The current host name is longer	than namelen.  (For
			gethostname() only.)

     [EPERM]		The caller tried to set	the host name and was not the
			super-user.

SEE ALSO
     sysconf(3), sysctl(3)

STANDARDS
     The gethostname() function	conforms to IEEE Std 1003.1-2001 ("POSIX.1").
     Callers should be aware that {HOST_NAME_MAX} may be variable or infinite,
     but is guaranteed to be no	less than {_POSIX_HOST_NAME_MAX}.  On older
     systems, this limit was defined in	the non-standard header	<sys/param.h>
     as	MAXHOSTNAMELEN,	and counted the	terminating null.  The sethostname()
     function and the error returns for	gethostname() are not standardized.

HISTORY
     The gethostname() function	appeared in 4.2BSD.  The namelen argument to
     gethostname() was changed to size_t in FreeBSD 5.2	for alignment with
     IEEE Std 1003.1-2001 ("POSIX.1").

FreeBSD	13.0			 July 13, 2020			  FreeBSD 13.0

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO | STANDARDS | HISTORY

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=gethostname&sektion=3&manpath=FreeBSD+13.2-RELEASE>

home | help