错误说明

setdomainname()可能因以下错误而失败:

EFAULT
指向用户地址空间之外的名称。
EINVAL
len为负数或太大。
EPERM
调用方在与其UTS名称空间关联的用户名称空间中不具有CAP_SYS_ADMIN功能(请参阅namespaces(7))。

getdomainname()可能因以下错误而失败:

EINVAL
对于libc下的getdomainname():name为NULL或name大于len个字节。

遵循规范

POSIX没有指定这些调用。

说明

这些功能用于访问或更改主机系统的NIS域名。更准确地说,它们在与调用进程的UTS名称空间关联的NIS域名上运行。

setdomainname()将域名设置为字符数组名称中给定的值。 len参数指定名称中的字节数。 (因此,名称不需要终止的空字节。)

getdomainname()返回字符数组名称中以null终止的域名,该长度为len个字节。如果以空值结尾的域名需要多个len字节,则getdomainname()返回前len个字节(glibc)或给出错误(libc)。

名称

getdomainname,setdomainname-获取/设置NIS域名

返回值

成功时,返回零。如果出错,则返回-1,并正确设置errno。

出版信息

这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/

GETDOMAINNAME - Linux手册页

Linux程序员手册 第2部分
更新日期: 2019-10-10

语法

#包括

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)

另外参见

gethostname(2),sethostname(2),uname(2),uts_namespaces(7)

备注

从Linux 1.0开始,域名长度(包括终止的空字节)的限制为64个字节。在较早的内核中,它是8个字节。

在大多数Linux体系结构(包括x86)上,没有getdomainname()系统调用。相反,glibc将getdomainname()作为库函数实现,该函数返回从对uname(2)的调用中返回的域名字段的副本。

日期:2019-08-20 17:59:20 来源:oir作者:oir