sethostname

GETHOSTNAME(2)             Manuel du programmeur Linux            GETHOSTNAME(2)



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



Linux                           26 septembre 2010                 GETHOSTNAME(2)