Updated: April 19, 2023 |
Get information about the operating system
#include <sys/utsname.h> int uname( struct utsname * name );
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
The uname() function stores information about the current operating system in the structure pointed to by the argument name.
The system name structure, utsname, is defined in <sys/utsname.h>, and contains at least the following structure members:
If you're running a safety version of the kernel, the release level includes an uppercase S. The uppercase S is removed when you run a non-safety version of the kernel.
Each of these items is a null-terminated character array.
/* * The following program prints some information about the * system it's running on. */ #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <sys/utsname.h> int main( void ) { struct utsname sysinfo; if( uname( &sysinfo ) == -1 ) { perror( "uname" ); return EXIT_FAILURE; } printf( "system name : %s\n", sysinfo.sysname ); printf( "node name : %s\n", sysinfo.nodename ); printf( "release name : %s\n", sysinfo.release ); printf( "version name : %s\n", sysinfo.version ); return EXIT_SUCCESS; }
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | No |
Signal handler | Yes |
Thread | Yes |