computer_knowledge_notes/Languages/CLang/libraries/sys/utsname.md

799 B
Raw Blame History

概述

系统识别。uts的意思是UNIX Timesharing System。

背景知识Linux有种命名空间。UTS, User, Mount, IPC, PID, Net。

相关数据结构

/* in sys/utsname.h */
struct utsname {
	char sysname[];    /* Operating system name (e.g., "Linux") */
	char nodename[];   /* Name within "some implementation-defined
                                     network" */
	char release[];    /* Operating system release (e.g., "2.6.28") */
	char version[];    /* Operating system version */
	char machine[];    /* Hardware identifier */
#ifdef _GNU_SOURCE
	char domainname[]; /* NIS or YP domain name */
#endif
};

相关函数

/* 获取当前内核的信息将其保存在buf里。
 * 返回值0,成功;-1失败。
*/
int uname(struct utsname *buf);