GETDOMAINNAME - Linux手册页
Linux程序员手册 第2部分
更新日期: 2019-10-10
名称
getdomainname,setdomainname-获取/设置NIS域名
语法
#包括
int getdomainname(char * name,size_t len);
int setdomainname(const char * name,size_t len);
glibc的功能测试宏要求(请参阅feature_test_macros(7)):
getdomainname(),setdomainname():
Since glibc 2.21: _DEFAULT_SOURCE In glibc 2.19 and 2.20: _DEFAULT_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500) Up to and including glibc 2.19: _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)
说明
这些功能用于访问或更改主机系统的NIS域名。更准确地说,它们在与调用进程的UTS名称空间关联的NIS域名上运行。
setdomainname()将域名设置为字符数组名称中给定的值。 len参数指定名称中的字节数。 (因此,名称不需要终止的空字节。)
getdomainname()返回字符数组名称中以null终止的域名,长度为len个字节。如果以空值结尾的域名需要多个len字节,则getdomainname()返回前len个字节(glibc)或给出错误(libc)。
返回值
成功时,返回零。如果出错,则返回-1,并正确设置errno。
错误说明
setdomainname()可能因以下错误而失败:
- EFAULT
- 指向用户地址空间之外的名称。
- EINVAL
- len为负数或太大。
- EPERM
- 调用方在与其UTS名称空间关联的用户名称空间中不具有CAP_SYS_ADMIN功能(请参阅namespaces(7))。
getdomainname()可能因以下错误而失败:
- EINVAL
- 对于libc下的getdomainname():name为NULL或name大于len个字节。
遵循规范
POSIX没有指定这些调用。
备注
从Linux 1.0开始,域名长度(包括终止的空字节)的限制为64个字节。在较早的内核中,它是8个字节。
在大多数Linux体系结构(包括x86)上,没有getdomainname()系统调用。相反,glibc将getdomainname()作为库函数实现,该函数返回从对uname(2)的调用中返回的域名字段的副本。
另外参见
gethostname(2),sethostname(2),uname(2),uts_namespaces(7)
出版信息
这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/。