Provided by: manpages-pt-br-dev_4.13-4_all bug

NOME

       gethostname, sethostname - obtém/define o nome da máquina

SINOPSE

       #include <unistd.h>

       int gethostname(char *name, size_t len);
       int sethostname(const char *name, size_t len);

   Requisitos de macro de teste de recursos para o glibc (consulte feature_test_macros(7)):

       gethostname():
           Desde o glibc 2.12: _BSD_SOURCE || _XOPEN_SOURCE >= 500
           || /* Desde o glibc 2.12: */ _POSIX_C_SOURCE >= 200112L
       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.  Caso  contrário,  -1  é  retornado,  e  errno  é  selecionado
       adequadamente.

ERROS

       EFAULT name é um endereço inválido.

       EINVAL len é negativo ou, para sethostname(), len é maior que o tamanho permitido.

       ENAMETOOLONG
              (glibc  gethostname())   len  é  menor que o tamanho real.  (Antes da versão 2.1, glibc usa EINVAL
              para este caso.)

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

DE ACORDO COM

       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.

       As versões do glibc anteriores à 2.2 tratam do caso em que o comprimento de nodename era maior ou igual a
       len  de  maneira  diferente:  nada  é  copiado  em  name  e  a  função retorna -1 com errno definido como
       ENAMETOOLONG.

VEJA TAMBÉM

       hostname(1), getdomainname(2), setdomainname(2), uname(2), uts_namespaces(7)

COLOFÃO

       Esta página faz parte da versão 5.10 do projeto Linux man-pages. Uma descrição  do  projeto,  informações
       sobre   relatórios   de   bugs   e   a  versão  mais  recente  desta  página  podem  ser  encontradas  em
       https://www.kernel.org/doc/man-pages/.

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                                            10 outubro 2019                                  GETHOSTNAME(2)