Provided by:
manpages-es_1.55-10_all 
NOMBRE
uname - obtiene el nombre e informacion del nucleo actual
SINOPSIS
#include <sys/utsname.h>
int uname(struct utsname *buf);
DESCRIPCI'ON
uname devuelve informacion del sistema en la estructura apuntada por
buf. La estructura utsname se define en <sys/utsname.h>:
struct utsname {
char sysname[];
char nodename[];
char release[];
char version[];
char machine[];
#ifdef _GNU_SOURCE
char domainname[];
#endif
};
La longitud de los vectores de la estructura utsname es indefinida; los
campos terminan en NUL.
VALOR DEVUELTO
En caso de exito, se devuelve cero. En caso de error, se devuelve -1 y
se establece el errno apropiado.
ERRORES
EFAULT buf no es valido.
CONFORME A
SVr4, SVID, POSIX, X/OPEN. No hay ninguna llamada uname en BSD 4.3.
El miembro domainname (el nombre de dominio NIS o YP) es una extension
de GNU.
OBSERVACIONES
Esta es una llamada al sistema, y el sistema operativo conoce
presumiblemente su nombre, revision y version. Tambien sabe sobre que
hardware se ejecuta. Por tanto, cuatro de los campos de la estructura
son relevantes. Por otra parte, el campo nodename carece de
importancia: da el nombre de la maquina actual en alguna red
indefinida, pero normalmente las maquinas se encuentran en mas de una
red y tienen muchos nombres. Ademas, el nucleo no tiene manera de
conocer estas situaciones, por lo que hay que decirle como actuar en
este caso. Lo mismo vale para el campo adicional domainname.
Para este proposito Linux utiliza las llamadas al sistema
sethostname(2) y setdomainname(2). Observe que no hay ningun estandar
que diga que el nombre de host establecido por sethostname(2) sea la
misma cadena que contiene el campo nodename de la estructura devuelta
por uname (de hecho, algunos sistemas permiten un nombre de host de 256
bytes y un nodename de 8 bytes), pero esto es cierto en Linux. Lo mismo
vale para setdomainname(2) y el campo domainname.
La longitud de los campos en la estructura varia. Algunos sistemas
operativos o bibliotecas usan valores fijos como 9, 33, 65 o 257. Otros
sistemas usan SYS_NMLN o _SYS_NMLN o UTSLEN o _UTSNAME_LENGTH.
Claramente, es una mala idea usar cualquiera de estas constantes - tan
solo utilice sizeof(...). A menudo se elige 257 con el fin de tener
espacio para un nombre de host en internet.
Ha habido tres llamadas al sistema uname() en Linux. La primera usaba
longitud 9, la segunda usaba 65, la tercera tambien usa 65 pero anade
el campo domainname.
Parte de la informacion de utsname tambien puede ser accedida via
sysctl y via /proc/sys/kernel/{ostype, hostname, osrelease, version,
domainname}.
V'EASE TAMBI'EN
uname(1), getdomainname(2), gethostname(2)