uname(2) System Calls Manual uname(2) NOM uname - Obtenir des informations a propos du noyau BIBLIOTHEQUE Bibliotheque C standard (libc, -lc) SYNOPSIS #include int uname(struct utsname *buf); DESCRIPTION uname() renvoie les informations dans le tampon buf. La structure utsname est definie dans comme suit : struct utsname { char sysname[]; /* Nom du systeme d'exploitation (par exemple, "Linux") */ char nodename[]; /* Nom dans le reseau de communication auquel le noeud est attache, s'il existe */ char release[]; /* Publication du systeme d'exploitation (par exemple "2.6.28") */ char version[]; /* Version du systeme d'exploitation */ char machine[]; /* Identifiant du materiel */ #ifdef _GNU_SOURCE char domainname[]; /* Nom de domaine NIS ou YP */ #endif }; La longueur des chaines de la struct utsname n'est pas specifiee (consultez la section NOTES), les champs se terminent par un caractere NULL ('\0'). VALEUR RENVOYEE En cas de succes, zero est renvoye. En cas d'erreur, -1 est renvoye et errno est definie pour preciser l'erreur. ERREURS EFAULT buf n'est pas valable. VERSIONS Le champ domainname (nom de domaine NIS ou YP) est une extension Gnu. La longueur des champs de la structure varie. Certains systemes d'exploitation ou bibliotheques utilisent des valeurs en dur de 9, 33, 65, ou 257. D'autres systemes utilisent SYS_NMLN, _SYS_NMLN, UTSLEN ou _UTSNAME_LENGTH. Clairement, il faut eviter d'utiliser ces constantes, employez plutot sizeof(...). SVr4 utilise 257 pour gerer des noms d'hote Internet -- c'est la valeur la plus grande susceptible d'etre rencontree dans la nature. STANDARDS POSIX.1-2008. HISTORIQUE POSIX.1-2001, SVr4, 4.4BSD. Differences entre bibliotheque C et noyau Avec le temps, l'augmentation de la taille de la structure utsname a conduit a 3 versions successives de uname() : sys_olduname() (entree __NR_oldolduname), sys_uname() (entree __NR_olduname) et sys_newuname() (entree __NR_uname). La premiere utilisait une longueur de 9 pour tous les champs, la seconde utilisait une longueur de 65 et la troisieme une longueur de 65 egalement mais avec un champ domainname supplementaire. La fonction d'enveloppe uname() de la glibc cache ces details aux applications en appelant la version la plus recente de ces appels systeme fournie par le noyau. NOTES Le noyau integre le nom, la publicaton, la version et le type de machine prise en charge. Inversement, le champ nodename est configure par l'administrateur pour correspondre au reseau (c'est ce que BSD appelle de facon historique le nom d'hote ("hostname") et qui est defini au moyen de sethostname(2)). De la meme maniere, le champ domainname est defini au moyen de setdomainname(2). Une partie des informations utsname est aussi accessible par /proc/sys/kernel/{ostype, hostname, osrelease, version, domainname}. VOIR AUSSI uname(1), getdomainname(2), gethostname(2), uts_namespaces(7) TRADUCTION La traduction francaise de cette page de manuel a ete creee par Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot et Jean-Pierre Giraud Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.06 31 octobre 2023 uname(2)