UNAME(3) | Library Functions Manual | UNAME(3)

# NAME

`uname` —
get system identification

# LIBRARY

Standard C Library (libc, -lc)

# SYNOPSIS

`#include <sys/utsname.h>`

int
`uname`(struct utsname *name);

# DESCRIPTION

The `uname`() function stores nul-terminated strings of information identifying the current system into the structure referenced by name.

The utsname structure is defined in the `<sys/utsname.h>` header file, and contains the following members:

sysname
  Name of the operating system implementation. Equivalent to the sysctl(7) kern.ostype variable.
nodename
  Network name of this machine. Equivalent to the sysctl(7) kern.hostname variable.
release
  Release level of the operating system. Equivalent to the sysctl(7) kern.osrelease variable.
version
  Version level of the operating system. Equivalent to the sysctl(7) kern.version variable, except that very long values are truncated, and newlines are converted to spaces.
machine
  Machine hardware platform. Equivalent to the sysctl(7) hw.machine variable.

# RETURN VALUES

If `uname` is successful, 0 is returned, otherwise, -1 is returned and errno is set appropriately.

# ERRORS

The `uname`() function may fail and set errno for any of the errors specified for the library functions sysctl(3).

# SEE ALSO

uname(1), sysctl(3)

# STANDARDS

The `uname`() function conforms to IEEE Std 1003.1-1990 (“POSIX.1”).

# HISTORY

The `uname` function first appeared in 4.4BSD.

June 14, 2014 | NetBSD 9.2