Provided by: manpages-fr-dev_3.57d1p1-1_all bug

NOM

       gethostname, sethostname - Lire et é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 (consultez feature_test_macros(7)) :

       gethostname() :
           Depuis la glibc 2.12 : _BSD_SOURCE || _XOPEN_SOURCE >= 500
           || /* Depuis la glibc 2.12 : */ _POSIX_C_SOURCE >= 200112L
       sethostname() :
           _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)

DESCRIPTION

       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

       S'il réussit, cet appel système renvoie 0. S'il échoue, il renvoie -1 et remplit errno en conséquence.

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 inclus 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.57 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

       Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a <http://po4a.alioth.debian.org/> par
       l'équipe de traduction francophone au sein du projet perkamon <http://perkamon.alioth.debian.org/>.

       Christophe       Blaess       <http://www.blaess.fr/christophe/>      (1996-2003),      Alain      Portal
       <http://manpagesfr.free.fr/> (2003-2006).  Julien  Cristau  et  l'équipe  francophone  de  traduction  de
       Debian (2006-2009).

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