GETHOSTNAME
Section : Manuel du programmeur Linux (
2)
Mise à jour de la version anglaise : 26 juillet 2007
Index
Menu principal
NOM
gethostname, sethostname - Lire/écrire le nom d'hôte
SYNOPSIS
#include <unistd.h>
int gethostname(char *nom, size_t lg);
int sethostname(const char *nom, size_t lg);
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)
DESCRIPTION
Ces appels système sont utilisés pour lire,
ou changer le nom d'hôte de la machine utilisée.
L'appel système
gethostname()
place le nom d'hôte terminé par un octet nul (précédemment fixé avec
sethostname())
dans la table de caractères
nom
contenant au moins
lg
octets.
Si le nom d'hôte suivi d'un octet nul ne tient pas dans cette zone
mémoire, il est tronqué sans qu'aucune erreur ne soit signalée.
Il n'est pas précisé si le nom d'hôte tronqué est terminé ou non
par un octet nul.
VALEUR RENVOYÉE
Ces appels renvoient 0 s'ils réussissent,
ou -1 s'ils échouent, auquel cas
errno
est renseignée 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 longueur maximale autorisée,
ou encore, pour
gethostname()
sur Linux/i386,
len
est plus petit que la taille nécessaire.
(Dans ce dernier cas, la glibc 2.1 utilise
ENAMETOOLONG).
- EPERM
-
Pour
sethostname(),
l'appelant n'a pas la capacité
CAP_SYS_ADMIN.
CONFORMITÉ
SVr4, BSD 4.4 (Ces appels système sont apparus en premier 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 l'octet
nul final) sont limités à
HOST_NAME_MAX
octets ».
Notes glibc
La glibc implémente
gethostname()
comme une fonction de bibliothèque qui appelle
uname(2)
et qui copie jusqu'à
len
octets du champ
nodename
renvoyé dans
name.
Une fois la copie effectuée, 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 renseignant
errno
avec
ENAMETOOLONG.
Les versions de la glibc antérieures à la 2.2
gèrent de façon différente le cas où la longueur de
nodename
est supérieure ou égale à
len :
rien n'est copié dans
name
et la fonction renvoie -1 en renseignant
errno
avec
ENAMETOOLONG.
VOIR AUSSI
getdomainname(2),
setdomainname(2),
uname(2).
TRADUCTION
Ce document est une traduction réalisée par Christophe Blaess
<http://www.blaess.fr/christophe/> le 11 octobre 1996
et révisée le 23 juin 2008.
L'équipe de traduction a fait le maximum pour réaliser une adaptation
française de qualité. La version anglaise la plus à jour de ce document est
toujours consultable via la commande : « LANG=C man 2 gethostname ».
N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute
erreur dans cette page de manuel.
Index
- NOM
-
- SYNOPSIS
-
- DESCRIPTION
-
- VALEUR RENVOYÉE
-
- ERREURS
-
- CONFORMITÉ
-
- NOTES
-
- Notes glibc
-
- VOIR AUSSI
-
- TRADUCTION
-
Dernière mise à jour : 23 juin 2008