GETDOMAINNAME(3) | Library Functions Manual | 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.

July 26, 2022 | Debian