Linux x86_64Sistema & diversos#170
sethostname
Define o hostname do sistema (ou do namespace UTS atual).
Descrição
Exige CAP_SYS_ADMIN no namespace UTS relevante — em um namespace UTS isolado (ex.: um container), um processo sem privilégio global pode ainda ter permissão de alterá-lo dentro daquele namespace.
Header:
unistd.hman 2Assinatura
int sethostname(const char * name, size_t len);Parâmetros
| Parâmetro | Tipo | Descrição |
|---|---|---|
| name | const char * | Novo hostname. |
| len | size_t | Tamanho de `name`. |
Registradores (x86_64)
| Registrador | Papel | Argumento |
|---|---|---|
| rax | número da syscall (chamada) / valor de retorno (após SYSCALL) | — |
| rdi | argumento 1 | nameconst char * |
| rsi | argumento 2 | lensize_t |
Valor de retorno
0 em sucesso; -1 em erro, com errno definido.
Códigos de erro (errno)
- EFAULT(14)
- Endereço de memória inválido (ponteiro fora do espaço de endereçamento válido).
- EINVAL(22)
- Argumento inválido.
- ENAMETOOLONG(36)
- Nome de arquivo/caminho grande demais.
- EPERM(1)
- Operação não permitida (falta de privilégio).
Relacionadas
Equivalente em Windows Win32