redox_scheme/
scheme_block.rs1use crate::*;
2use syscall::dirent::DirentBuf;
3use syscall::error::*;
4
5pub trait SchemeBlock {
6 #[allow(unused_variables)]
7 fn open(&mut self, path: &str, flags: usize, uid: u32, gid: u32) -> Result<Option<usize>> {
8 Err(Error::new(ENOENT))
9 }
10 #[allow(unused_variables)]
11 fn xopen(&mut self, path: &str, flags: usize, ctx: &CallerCtx) -> Result<Option<OpenResult>> {
12 convert_to_this_scheme_block(self.open(path, flags, ctx.uid, ctx.gid))
13 }
14
15 #[allow(unused_variables)]
16 fn rmdir(&mut self, path: &str, uid: u32, gid: u32) -> Result<Option<usize>> {
17 Err(Error::new(ENOENT))
18 }
19
20 #[allow(unused_variables)]
21 fn unlink(&mut self, path: &str, uid: u32, gid: u32) -> Result<Option<usize>> {
22 Err(Error::new(ENOENT))
23 }
24
25 #[allow(unused_variables)]
27 fn dup(&mut self, old_id: usize, buf: &[u8]) -> Result<Option<usize>> {
28 Err(Error::new(EBADF))
29 }
30
31 #[allow(unused_variables)]
32 fn xdup(&mut self, old_id: usize, buf: &[u8], ctx: &CallerCtx) -> Result<Option<OpenResult>> {
33 convert_to_this_scheme_block(self.dup(old_id, buf))
34 }
35
36 #[allow(unused_variables)]
37 fn read_old(&mut self, id: usize, buf: &mut [u8]) -> Result<Option<usize>> {
38 Err(Error::new(EBADF))
39 }
40 #[allow(unused_variables)]
41 fn read(
42 &mut self,
43 id: usize,
44 buf: &mut [u8],
45 offset: u64,
46 fcntl_flags: u32,
47 ) -> Result<Option<usize>> {
48 self.read_old(id, buf)
49 }
50
51 #[allow(unused_variables)]
52 fn write_old(&mut self, id: usize, buf: &[u8]) -> Result<Option<usize>> {
53 Err(Error::new(EBADF))
54 }
55 #[allow(unused_variables)]
56 fn write(
57 &mut self,
58 id: usize,
59 buf: &[u8],
60 offset: u64,
61 fcntl_flags: u32,
62 ) -> Result<Option<usize>> {
63 self.write_old(id, buf)
64 }
65
66 #[allow(unused_variables)]
67 fn getdents<'buf>(
68 &mut self,
69 id: usize,
70 buf: DirentBuf<&'buf mut [u8]>,
71 opaque_offset: u64,
72 ) -> Result<Option<DirentBuf<&'buf mut [u8]>>> {
73 Err(Error::new(EOPNOTSUPP))
74 }
75
76 #[allow(unused_variables)]
77 fn fsize(&mut self, id: usize) -> Result<Option<u64>> {
78 Err(Error::new(ESPIPE))
79 }
80
81 #[allow(unused_variables)]
82 fn fchmod(&mut self, id: usize, mode: u16) -> Result<Option<usize>> {
83 Err(Error::new(EBADF))
84 }
85
86 #[allow(unused_variables)]
87 fn fchown(&mut self, id: usize, uid: u32, gid: u32) -> Result<Option<usize>> {
88 Err(Error::new(EBADF))
89 }
90
91 #[allow(unused_variables)]
92 fn fcntl(&mut self, id: usize, cmd: usize, arg: usize) -> Result<Option<usize>> {
93 Err(Error::new(EBADF))
94 }
95
96 #[allow(unused_variables)]
97 fn fevent(&mut self, id: usize, flags: EventFlags) -> Result<Option<EventFlags>> {
98 Err(Error::new(EBADF))
99 }
100
101 #[allow(unused_variables)]
102 fn fpath(&mut self, id: usize, buf: &mut [u8]) -> Result<Option<usize>> {
103 Err(Error::new(EBADF))
104 }
105
106 #[allow(unused_variables)]
107 fn frename(&mut self, id: usize, path: &str, uid: u32, gid: u32) -> Result<Option<usize>> {
108 Err(Error::new(EBADF))
109 }
110
111 #[allow(unused_variables)]
112 fn fstat(&mut self, id: usize, stat: &mut Stat) -> Result<Option<usize>> {
113 Err(Error::new(EBADF))
114 }
115
116 #[allow(unused_variables)]
117 fn fstatvfs(&mut self, id: usize, stat: &mut StatVfs) -> Result<Option<usize>> {
118 Err(Error::new(EBADF))
119 }
120
121 #[allow(unused_variables)]
122 fn fsync(&mut self, id: usize) -> Result<Option<usize>> {
123 Err(Error::new(EBADF))
124 }
125
126 #[allow(unused_variables)]
127 fn ftruncate(&mut self, id: usize, len: usize) -> Result<Option<usize>> {
128 Err(Error::new(EBADF))
129 }
130
131 #[allow(unused_variables)]
132 fn futimens(&mut self, id: usize, times: &[TimeSpec]) -> Result<Option<usize>> {
133 Err(Error::new(EBADF))
134 }
135
136 #[allow(unused_variables)]
137 fn mmap_prep(
138 &mut self,
139 id: usize,
140 offset: u64,
141 size: usize,
142 flags: MapFlags,
143 ) -> Result<Option<usize>> {
144 Err(Error::new(EOPNOTSUPP))
145 }
146
147 #[allow(unused_variables)]
148 fn munmap(
149 &mut self,
150 id: usize,
151 offset: u64,
152 size: usize,
153 flags: MunmapFlags,
154 ) -> Result<Option<usize>> {
155 Err(Error::new(EOPNOTSUPP))
156 }
157}