use crate::memory::virtual_address::VirtualAddress;
#[derive(Debug, Clone)]
pub struct KernelModuleParam {
pub virtual_address: VirtualAddress,
pub name: Option<String>,
pub permissions: Option<u16>,
pub flags: Option<u8>,
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum KernelModuleState {
Live,
Coming,
Going,
Unformed,
}
#[derive(Debug, Clone)]
pub struct KernelModule {
pub virtual_address: VirtualAddress,
pub name: Option<String>,
pub version: Option<String>,
pub src_version: Option<String>,
pub taints: Option<u64>,
pub using_gpl_only_symbols: Option<bool>,
pub state: Option<KernelModuleState>,
pub parameter_list: Vec<KernelModuleParam>,
}