utsname
utsname 模块提供获取系统标识信息的接口,包括操作系统名称、节点名称、内核版本号等。该模块遵循 POSIX 标准,通过 uname() 函数将系统信息填充到 struct utsname 结构体中。
头文件清单
接口清单
| 接口名称 | 功能简述 |
|---|---|
| uname | 获取当前系统信息 |
Functions
uname
函数声明
头文件清单
功能说明
- 获取当前系统的名称、节点名、版本等信息,写入调用者提供的
struct utsname结构体中 sysname成员填充操作系统名称,nodename成员填充供应商名称(可通过LOSCFG_LIB_VENDORNAME配置),release成员填充内核版本号,version成员填充版本编译信息machine和domainname成员不返回硬件标识符和域名信息,置为空字符串
前置条件
- 入参约束:传入的
name指针非空且指向有效的struct utsname结构体内存 - 依赖关系:系统已完成 LiteOS 内核初始化,相关配置宏(如
LOSCFG_COMPAT_POSIX)已开启
出参
| 名称 | 参数类型 | 详细说明 | 约束取值范围 |
|---|---|---|---|
| name | struct utsname * | 指向用于存储系统信息的结构体指针 | 非NULL |
返回值
| 返回值 | 文字含义 | 触发场景 |
|---|---|---|
| 0 | 执行成功 | 系统信息成功写入结构体 |
| -1 | 执行失败 | name为NULL或字符串拷贝失败 |
Structures
struct utsname
struct utsname {
char sysname[65];
char nodename[65];
char release[65];
char version[65];
char machine[65];
#ifdef _GNU_SOURCE
char domainname[65];
#else
char __domainname[65];
#endif
};
成员说明
| 成员名称 | 数据类型 | 描述 |
|---|---|---|
| sysname | char[65] | 操作系统名称,如"Huawei LiteOS" |
| nodename | char[65] | 节点名称,由LOSCFG_LIB_VENDORNAME配置决定,默认为"vendor" |
| release | char[65] | 内核版本号 |
| version | char[65] | 版本编译信息,包含系统名称、版本号、构建日期和时间 |
| machine | char[65] | 硬件标识符,当前不返回硬件标识信息,置为空字符串 |
| domainname | char[65] | 域名信息,当前不返回域名信息,置为空字符串(_GNU_SOURCE宏开启时可见) |