use crate::memory::{primitives::PhysicalAddress, virtual_address::VirtualAddress};
use std::ops::Range;
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum SyslogFileDataSource {
PageCache,
MemoryMapping,
}
impl SyslogFileDataSource {
pub fn as_str(&self) -> &'static str {
match self {
SyslogFileDataSource::PageCache => "page_cache",
SyslogFileDataSource::MemoryMapping => "memory_mapping",
}
}
}
pub struct SyslogFileRegion {
pub offset_range: Range<PhysicalAddress>,
pub lines: Vec<String>,
}
pub struct SyslogFile {
pub virtual_address: VirtualAddress,
pub task: VirtualAddress,
pub tgid: u32,
pub data_source: SyslogFileDataSource,
pub region_list: Vec<SyslogFileRegion>,
}