vmi_os_linux/comps/
_dummy.rs

1use vmi_core::{
2    Architecture, Va, VmiDriver, VmiError, VmiVa,
3    os::{
4        ThreadId, ThreadObject, VmiOsImage, VmiOsImageArchitecture, VmiOsImageSymbol, VmiOsMapped,
5        VmiOsModule, VmiOsThread,
6    },
7};
8
9use crate::{LinuxOs, arch::ArchAdapter};
10
11/// Dummy implementation for Linux OS image.
12pub struct LinuxImage;
13
14impl VmiVa for LinuxImage {
15    fn va(&self) -> Va {
16        unimplemented!()
17    }
18}
19
20impl<'a, Driver> VmiOsImage<'a, Driver> for LinuxImage
21where
22    Driver: VmiDriver,
23    Driver::Architecture: Architecture + ArchAdapter<Driver>,
24{
25    type Os = LinuxOs<Driver>;
26
27    fn base_address(&self) -> Va {
28        unimplemented!()
29    }
30
31    fn architecture(&self) -> Result<Option<VmiOsImageArchitecture>, VmiError> {
32        unimplemented!()
33    }
34
35    fn exports(&self) -> Result<Vec<VmiOsImageSymbol>, VmiError> {
36        unimplemented!()
37    }
38}
39
40/// Dummy implementation for Linux OS mapped memory.
41pub struct LinuxMapped;
42
43impl VmiVa for LinuxMapped {
44    fn va(&self) -> Va {
45        unimplemented!()
46    }
47}
48
49impl<Driver> VmiOsMapped<'_, Driver> for LinuxMapped
50where
51    Driver: VmiDriver,
52    Driver::Architecture: Architecture + ArchAdapter<Driver>,
53{
54    type Os = LinuxOs<Driver>;
55
56    fn path(&self) -> Result<Option<String>, VmiError> {
57        unimplemented!()
58    }
59}
60
61/// Dummy implementation for Linux OS kernel module.
62pub struct LinuxModule;
63
64impl VmiVa for LinuxModule {
65    fn va(&self) -> Va {
66        unimplemented!()
67    }
68}
69
70impl<Driver> VmiOsModule<'_, Driver> for LinuxModule
71where
72    Driver: VmiDriver,
73    Driver::Architecture: Architecture + ArchAdapter<Driver>,
74{
75    type Os = LinuxOs<Driver>;
76
77    fn base_address(&self) -> Result<Va, VmiError> {
78        unimplemented!()
79    }
80
81    fn size(&self) -> Result<u64, VmiError> {
82        unimplemented!()
83    }
84
85    fn name(&self) -> Result<String, VmiError> {
86        unimplemented!()
87    }
88}
89
90/// Dummy implementation for Linux OS thread.
91pub struct LinuxThread;
92
93impl VmiVa for LinuxThread {
94    fn va(&self) -> Va {
95        unimplemented!()
96    }
97}
98
99impl<'a, Driver> VmiOsThread<'a, Driver> for LinuxThread
100where
101    Driver: VmiDriver,
102    Driver::Architecture: Architecture + ArchAdapter<Driver>,
103{
104    type Os = LinuxOs<Driver>;
105
106    fn id(&self) -> Result<ThreadId, VmiError> {
107        unimplemented!()
108    }
109
110    fn object(&self) -> Result<ThreadObject, VmiError> {
111        unimplemented!()
112    }
113}