跳转至

utsname

utsname 模块提供获取系统标识信息的接口,包括操作系统名称、节点名称、内核版本号等。该模块遵循 POSIX 标准,通过 uname() 函数将系统信息填充到 struct utsname 结构体中。

头文件清单

#include "open_source/musl/include/sys/utsname.h"

接口清单

接口名称 功能简述
uname 获取当前系统信息

Functions

uname

函数声明

int uname(struct utsname *)

头文件清单

#include "open_source/musl/include/sys/utsname.h"

功能说明

  • 获取当前系统的名称、节点名、版本等信息,写入调用者提供的 struct utsname 结构体中
  • sysname 成员填充操作系统名称,nodename 成员填充供应商名称(可通过 LOSCFG_LIB_VENDORNAME 配置),release 成员填充内核版本号,version 成员填充版本编译信息
  • machinedomainname 成员不返回硬件标识符和域名信息,置为空字符串

前置条件

  • 入参约束:传入的 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宏开启时可见)