8.15. Функция uname()

8.15. Функция uname()

Функция uname() возвращает информацию о системе, в частности сетевое и доменное имена компьютера, а также версию операционной системы. Единственным аргументом функции является указатель на структуру типа utsname. Функция заполняет следующие поля этой структуры (все эти поля содержат текстовые строки).

? sysname. Здесь содержится имя операционной системы (например, Linux).

? release, version. В этих полях указываются номера версии и модификации ядра.

? machine. Здесь приводится информация о платформе, на которой работает система. В случае Intel-совместимых компьютеров это будет либо i386, либо i686, в зависимости от процессора.

? node. Это имя компьютера.

? __domain. Это имя домена.

Функция uname() объявлена в файле <sys/utsname.h>.

В листинге 8.13 показана небольшая программа, которая отображает номера версии и модификации ядра Linux, а также сообщает тип платформы.

Листинг 8.15. (print-uname.c) Вывод информации о ядре и платформе

#include <stdio.h>

#include <sys/utsname.h>

int main() {

 struct utsname u;

 uname(&u);

 printf("%s release %s (version %s) on %s ", u.sysname,

  u.release, u.version, u.machine);

 return 0;

}