use crate::memory::{primitives::PhysicalAddress, virtual_address::VirtualAddress};
use std::collections::BTreeMap;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum TaskKind {
Kthread,
ThreadGroupLeader,
Thread,
}
#[derive(Debug, Clone)]
pub struct Task {
pub virtual_address: VirtualAddress,
pub kind: TaskKind,
pub page_table: PhysicalAddress,
pub binary_path: Option<String>,
pub name: Option<String>,
pub command_line: Option<String>,
pub environment_variable_map: BTreeMap<String, String>,
pub tgid: u32,
pub ppid: Option<u32>,
pub real_ppid: Option<u32>,
pub pid: u32,
pub uid: u32,
pub gid: u32,
pub start_time: Option<u64>,
pub start_boottime: Option<u64>,
}