getdomainname, setdomainname — get or set name of current Network Information Service domain
int getdomainname(char *name, int namelen);
int setdomainname(char *name, int namelen);
returns the name of the Network Information Service (NIS)
domain for the current processor, as previously set by
specifies the size of the
The returned value is null-terminated unless the area pointed to by
is not large enough to hold the domain name plus the null byte.
In this case, only the
number of bytes is returned.
sets the domain of the host machine to
which has a length of
This call is restricted to the superuser and is normally used only
when the system is booted.
These Network Information Service domains enable two distinct networks
with common host names to merge.
Each network is distinguished by having a different domain name.
Currently, only the Network Information Service uses these domains.
If the call succeeds, a value of 0 is returned.
If the call fails, a value of -1 is returned
is set to indicate the error.
is set to one of the following values:
points outside the accessible address space.
The caller is not superuser.
This error only applies to
The length of the
array should be at least 65; NIS domain names can be up to
64 characters long.
NIS servers use the NIS domain name as the name of a subdirectory of
Since the NIS domain name can be as long as 64 characters,
the domain name set with
can exceed the maximum file name length allowed on the local file system.
If that length is exceeded, the name of the subdirectory is the truncated
NIS domain name.
was developed by Sun Microsystems, Inc.