tinysyscall/interface/
types.rs1use bitflags::bitflags;
2
3bitflags! {
4 #[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)]
5 pub struct OpenFlags: usize {
6 const Read = 0b00000000;
7 const Write = 0b00000001;
8 const RW = 0b00000010;
9 const Create = 0b00000100;
10 }
11}
12
13bitflags! {
15 pub struct MemProt: i32 {
16 const NONE = 0;
17 const READ = 1;
18 const WRITE = 2;
19 const EXEC = 4;
20 }
21}
22
23bitflags! {
25 pub struct MemFlags: u32 {
26 const SHARED = 1;
27 const SHARED_VALIDATE = 3;
28 const PRIVATE = 2;
29 const ANONYMOUS = 0x20;
30 const PRIVATE_EXCEPT_UFFD = 0x8000_0000;
31 }
32}
33
34pub struct TimeSpec {
35 pub tv_sec: usize,
36 pub tv_nsec: isize,
37}
38
39#[allow(dead_code)]
40#[derive(Debug)]
41pub struct Stat {
42 pub dev: u64, pub ino: u64, pub mode: u32, pub nlink: u64, pub uid: u32, pub gid: u32, pub rdev: u64,
49 pub size: i64, pub blksize: i64, pub blocks: i64, pub atime: i64, pub mtime: i64, pub ctime: i64, }
56
57impl Stat {
58 pub fn default() -> Self {
59 Stat {
60 dev: 0,
61 ino: 0,
62 mode: 0,
63 nlink: 0,
64 uid: 0,
65 gid: 0,
66 rdev: 0,
67 size: 0,
68 blksize: 0,
69 blocks: 0,
70 atime: 0,
71 mtime: 0,
72 ctime: 0,
73 }
74 }
75}