sethostname

GETHOSTNAME(2)           Manual do Programador do Linux           GETHOSTNAME(2)



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

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 e anteriores */ _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 é 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.11 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 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ 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 ⟨debian-l10n-portuguese@
       lists.debian.org⟩.



Linux                             22 março 2021                   GETHOSTNAME(2)