1. NOM

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

2. 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)

3. 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.

4. 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.

5. 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.

6. 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().

7. 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).

8. BOGUES

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

9. VOIR AUSSI

10. COLOPHON

Cette page fait partie de la publication 3.52 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/.

11. 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 à <>.

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