diff --git a/src/flag.rs b/src/flag.rs index f0b2f9a0e0..8d468b1b42 100644 --- a/src/flag.rs +++ b/src/flag.rs @@ -333,3 +333,16 @@ bitflags! { const INHIBIT_DELIVERY = 1; } } +bitflags! { + pub struct CallFlags: usize { + // unused + const BIT0 = 1 << 0; + const BIT1 = 1 << 1; + const BIT2 = 1 << 2; + const BIT3 = 1 << 3; + const BIT4 = 1 << 4; + const BIT5 = 1 << 5; + const BIT6 = 1 << 6; + const BIT7 = 1 << 7; + } +} diff --git a/src/number.rs b/src/number.rs index e2ba3a27d8..84394013e1 100644 --- a/src/number.rs +++ b/src/number.rs @@ -28,6 +28,9 @@ pub const SYS_FCHOWN: usize = SYS_CLASS_FILE | 207; pub const SYS_FCNTL: usize = SYS_CLASS_FILE | 55; pub const SYS_FEVENT: usize = SYS_CLASS_FILE | 927; +// SYS_CALL, fd, inout buf ptr, inout buf len, flags, metadata buf ptr, metadata buf len +pub const SYS_CALL: usize = SYS_CLASS_FILE | SYS_ARG_SLICE | SYS_ARG_MSLICE | 0xCA11; + pub const SYS_SENDFD: usize = SYS_CLASS_FILE | 34; pub const SYS_GETDENTS: usize = SYS_CLASS_FILE | 43; diff --git a/src/schemev2.rs b/src/schemev2.rs index 43e5931473..2ab372fbe7 100644 --- a/src/schemev2.rs +++ b/src/schemev2.rs @@ -128,6 +128,7 @@ pub enum Opcode { Getdents = 26, CloseMsg = 27, + Call = 28, } impl Opcode { @@ -166,6 +167,7 @@ impl Opcode { 25 => Cancel, 26 => Getdents, 27 => CloseMsg, + 28 => Call, _ => return None, })