uname - получение имени текущей UNIX-системы
#include <sys/utsname.h>
int uname (name) struct utsname *name;
Системный вызов uname заносит информацию, идентифицирующую используемую UNIX-систему, в структуру, на которую указывает аргумент name.
Системный вызов uname использует структуру, определенную во включаемом файле , элементами которой являются:
char sysname[9]; char nodename[9]; char release[9]; char version[9]; char machine[9];
После успешного завершения системного вызова uname массив sysname содержит ограниченную нулевым байтом цепочку символов - имя текущей UNIX-системы. Аналогично, массив nodename содержит имя, под которым система известна в сети. Release и version идентифицируют версию и модификацию операционной системы. Machine содержит стандартное имя, идентифицирующее аппаратуру, на которой выполняется UNIX-система.
Системный вызов uname завершается неудачей, если:
[EFAULT] Аргумент name указывает за пределы отведенного процессу адресного пространства.
в Справочнике пользователя.
При успешном завершении возвращается неотрицательное значение. В случае ошибки возвращается -1, а переменной errno присваивается код ошибки.