#include <sys/utsname.h> int uname(struct utsname *name);
The uname() function stores information identifying the current operating system in the structure pointed to by name.
The uname() function uses the utsname structure, defined in <sys/utsname.h>, whose members include:
char sysname[SYS_NMLN]; char nodename[SYS_NMLN]; char release[SYS_NMLN]; char version[SYS_NMLN]; char machine[SYS_NMLN];
The uname() function returns a null-terminated character string naming the current operating system in the character array sysname. Similarly, the nodename member contains the name by which the system is known on a communications network. The release and version members further identify the operating system. The machine member contains a standard name that identifies the hardware on which the operating system is running.
Upon successful completion, a non-negative value is returned. Otherwise, −1 is returned and errno is set to indicate the error.
The uname() function will fail if:
The name argument points to an illegal address.
See attributes(5) for descriptions of the following attributes: