Home > Articles > Operating Systems, Server > Linux/UNIX/Open Source

  • Print
  • + Share This
This chapter is from the book

This chapter is from the book

8.15 uname

The uname system call fills a structure with various system information, including the computer's network name and domain name, and the operating system version it's running. Pass uname a single argument, a pointer to a struct utsname object. Include <sys/utsname.h> if you use uname.

The call to uname fills in these fields:

  • sysname—The name of the operating system (such as Linux).

  • release, version—The Linux kernel release number and version level.

  • machine—Some information about the hardware platform running Linux. For x86 Linux, this is i386 or i686, depending on the processor.

  • node—The computer's unqualified hostname.

  • __domain—The computer's domain name.

Each of these fields is a character string.

The small program in Listing 8.13 prints the Linux release and version number and the hardware information.

Listing 8.13 (print-uname) Print Linux Version Number and Hardware Information

#include <stdio.h>
#include <sys/utsname.h>

int main ()
 struct utsname u;
 uname (&u);
 printf ("%s release %s (version %s) on %s\n", u.sysname, u.release, 
     u.version, u.machine);
 return 0;
  • + Share This
  • 🔖 Save To Your Account