Date création : 27-03-2008 20:23:44
 Vous êtes dans : GNU/Linux Astuces / Pages man [Section2 - Appels système]
UNAME
Index
- NOM
- SYNOPSIS
- DESCRIPTION
- VALEUR RENVOYÉE
- ERREURS
- CONFORMITÉ
- NOTES
- VOIR AUSSI
- TRADUCTION
NOM
uname - Obtenir des informations à propos du noyau.
SYNOPSIS
#include <sys/utsname.h>
int uname(struct utsname *buf);
DESCRIPTION
uname() renvoie les informations dans le tampon buf. La structure
utsname est définie dans <sys/utsname.h> comme suit :
-
struct utsname {
char sysname[];
char nodename[];
char release[];
char version[];
char machine[];
#ifdef _GNU_SOURCE
char domainname[];
#endif
};
La longueur des chaînes de la struct utsname n'est pas spécifiée, les
champs se terminent par un caractère nul ('rs0').
VALEUR RENVOYÉE
En cas de réussite, zéro est renvoyé, sinon -1 est renvoyé et errno
contient le code d'erreur.
ERREURS
- EFAULT
-
buf pointe en dehors de l'espace d'adressage accessible
CONFORMITÉ
SVr4, POSIX.1-2001. Il n'y a pas d'appel uname() dans BSD 4.3.
Le champ domainname (nom de domaine NIS ou YP) est une extension Gnu.
NOTES
Ceci est un appel système, et le système d'exploitation est supposé
connaître son nom, et ses numéros de version et de mise à jour. Il connaît
également le matériel sur lequel il tourne, ainsi les quatre premiers champs
de la structures sont significatifs. En revanche, le champ nodename n'est
pas significatif : il donne le nom de la machine dans un réseau non
précisé, mais généralement les machines sont connectées à plusieurs réseaux
et ont plusieurs noms. De plus, le noyau n'a pas de moyen de connaître ces
informations, et on doit les lui fournir. Ceci est vrai aussi pour le champ
supplémentaire domainname.
À cette fin, Linux utilise les appels système sethostname(2) et
setdomainname(2). Notez qu'aucun standard ne dit que le nom d'hôte fixé
par sethostname(2) représente la même chaîne que le champ nodename de
la structure renvoyée par uname() (de fait, certains systèmes autorisent
un nom d'hôte de 256 octets et un nom de noeud sur 8 octets), mais c'est le
cas sous Linux. La même chose est vraie pour setdomainname(2) et le champ
domainname.
La longueur des champs de la structure varie. Certains systèmes
d'exploitation ou bibliothèques utilisent des valeurs en dur de 9, 33, 65,
ou 257. D'autres systèmes utilisent SYS_NMLN, _SYS_NMLN, UTSLEN ou
_UTSNAME_LENGTH. Clairement, il faut éviter d'utiliser ces constantes,
employez plutôt sizeof(...). On choisit souvent la valeur 257 qui permet de
stocker un nom d'hôte Internet entier.
Il y a eu trois appels système uname() sous Linux. Le premier utilisait
une longueur de 9, le second de 65 et le troisième utilise également 65 mais
ajoute le champ domainname.
Une partie des informations utsname est aussi accessible par sysctl() et
par /proc/sys/kernel/{ostype, hostname, osrelease, version,
domainname}.
VOIR AUSSI
uname(1), getdomainname(2), gethostname(2)
TRADUCTION
Cette page de manuel a été traduite et mise à jour par
Christophe Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003,
puis par Alain Portal <aportal AT univ-montp2 DOT fr> jusqu'en 2006.
La traduction de cette page de manuel est basée sur les traductions
disponibles sur http://manpagesfr.free.fr/,
mais est gérée par l'équipe francophone de traduction de Debian
au travers de la liste de discussion debian-l10n-french.
Veuillez signaler toute erreur de traduction par un rapport de bogue sur
le paquet manpages-fr.
Vous pouvez toujours avoir accès à la version anglaise de ce document en
utilisant la commande
« man -L C <section> <page_de_man> ».
|