Provided by: manpages-pt-br-dev_4.27.0-1_all bug

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)).

VERSÕES

       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.

PADRÕES

       gethostname()
              POSIX.1-2008.

       sethostname()
              None.

HISTÓRICO

       SVr4, 4.4BSD (esta função apareceu primeiramente  no  4.2BSD).  POSIX.1-2001  e  POSIX.1-2008  especifica
       gethostname(), mas não sethostname().

       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.9.1                              2 maio 2024                                    gethostname(2)