Provided by: manpages-fr-dev_2.64.1-1_all bug

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 (’\0’).

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

       Une  partie des informations utsname est aussi accessible par sysctl(2)
       et  par   /proc/sys/kernel/{ostype,   hostname,   osrelease,   version,
       domainname}.

   Interface noyau sous-jacente
       Avec  le  temps, l’augmentation de la taille de la structure utsuname a
       conduit à 3 implémentations  successives  de  uname() :  sys_olduname()
       (entrée   __NR_oldolduname),   sys_uname()  (entrée  __NR_olduname)  et
       sys_newuname() (entrée __NR_uname). La première utilisait une  longueur
       de  9  pour tous les champs ; la seconde utilisait 65 ; et la troisième
       une  longueur  de  65  également  mais  avec   un   champs   domainname
       supplémentaire.  La  fonction uname() de la glibc cache ces détails aux
       applications, en s’assurant que les nouvelles applications liées  à  la
       bibliothèque   actuelle   utilisent   automatiquement  l’implémentation
       actuelle et que la compatibilité binaire des anciens binaire n’est  pas
       cassée.

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, et mise à
       disposition sur http://manpagesfr.free.fr/.

       Les mises à jour et corrections de la version présente dans Debian sont
       directement gérées par Julien Cristau <jcristau@debian.org> et l’équipe
       francophone de traduction de Debian.

       Veuillez  signaler  toute  erreur   de   traduction   en   écrivant   à
       <debian-l10n-french@lists.debian.org> ou 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> ».