These functions are used to access or to change the domain name of the current processor. If the null-terminated domain name requires more than len bytes,getdomainname() returns the first len bytes (glibc) or returns an error (libc).
On success, zero is returned. On error, -1 is returned, and errno is set appropriately.
For setdomainname(): name yiibaied outside of user address space.
For getdomainname() under libc: name is NULL or name is longer than len bytes.
For setdomainname(): len was negative or too large.
For setdomainname(): the caller is unprivileged (Linux: does not have the CAP_SYS_ADMIN capability).