Provided by: manpages-pt-dev_20040726-4_all bug

NOME

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

SINOPSE

       #include <unistd.h>

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

DESCRIÇÃO

       Estas funções são usadas para acessar ou alterar o nome da máquina do processador atual.

VALORES RETORNADOS

       Em  caso  de  successo,  zero  é  retornado.  Caso  contrário,  -1  é retornado, e errno é
       selecionado adequadamente.

ERROS

       EINVAL len é negativo ou, para sethostname, len é maior que o tamanho permitido, ou,  para
              gethostname  em  Linux/i386,  len  é menor que o tamanho atual.  (Neste último caso
              glibc 2.1 usa ENAMETOOLONG.)

       EPERM  Para sethostname, o solicitante não é o superusuário.

       EFAULT name é um endereço inválido.

DE ACORDO COM

       SVr4, 4.4BSD  (esta função apareceu primeiramente no BSD 4.2).  POSIX.1 não  define  estas
       funções, mas ISO/IEC 9945-1:1990 menciona elas no B.4.4.1.

PROBLEMAS

       De  acordo  com  o  SUSv2,  gethostname  devem retornar os bytes len (um hostname cortado,
       terminação nula ou não) quando o hostname é  comprido.   Linux/Alpha  (os  quais  tem  uma
       chamada  de  sistema  gethostname)  cumpre  com  este  requerimento, mas a libc e glibc no
       Linux/i386 somente retornan um erro neste caso.

NOTAS

       As definições de  sucesso  variam.  SUSv2  define  gethostname()  como  `retorno  hostname
       possivelmente  cortado', e tendo um pequeno len não causa retorno de erro. Certamente deve
       ser possível estar certo que um tenha obtido o hostname completo,  e  para  isto  terminar
       SUSv2 guarante que `Host names são limitados para 255 bytes'.

VEJA TAMBÉM

       getdomainname(2), setdomainname(2), uname(2)