Provided by: manpages-pt-br-dev_4.21.0-2_all 

NOME
gethostname, sethostname - obtém/define o nome da máquina
BIBLIOTECA
Biblioteca C Padrão (libc, -lc)
SINOPSE
#include <unistd.h>
int gethostname(char *nome, size_t comp);
int sethostname(const char *nome, size_t comp);
Requisitos de macro de teste de recursos para o glibc (consulte feature_test_macros(7)):
gethostname():
_XOPEN_SOURCE >= 500 || _POSIX_C_SOURCE >= 200112L
|| /* glibc 2.19 and earlier */ _BSD_SOURCE
sethostname():
Desde o glibc 2.21:
_DEFAULT_SOURCE
No glibc 2.19 e 2.20:
_DEFAULT_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)
Até e incluindo o glibc 2.19:
_BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)
DESCRIÇÃO
Estas chamadas de sistema são usadas para acessar ou alterar o nome da máquina do processador atual. Mais
precisamente, elas operam no nome de máquina associado com o espaço de nomes de UTS do processo chamador.
sethostname() define o nome de máquina com o valor fornecido na matriz de caracteres name. O argumento
len especifica o número de bytes em name. (Portanto, name não requer um byte nulo final.)
gethostname() retorna o nome da máquina terminado em nulo no vetor de caracteres name, que possui um
comprimento de len bytes. Se o nome da máquina terminado em nulo for muito grande para caber, o nome será
truncado e nenhum erro será retornado (mas consulte as NOTAS abaixo). O POSIX.1 diz que, se esse
truncamento ocorrer, não será especificado se o buffer retornado inclui um byte nulo final.
VALOR DE RETORNO
Em caso de sucesso, zero é retornado. Em caso de erro, -1 é retornado, e errno é definido para indicar o
erro.
ERROS
EFAULT name é um endereço inválido.
EINVAL len é negativo ou, para sethostname(), len é maior que o tamanho permitido.
ENAMETOOLONG
(glibc gethostname()) len is smaller than the actual size. (Before glibc 2.1, glibc uses EINVAL
for this case.)
EPERM Para sethostname(), o chamador não tinha a capacidade CAP_SYS_ADMIN no espaço de nomes de usuário
associado ao seu espaço de nomes UTS (consulte namespaces(7)).
PADRÕES
SVr4, 4.4BSD (esta função apareceu primeiramente no 4.2BSD). POSIX.1-2001 e POSIX.1-2008 especifica
gethostname(), mas não sethostname().
NOTAS
O SUSv2 garante que "Os nomes de máquina estão limitados a 255 bytes". O POSIX.1 garante que "Os nomes de
máquina (não incluindo o byte nulo final) são limitados a HOST_NAME_MAX bytes". No Linux, HOST_NAME_MAX é
definido com o valor 64, que tem sido o limite desde o Linux 1.0 (os kernels anteriores impuseram um
limite de 8 bytes).
Diferenças entre kernel/biblioteca C
A biblioteca GNU C não emprega a chamada de sistema gethostname(); em vez disso, implementa gethostname()
como uma função de biblioteca que chama uname(2) e copia até len bytes do campo nodename retornado em
name. Depois de executar a cópia, a função verifica se o comprimento de nodename foi maior ou igual a len
e, se for, então a função retorna -1 com errno definido como ENAMETOOLONG ; nesse caso, um byte nulo
final não é incluído no name retornado.
Versions of glibc before glibc 2.2 handle the case where the length of the nodename was greater than or
equal to len differently: nothing is copied into name and the function returns -1 with errno set to
ENAMETOOLONG.
VEJA TAMBÉM
hostname(1), getdomainname(2), setdomainname(2), uname(2), uts_namespaces(7)
TRADUÇÃO
A tradução para português brasileiro desta página man foi criada por André Luiz Fassone
<lonely_wolf@ig.com.br>, Ricardo C.O.Freitas <english.quest@best-service.com> e Rafael Fontenelle
<rafaelff@gnome.org>.
Esta tradução é uma documentação livre; leia a Licença Pública Geral GNU Versão 3 ou posterior para as
condições de direitos autorais. Nenhuma responsabilidade é aceita.
Se você encontrar algum erro na tradução desta página de manual, envie um e-mail para a lista de
discussão de tradutores.
Linux man-pages 6.03 5 fevereiro 2023 gethostname(2)