GETDOMAINNAME(3)

NAME
getdomainname, setdomainname - get/set YP domain name of current host

SYNOPSIS
#include <unistd.h>
int
getdomainname(char *name, size_t namelen);
int
setdomainname(const char *name, size_t namelen);

DESCRIPTION
The getdomainname() function returns the YP domain name for the current processor, as previously set by setdomainname(). The parameter namelen specifies the size of the name array. If insufficient space is provided, the returned name is truncated. The returned name is always NUL terminated.

setdomainname() sets the domain 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 the system is bootstrapped. Under normal operation once the domainname is set, it cannot be changed.

RETURN VALUES
If the call succeeds, a value of 0 is returned. If the call fails, a value of -1 is returned and an error code is placed in the global variable errno.

ERRORS
The following errors may be returned by these calls:

[EFAULT]
    The name parameter gave an invalid address.

[EPERM]
    The caller tried to set the domain name and was not the superuser.

SEE ALSO
domainname(1), sysctl(2), gethostid(3), gethostname(3), sysctl(8), yp(8)

HISTORY
The getdomainname function call appeared in SunOS 3.x.

BUGS
Domain names are limited to MAXHOSTNAMELEN (from <sys/param.h>) characters, currently 256. This includes the terminating NUL character.

If the buffer passed to getdomainname() is too small, other operating systems may not guarantee termination with NUL.