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}