libc_core/utsname.rs
1//! This module provides the `libc` types for UTSNAME (Unix Time Sharing Name).
2//!
3//!
4
5/// 系统信息结构体(对应 `struct utsname`),用于表示内核和主机相关信息
6///
7/// MUSL: <https://github.com/bminor/musl/blob/c47ad25ea3b484e10326f933e927c0bc8cded3da/include/sys/utsname.h#L9>
8#[cfg_attr(
9 feature = "zerocopy",
10 derive(
11 zerocopy::FromBytes,
12 zerocopy::Immutable,
13 zerocopy::IntoBytes,
14 zerocopy::KnownLayout
15 )
16)]
17pub struct UTSName {
18 /// 操作系统名称,例如 "Linux"
19 pub sysname: [u8; 65],
20 /// 主机名称,例如 "my-hostname"
21 pub nodename: [u8; 65],
22 /// 内核发行版本,例如 "5.15.0"
23 pub release: [u8; 65],
24 /// 内核版本信息,例如 "#1 SMP PREEMPT_DYNAMIC ..."
25 pub version: [u8; 65],
26 /// 机器架构,例如 "x86_64"
27 pub machine: [u8; 65],
28 /// 域名,例如 "(none)" 或 "example.com"
29 pub domainname: [u8; 65],
30}