Man page - oldolduname(2)

Packages contains this manual

Available languages:

en fr it pl ja ru ro de

Manual

uname

NOME
LIBRERIA
SINTASSI
DESCRIZIONE
VALORE RESTITUITO
ERRORI
VERSIONI
CONFORME A
STORIA
Differenze tra la libreria C e il kernel
NOTE
VEDERE ANCHE
TRADUZIONE

NOME

uname - restituisce nome e informazioni sul kernel attuale

LIBRERIA

Libreria C standard ( libc , -lc )

SINTASSI

#include <sys/utsname.h>

int uname(struct utsname * buf );

DESCRIZIONE

uname () restituisce informazioni sul sistema attraverso il puntatore buf . La struttura utsname è definita in <sys/utsname.h> :

struct utsname {
char sysname[]; /* Nome del sistema operativo (per esempio "Linux") */
char nodename[]; /* Nome all’interno della rete alla
quale il nodo è eventualmente collegato. */
char release[]; /* rilascio del SO
(per esempio "2.6.28") */
char version[]; /* versione del SO */
char machine[]; /* identificatore hardware */
#ifdef _GNU_SOURCE
char domainname[]; /* nome di dominio NIS o YP */
#endif
};

La lunghezza dei vettori in una struttura utsname non è specificata (vedere NOTE); i campi sono terminati con un byte nullo ('\0').

VALORE RESTITUITO

In caso di successo restituisce zero. In caso di errore restituisce -1, e errno verrà impostato per indicare l’errore.

ERRORI

EFAULT

buf non è valido.

VERSIONI

Il membro domainname (il nome di dominio NIS o YP) è un’estensione GNU.

La lunghezza dei campi nella struttura varia. Alcuni sistemi operativi o librerie usano un valore prefissato 9 o 33 o 65 o 257. Altri sistemi usano SYS_NMLN o _SYS_NMLN o UTSLEN o _UTSNAME_LENGTH . È chiaramente una pessima idea usare una qualunque di queste costanti; si usi solo sizeof(...). SVr4 uses 257 per avere spazio per un nome di host Internet — questo è il valore più grande trovato in giro.

CONFORME A

POSIX.1-2008.

STORIA

POSIX.1-2001, SVr4, 4.4BSD.

Differenze tra la libreria C e il kernel

Col tempo, aumenti nella dimensione della struttura utsname hanno portato a tre versioni successive di uname (): sys_olduname () (slot __NR_oldolduname ), sys_uname () (slot __NR_olduname ), e sys_newuname () (slot __NR_uname ). La prima usava la lunghezza 9 per tutti i campi; la seconda usava 65; anche la terza usava 65, aggiungendo però il campo domainname . La funzione wrapper di glibc, uname (), nasconde questi dettagli alle applicazioni, invocando la versione più recente della chiamata di sistema fornita dal kernel.

NOTE

Il kernel ha nome, rilascio, versione e tipo macchina già all’interno. Di converso, il campo nodename è configurato dall’amministratore perché corrisponda alla rete (questo è quello che storicamente BSD chiama "hostname" ed è impostato con sethostname (2)). Analogamente il campo domainname è impostato con setdomainname (2).

Parte dell’informazione utsname è anche accessibile attraverso /proc/sys/kernel/ { ostype , hostname , osrelease , version , domainname }.

VEDERE ANCHE

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

TRADUZIONE

La traduzione italiana di questa pagina di manuale è stata creata da Goffredo Baroncelli <kreijack@usa.net>, Giulio Daprelà <giulio@pluto.it>, Elisabetta Galli <lab@kkk.it>, Marco Curreli <marcocurreli@tiscali.it> e Giuseppe Sacco <eppesuig@debian.org>

Questa traduzione è documentazione libera; leggere la GNU General Public License Versione 3 o successiva per le condizioni di copyright. Non ci assumiamo alcuna responsabilità.

Per segnalare errori nella traduzione di questa pagina di manuale inviare un messaggio a pluto-ildp@lists.pluto.it .