libc_core/time.rs
1//! This module provides the `libc` types for Time (time management).
2//!
3//! MUSL: <https://github.com/bminor/musl/blob/c47ad25ea3b484e10326f933e927c0bc8cded3da/include/sys/time.h>
4
5use crate::types::TimeVal;
6
7/// 定时器结构体,表示间隔和当前值(对应 C 语言中的 `struct itimerval`)
8#[repr(C)]
9#[cfg_attr(
10 feature = "zerocopy",
11 derive(
12 zerocopy::FromBytes,
13 zerocopy::Immutable,
14 zerocopy::IntoBytes,
15 zerocopy::KnownLayout
16 )
17)]
18#[derive(Clone, Debug, Default)]
19pub struct ITimerVal {
20 /// 重复触发的间隔时间(interval > 0 表示周期性定时器)
21 pub interval: TimeVal,
22 /// 当前倒计时的剩余时间(初始超时时长)
23 pub value: TimeVal,
24}