pub enum Abi {
X86_64,
I386,
Aarch64,
Arm,
}Expand description
The ABI a request came through.
Variants§
Implementations§
Source§impl Abi
impl Abi
Sourcepub fn from_audit(arch: u32) -> Option<Abi>
pub fn from_audit(arch: u32) -> Option<Abi>
ABI from a seccomp arch field; None for x32 and anything else.
Sourcepub fn open_flags_arg(self, nr: i64) -> Option<usize>
pub fn open_flags_arg(self, nr: i64) -> Option<usize>
This ABI’s number for a canonical open-family syscall, with the index
of its flags argument (for the filter’s O_PATH routing).
Sourcepub fn open_flags_to_host(self, flags: i64) -> i64
pub fn open_flags_to_host(self, flags: i64) -> i64
Converts this ABI’s open(2) flag bits into the host’s.
The generic values are shared by x86 and aarch64; ARM differs in
O_DIRECTORY, O_NOFOLLOW, O_DIRECT and O_LARGEFILE, so a 32-bit
ARM caller’s flags are remapped before any handler interprets them.
§Arguments
flags- Flags as the tracee passed them.
Sourcepub fn socketcall_nr(self) -> Option<i64>
pub fn socketcall_nr(self) -> Option<i64>
The legacy socketcall multiplexer of this ABI, if it has one.
i386 glibc issues every socket operation through it, so a 32-bit
program’s bind and connect arrive here rather than as syscalls.
Trait Implementations§
impl Copy for Abi
impl Eq for Abi
impl StructuralPartialEq for Abi
Auto Trait Implementations§
impl Freeze for Abi
impl RefUnwindSafe for Abi
impl Send for Abi
impl Sync for Abi
impl Unpin for Abi
impl UnsafeUnpin for Abi
impl UnwindSafe for Abi
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more