GETDOMAINNAME(2)

NOM
getdomainname, setdomainname - Lire et écrire le nom de domaine

SYNOPSIS
#include <unistd.h>

int getdomainname(char *name, size_t len);
int setdomainname(const char *name, size_t len);

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

getdomainname(), setdomainname() :
    _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)

DESCRIPTION
Ces fonctions sont utilisées pour obtenir ou changer le nom de domaine de l'hôte système. setdomainname() fice le nom de domaine à la valeur fournie dans le tableau de caractères name. Le paramètre len indique le nombre d'octets de name (name n'a donc pas à se terminer par un caractère nul). Ces deux fonctions servent à lire ou à changer le nom de domaine de l'hôte concerné. Si le nom de domaine, suivi d'un caractère nul, nécessite plus de len octets pour être stocké, getdomainname() renvoie les len premiers octets (glibc), ou produit une erreur (libc).

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
setdomainname() peut échouer avec les erreurs suivantes :

EFAULT
    name pointe en-dehors de l'espace d'adressage utilisateur.

EINVAL
    len est négatif ou trop large.

EPERM
    l'appelant n'est pas privilégié (Linux : n'a pas la capacité CAP_SYS_ADMIN).

getdomainname() peut échouer avec les erreurs suivantes :

EINVAL
    Avec getdomainname() et la Libc : name est NULL ou name est plus long que len.

CONFORMITÉ
Ces fonctions ne sont pas spécifiées par POSIX.

NOTES
Depuis Linux 1.0, la limite sur la taille d'un nom de domaine, octet nul de fin compris, est de 64 octets. Dans les noyaux plus anciens, elle était de 8 octets. Sur la plupart des architectures Linux (x86 incluse), il n'y a pas d'appel système getdomainname() ; à la place, la glibc implémente getdomainname() comme une fonction de bibliothèque qui renvoie une copie du champ domainname renvoyé par un appel à uname(2).

VOIR AUSSI
gethostname(2), sethostname(2), uname(2)

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

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

Christophe Blaess <URL:http://www.blaess.fr/christophe/> (1996-2003), Alain Portal <URL: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 à <perkamon-fr@traduc.org>.

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