HPlogo HP-UX Reference Volume 3 of 5 > g

getdomainname(2)

» 

Technical documentation

Complete book in PDF

 » Table of Contents

 » Index

NAME

getdomainname, setdomainname — get/set name of current Network Information Service domain

SYNOPSIS

int getdomainname(char *name, int namelen);

int setdomainname(char *name, int namelen);

DESCRIPTION

getdomainname() returns the name of the Network Information Service (NIS) domain for the current processor, as previously set by setdomainname(). The parameter namelen specifies the size of the name array. The returned value is null-terminated unless the area pointed to by name is not large enough to hold the domain name plus the null byte. In this case, only the namelen number of bytes is returned.

setdomainname() sets the domain of the host machine to name, which has a length of namelen. 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.

RETURN VALUE

If the call succeeds, a value of 0 is returned. If the call fails, a value of -1 is returned and errno is set to indicate the error.

ERRORS

If getdomainname() or setdomainname() fail, errno is set to one of the following values:

[EFAULT]

name points outside the accessible address space.

[EPERM]

The caller is not superuser. This error only applies to setdomainname().

WARNINGS

The length of the name 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 /var/yp. Since the NIS domain name can be as long as 64 characters, the domain name set with setdomainname() 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.

AUTHOR

getdomainname was developed by Sun Microsystems, Inc.

© Hewlett-Packard Development Company, L.P.