man gethostname (Appels systèmes) - Lire / écrire le nom d'hôte.
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);
DESCRIPTION
Ces fonctions sont utilisées pour lire, ou changer le nom d'hôte de la machine utilisée. La fonction gethostname() place le nom d'hôte terminé par un caractère 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 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 NUL.
VALEUR RENVOYÉE
gethostname et sethostname renvoient 0 s'ils réussissent, ou -1 s'ils échouent, auquel cas errno contient le code d'erreur.
ERREURS
- 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'est pas le Super-User.
- EFAULT
- name pointe en dehors de l'espace d'adressage accessible.
CONFORMITÉ
SVr4, 4.4BSD (Cette fonction est apparue en premier dans 4.2BSD). POSIX.1003.1-2001 définit gethostname mais pas sethostname.
BOGUES
Sur de nombreux systèmes Linux / GlibC, gethostname renverra une erreur au lieu de tronquer le nom d'hôte.
NOTES
SUSv2 garantit que les "noms d'hôtes sont limités à 255 octets". Posix 1003.1-2001 garantit que les "noms d'hôtes (non compris le caractère NUL final) sont limités à HOST_NAME_MAX octets".
VOIR AUSSI
getdomainname(2), setdomainname(2), uname(2).
TRADUCTION
Christophe Blaess, 1996-2003.