Provided by: manpages-fr-dev_3.65d1p1-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[];    /* Nom du système d'exploitation
                                     (par exemple, "Linux") */
               char nodename[];   /* Nom dans "des réseaux définis
                                     par l'implémentation" */
               char release[];    /* release du système d'exploitation
                                     (par exemple "2.6.28") */
               char version[];    /* version du système d'exploitation */
               char machine[];    /* Identifiant du matériel */
           #ifdef _GNU_SOURCE
               char domainname[]; /* nom de domaine NIS ou YP */
           #endif
           };

       La longueur des chaînes de la struct utsname n'est pas spécifiée (consultez la section NOTES), les champs
       se terminent par un caractère nul ('\0').

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

       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 défini 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 nœud 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  /proc/sys/kernel/{ostype,  hostname,
       osrelease, version, domainname}.

   Interface noyau sous-jacente
       Avec  le temps, l'augmentation de la taille de la structure utsname a conduit à 3 versions 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  champ  domainname  supplémentaire.  La
       fonction  uname()  de la glibc cache ces détails aux applications, en appelant la version la plus récente
       de ces appels système fournie par le noyau.

VOIR AUSSI

       uname(1), getdomainname(2), gethostname(2)

COLOPHON

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

Linux                                            3 décembre 2008                                        UNAME(2)