sethostname 子例程

用途

设置当前主机的名称。

标准 C 库 (libc.a)

语法

int sethostname ( Name,  NameLength)
char *Name;
int NameLength;

描述

sethostname 子例程设置主机的名称。 只有具有 root 用户标识的程序才能使用此子例程。

sethostname 子例程允许具有 root 用户权限的调用进程设置网络上机器的内部主机名。

包含 sethostname 子例程的所有应用程序都必须在 _BSD 宏设置为特定值的情况下进行编译。 可接受的值为 43 和 44。 此外,所有套接字应用程序都必须包含 BSD libbsd.a 库。

参数

描述
名称 指定主机的名称。
NameLength 指定 Name 数组的长度。

返回值

成功完成后,系统将返回值 0。

如果 sethostname 子例程不成功,那么子例程处理程序将执行以下函数:

  • 会向调用程序返回-1的值。
  • 将指示特定错误的错误代码移动到 errno 全局变量中。 有关 errno 变量的进一步说明,请参阅 一般编程概念: 编写和调试程序中的 错误通知对象类

错误代码

如果发生以下任何错误,那么 sethostname 子例程将失败:

错误 描述
Efault Name 参数或 NameLength 参数给出了无效的地址。
EPERM 调用进程没有有效的 root 用户标识。