UNAME(2)

NOM
uname - Obtenir des informations à propos du noyau

BIBLIOTHÈQUE
Bibliothèque C standard (libc, -lc)

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[];    /* Operating system name (e.g., "Linux") */
        char nodename[];   /* Name within communications network
                              to which the node is attached, if any */
        char release[];    /* Operating system release
                              (e.g., "2.6.28") */
        char version[];    /* Operating system version */
        char machine[];    /* Hardware type identifier */
    #ifdef _GNU_SOURCE
        char domainname[]; /* NIS or YP domain name */
    #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 NULL ('\0').

VALEUR RENVOYÉE
En cas de succès, zéro est renvoyé. En cas d'erreur, -1 est renvoyé et errno est définie pour préciser l'erreur.

ERREURS

EFAULT
    buf n'est pas valable.

STANDARDS
POSIX.1-2001, POSIX.1-2008, SVr4, 4.4BSD.

Le champ domainname (nom de domaine NIS ou YP) est une extension Gnu.

NOTES
The kernel has the name, release, version, and supported machine type built in. Conversely, the nodename field is configured by the administrator to match the network (this is what the BSD historically calls the "hostname", and is set via sethostname(2)). Similarly, the domainname field is set via setdomainname(2).

The length of the fields in the struct varies. Some operating systems or libraries use a hardcoded 9 or 33 or 65 or 257. Other systems use SYS_NMLN or _SYS_NMLN or UTSLEN or _UTSNAME_LENGTH. Clearly, it is a bad idea to use any of these constants; just use sizeof(...). SVr4 uses 257, "to support Internet hostnames" — this is the largest value likely to be encountered in the wild.

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

  différences entre bibliothèque C et noyau
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 une longueur de 65 et la troisième une longueur de 65 également mais avec un champ domainname supplémentaire. La fonction d'enveloppe 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), uts_namespaces(7)

TRADUCTION
La traduction française de cette page de manuel a été créée par Christophe Blaess <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis Barbier <barbier@debian.org>, David Prévot <david@tilapin.org> et Jean-Pierre Giraud <jean-pierregiraud@neuf.fr>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 (https://www.gnu.org/licenses/gpl-3.0.html) concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.