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}