Go to the previous, next section.
You can use the uname function to find out some information about
the type of computer your program is running on. This function and the
associated data type are declared in the header file
`sys/utsname.h'.
The utsname structure is used to hold information returned
by the uname function. It has the following members:
char sysname[]
char nodename[]
gethostname;
see section Host Identification.
char release[]
char version[]
char machine[]
Some systems provide a mechanism to interrogate the kernel directly for this information. On systems without such a mechanism, the GNU C library fills in this field based on the configuration name that was specified when building and installing the library.
GNU uses a three-part name to describe a system configuration; the three parts are cpu, manufacturer and system-type, and they are separated with dashes. Any possible combination of three names is potentially meaningful, but most such combinations are meaningless in practice and even the meaningful ones are not necessarily supported by any particular GNU program.
Since the value in machine is supposed to describe just the
hardware, it consists of the first two parts of the configuration name:
`cpu-manufacturer'. For example, it might be one of these:
"sparc-sun","i386-anything","m68k-hp","m68k-sony","m68k-sun","mips-dec"
Function: int uname (struct utsname *info)
The uname function fills in the structure pointed to by
info with information about the operating system and host machine.
A non-negative value indicates that the data was successfully stored.
-1 as the value indicates an error. The only error possible is
EFAULT, which we normally don't mention as it is always a
possibility.
Go to the previous, next section.