GETHOSTID(3)

NOM
gethostid, sethostid - Lire/écrire l'identifiant unique de l'hôte

SYNOPSIS
#include <unistd.h>

long gethostid(void);
int sethostid(long hostid);

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

gethostid() :
    _BSD_SOURCE || _XOPEN_SOURCE >= 500 || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED
sethostid() :
    _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)

DESCRIPTION
gethostid() et sethostid() récupèrent et définissent respectivement un identifiant 32 bits unique pour la machine. L'identifiant 32 bits est supposé être unique pour tous les systèmes UNIX. En général, il ressemble à l'adresse internet de la machine local, comme renvoyée par gethostbyname(3) et il ne devrait pas être nécessaire de le définir. L'appel de sethostid() est bien sûr limité au superutilisateur.

VALEUR RENVOYÉE
gethostid() retourne l'identifiant sur 32 bits de l'hôte, tel qu'il a été positionné par sethostid(). Si elle réussit, sethostid() renvoie 0. En cas d'erreur, elle renvoie -1 et remplit errno en conséquence.

ERREURS
sethostid() peut échouer pour les raisons suivantes :

EACCES
    L'appelant n'a pas les permissions d'écrire dans le fichier utilisé pour sauvegarder l'ID de l'hôte.

EPERM
    L'ID de l'utilisateur ou du groupe effectif du processus appelant ne correspond pas à l'ID réel.

CONFORMITÉ
BSD 4.2. Ces fonctions ont été abandonnées dans BSD 4.4. SVr4 contient gethostid() mais pas sethostid(). POSIX.1-2001 spécifie gethostid() mais pas sethostid().

NOTES
Dans l'implémentation de la glibc, hostid est sauvegardé dans le fichier /etc/hostid (pour les versions antérieures à la glibc 2.2, /var/adm/hostid était utilisé). Dans l'implémentation de la glibc, si gethostid() ne peut pas ouvrir le fichier contenant l'ID de l'hôte, alors elle obtient le nom d'hôte avec gethostname(2), passe ce nom d'hôte à gethostbyname_r(3) de façon à obtenir l'adresse IPv4 de l'hôte, et renvoie l'adresse IPv4 modifée par manipulation de bits (« bit-twilling ») (cette valeur peut ne pas être unique).

BOGUES
Il est impossible de s'assurer que l'identifiant est globalement unique.

VOIR AUSSI
hostid(1), gethostbyname(3).

COLOPHON
Cette page fait partie de la publication 3.70 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 à <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> ».