Provided by: manpages-dev_3.27-1ubuntu2_all bug

NAME

       getdomainname, setdomainname - get/set domain name

SYNOPSIS

       #include <unistd.h>

       int getdomainname(char *name, size_t len);
       int setdomainname(const char *name, size_t len);

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

       getdomainname(), setdomainname():
           _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)

DESCRIPTION

       These  functions are used to access or to change the domain name of the
       host system.

       setdomainname() sets  the  domain  name  to  the  value  given  in  the
       character  array  name.  The len argument specifies the number of bytes
       in name.  (Thus, name does not require a terminating null byte.)

       getdomainname()  returns  the  null-terminated  domain  name   in   the
       character  array  name,  which has a length of len bytes.  If the null-
       terminated domain name requires more than  len  bytes,  getdomainname()
       returns the first len bytes (glibc) or gives an error (libc).

RETURN VALUE

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

ERRORS

       setdomainname() can fail with the following errors:

       EFAULT name pointed outside of user address space.

       EINVAL len was negative or too large.

       EPERM  the  caller  is  unprivileged  (Linux:   does   not   have   the
              CAP_SYS_ADMIN capability).

       getdomainname() can fail with the following errors:

       EINVAL For  getdomainname()  under libc: name is NULL or name is longer
              than len bytes.

CONFORMING TO

       POSIX does not specify these calls.

NOTES

       Since Linux 1.0, the limit on the length of a  domain  name,  including
       the  terminating  null  byte,  is 64 bytes.  In older kernels, it was 8
       bytes.

       On  most   Linux   architectures   (including   x86),   there   is   no
       getdomainname()  system call; instead, glibc implements getdomainname()
       as a library function that returns  a  copy  of  the  domainname  field
       returned from a call to uname(2).

SEE ALSO

       gethostname(2), sethostname(2), uname(2)

COLOPHON

       This  page  is  part of release 3.27 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/.