uname - get name of current operating system
#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.
Independent software vendors (ISVs) and others should not use the uname command to determine detailed characteristics of the platform on which their software is either being installed or executed. Instead, tests for the particular feature or facility should be performed ideally either at runtime or at build time.
The operating system version and release are intended only as a very high level hint as to the Oracle Solaris installation. For more information about Oracle Solaris software versions, see the pkg(1) man page.
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(7) for descriptions of the following attributes: