Loading

NOM

       gethostname, sethostname - Lire/écrire le nom d’hôte

SYNOPSIS

       #include <unistd.h>

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

   Exigences  de  macros  de  test  de  fonctionnalités  pour  la  glibc (voir
   feature_test_macros(7)) :

       gethostname() : _BSD_SOURCE || _XOPEN_SOURCE >= 500
       sethostname() : _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE <500)

       Ces appels système sont utilisés pour obtenir ou changer le nom  d’hôte
       du processeur en cours.

       sethostname() définit le nom d’hôte à la valeur fournie dans le tableau
       d’octets name. Le paramètre len indique le  nombre  d’octets  dans  nom
       (ainsi, name n’a pas à contenir d’octet nul de fin).

       gethostname()  renvoie le nom d’hôte, avec un octet nul de fin, dans le
       tableau d’octets name, qui a une longueur de  len  octets.  Si  le  nom
       d’hôte avec son octet nul de fin est trop long pour tenir, alors le nom
       est tronqué, et aucune erreur n’est renvoyée (mais consultez la section
       NOTES  ci-dessous).  POSIX.1-2001 indique que dans le cas ou le nom est
       tronqué, il n’est pas spécifié si le tableau renvoyé inclut ou  pas  un
       octet nul de fin.

VALEUR RENVOYÉE

       En  cas  de  réussite,  zéro est renvoyé, sinon -1 est renvoyé et errno
       contient le code d’erreur.

ERREURS

       EFAULT name pointe en dehors de l’espace d’adressage accessible.

       EINVAL len est négatif ou, pour sethostname(), len est plus  grand  que
              la taille maximale autorisée.

       ENAMETOOLONG
              (gethostname()  de la glibc) len est plus petit que la véritable
              taille (avant la glibc 2.1, la glibc utilisait  EINVAL  dans  ce
              cas).

       EPERM  Pour    sethostname(),    l’appelant   n’a   pas   la   capacité
              CAP_SYS_ADMIN.

CONFORMITÉ

       SVr4, BSD 4.4 (ces interfaces sont apparues dans BSD 4.2). POSIX.1-2001
       définit gethostname() mais pas sethostname().

NOTES

       SUSv2  garantit  que  « les  noms  d’hôtes  sont limités à 255 octets».
       POSIX.1-2001 garantit que « les noms d’hôtes (non compris le  caractère
       NUL   final)   sont  limités  à  HOST_NAME_MAX  octets ».  Sous  Linux,
       HOST_NAME_MAX vaut la valeur 64, qui a été la limite depuis  Linux  1.0
       (les noyaux plus anciens imposaient une limite de 8 octets).

   Notes sur la glibc
       La  bibliothèque  C GNU n’utilise pas l’appel système gethostname() ; à
       la  place,  gethostname()  est  implémentée  comme  une   fonction   de
       bibliothèque qui appelle uname(2) et copie jusqu’à len octets depuis le
       champ nodename renvoyé dans name. Après la copie, la  fonction  vérifie
       si la longueur de nodename était supérieure ou égale à len, et si c’est
       le cas, la fonction renvoie -1 en positionnant  errno  à  ENAMETOOLONG.
       Les versions de glibc antérieures à 2.2 gèrent le cas où la longueur de
       nodename est supérieur ou égal à len de façon différente :  rien  n’est
       copié  dans  name,  et  la  fonction renvoie -1 en positionnant errno à
       ENAMETOOLONG ; dans ce cas, aucun caractère nul de fin n’est inclu dans
       la valeur name renvoyée.

       Les  versions  de  la  glibc  antérieures  à la version 2.2 prennent en
       charge différemment le cas où la longueur de nodename est supérieure ou
       égal  à  len :  rien n’est copié dans name et la fonction renvoie -1 en
       positionnant errno à ENAMETOOLONG.

VOIR AUSSI

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

COLOPHON

       Cette page fait partie de  la  publication  3.23  du  projet  man-pages
       Linux.  Une description du projet et des instructions pour signaler des
       anomalies      peuvent      être       trouvées       à       l’adresse
       http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Cette  page  de  manuel  a  été  traduite et mise à jour par Christophe
       Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis  par
       Alain  Portal  <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et mise à
       disposition sur http://manpagesfr.free.fr/.

       Les mises à jour et corrections de la version présente dans Debian sont
       directement gérées par Julien Cristau <jcristau@debian.org> et l’équipe
       francophone de traduction de Debian.

       Veuillez  signaler  toute  erreur   de   traduction   en   écrivant   à
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous pouvez toujours avoir accès à la version anglaise de  ce  document
       en utilisant la commande « man -L C <section> <page_de_man> ».