    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17

    //! Types related to task management

    use super::TaskContext;

    #[derive(Copy, Clone)]
    pub struct TaskControlBlock {
        pub task_status: TaskStatus,
        pub task_cx: TaskContext,
    }

    #[derive(Copy, Clone, PartialEq)]
    pub enum TaskStatus {
        UnInit,
        Ready,
        Running,
        Exited,
    }