mirror of
https://github.com/Astatin3/syscall-stream-rs.git
synced 2026-06-08 16:08:01 -06:00
Work on reading buffers.
This commit is contained in:
@@ -0,0 +1 @@
|
|||||||
|
savedcmd_modules.order := { echo target/release/libintercept.so; :; } > modules.order
|
||||||
@@ -5,4 +5,3 @@ edition = "2024"
|
|||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
syscall_lib = { path = "../syscall_lib" }
|
syscall_lib = { path = "../syscall_lib" }
|
||||||
syscaller = "0.2.2"
|
|
||||||
|
|||||||
+4
-4
@@ -1,14 +1,14 @@
|
|||||||
mod syscall_exec;
|
|
||||||
|
|
||||||
use std::{
|
use std::{
|
||||||
io::{Read, Write},
|
io::{Read, Write},
|
||||||
net::{TcpListener, TcpStream},
|
net::{TcpListener, TcpStream},
|
||||||
thread,
|
thread,
|
||||||
};
|
};
|
||||||
|
|
||||||
use syscall_lib::{Message, ProgramMemory, Syscall};
|
use syscall_lib::{Syscall, execute_syscall};
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
|
println!("This program has PID: {}", std::process::id());
|
||||||
|
|
||||||
let listener = TcpListener::bind("127.0.0.1:1234").unwrap();
|
let listener = TcpListener::bind("127.0.0.1:1234").unwrap();
|
||||||
|
|
||||||
for stream in listener.incoming() {
|
for stream in listener.incoming() {
|
||||||
@@ -43,7 +43,7 @@ fn handle_connection(stream: &mut TcpStream) -> Result<(), std::io::Error> {
|
|||||||
// Syscall::Write(..) => 0,
|
// Syscall::Write(..) => 0,
|
||||||
// _ => syscall_exec::execute_syscall(decoded),
|
// _ => syscall_exec::execute_syscall(decoded),
|
||||||
// };
|
// };
|
||||||
let result = syscall_exec::execute_syscall(decoded);
|
let result = execute_syscall(decoded);
|
||||||
|
|
||||||
println!("{:?}", result);
|
println!("{:?}", result);
|
||||||
|
|
||||||
|
|||||||
@@ -1,658 +0,0 @@
|
|||||||
use syscall_lib::Syscall;
|
|
||||||
use syscaller::{syscall0, syscall1, syscall2, syscall3, syscall4, syscall5, syscall6};
|
|
||||||
|
|
||||||
// fn syscall0(number: isize) -> isize {
|
|
||||||
// unsafe { syscaller::syscall0(number as usize) }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// fn syscall1(number: isize, arg0: isize) -> isize {
|
|
||||||
// unsafe { syscaller::syscall1(number as usize, arg0 as usize) }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// fn syscall2(number: isize, arg0: isize, arg1: isize) -> isize {
|
|
||||||
// unsafe { syscaller::syscall2(number as usize, arg0 as usize, arg1 as usize) }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// fn syscall3(number: isize, arg0: isize, arg1: isize, arg2: isize) -> isize {
|
|
||||||
// unsafe { syscaller::syscall3(number as usize, arg0 as usize, arg1 as usize, arg2 as usize) }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// fn syscall4(number: isize, arg0: isize, arg1: isize, arg2: isize, arg3: isize) -> isize {
|
|
||||||
// unsafe {
|
|
||||||
// syscaller::syscall4(
|
|
||||||
// number as usize,
|
|
||||||
// arg0 as usize,
|
|
||||||
// arg1 as usize,
|
|
||||||
// arg2 as usize,
|
|
||||||
// arg3 as usize,
|
|
||||||
// )
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// fn syscall5(
|
|
||||||
// number: isize,
|
|
||||||
// arg0: isize,
|
|
||||||
// arg1: isize,
|
|
||||||
// arg2: isize,
|
|
||||||
// arg3: isize,
|
|
||||||
// arg4: isize,
|
|
||||||
// ) -> isize {
|
|
||||||
// unsafe {
|
|
||||||
// syscaller::syscall5(
|
|
||||||
// number as usize,
|
|
||||||
// arg0 as usize,
|
|
||||||
// arg1 as usize,
|
|
||||||
// arg2 as usize,
|
|
||||||
// arg3 as usize,
|
|
||||||
// arg4 as usize,
|
|
||||||
// )
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// fn syscall6(
|
|
||||||
// number: isize,
|
|
||||||
// arg0: isize,
|
|
||||||
// arg1: isize,
|
|
||||||
// arg2: isize,
|
|
||||||
// arg3: isize,
|
|
||||||
// arg4: isize,
|
|
||||||
// arg5: isize,
|
|
||||||
// ) -> isize {
|
|
||||||
// unsafe {
|
|
||||||
// syscaller::syscall6(
|
|
||||||
// number as usize,
|
|
||||||
// arg0 as usize,
|
|
||||||
// arg1 as usize,
|
|
||||||
// arg2 as usize,
|
|
||||||
// arg3 as usize,
|
|
||||||
// arg4 as usize,
|
|
||||||
// arg5 as usize,
|
|
||||||
// )
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// The Syscall enum and type aliases from the previous response are assumed to be present here.
|
|
||||||
#[allow(unused_unsafe)]
|
|
||||||
pub fn execute_syscall(syscall_obj: Syscall) -> isize {
|
|
||||||
match syscall_obj {
|
|
||||||
Syscall::Read(arg0, arg1, arg2) => unsafe { syscall3(0, arg0, arg1, arg2) },
|
|
||||||
Syscall::Write(arg0, arg1, arg2) => unsafe { syscall3(1, arg0, arg1, arg2) },
|
|
||||||
Syscall::Open(arg0, arg1, arg2) => unsafe { syscall3(2, arg0, arg1, arg2) },
|
|
||||||
Syscall::Close(arg0) => unsafe { syscall1(3, arg0) },
|
|
||||||
Syscall::Stat(arg0, arg1) => unsafe { syscall2(4, arg0, arg1) },
|
|
||||||
Syscall::Fstat(arg0, arg1) => unsafe { syscall2(5, arg0, arg1) },
|
|
||||||
Syscall::Lstat(arg0, arg1) => unsafe { syscall2(6, arg0, arg1) },
|
|
||||||
Syscall::Poll(arg0, arg1, arg2) => unsafe { syscall3(7, arg0, arg1, arg2) },
|
|
||||||
Syscall::Lseek(arg0, arg1, arg2) => unsafe { syscall3(8, arg0, arg1, arg2) },
|
|
||||||
Syscall::Mmap(arg0, arg1, arg2, arg3, arg4, arg5) => unsafe {
|
|
||||||
syscall6(9, arg0, arg1, arg2, arg3, arg4, arg5)
|
|
||||||
},
|
|
||||||
Syscall::Mprotect(arg0, arg1, arg2) => unsafe { syscall3(10, arg0, arg1, arg2) },
|
|
||||||
Syscall::Munmap(arg0, arg1) => unsafe { syscall2(11, arg0, arg1) },
|
|
||||||
Syscall::Brk(arg0) => unsafe { syscall1(12, arg0) },
|
|
||||||
Syscall::RtSigaction(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(13, arg0, arg1, arg2, arg3)
|
|
||||||
},
|
|
||||||
Syscall::RtSigprocmask(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(14, arg0, arg1, arg2, arg3)
|
|
||||||
},
|
|
||||||
Syscall::RtSigreturn => unsafe { syscall0(15) },
|
|
||||||
Syscall::Ioctl(arg0, arg1, arg2) => unsafe { syscall3(16, arg0, arg1, arg2) },
|
|
||||||
Syscall::Pread64(arg0, arg1, arg2, arg3) => unsafe { syscall4(17, arg0, arg1, arg2, arg3) },
|
|
||||||
Syscall::Pwrite64(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(18, arg0, arg1, arg2, arg3)
|
|
||||||
},
|
|
||||||
Syscall::Readv(arg0, arg1, arg2) => unsafe { syscall3(19, arg0, arg1, arg2) },
|
|
||||||
Syscall::Writev(arg0, arg1, arg2) => unsafe { syscall3(20, arg0, arg1, arg2) },
|
|
||||||
Syscall::Access(arg0, arg1) => unsafe { syscall2(21, arg0, arg1) },
|
|
||||||
Syscall::Pipe(arg0) => unsafe { syscall1(22, arg0) },
|
|
||||||
Syscall::Select(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(23, arg0, arg1, arg2, arg3, arg4)
|
|
||||||
},
|
|
||||||
Syscall::SchedYield => unsafe { syscall0(24) },
|
|
||||||
Syscall::Mremap(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(25, arg0, arg1, arg2, arg3, arg4)
|
|
||||||
},
|
|
||||||
Syscall::Msync(arg0, arg1, arg2) => unsafe { syscall3(26, arg0, arg1, arg2) },
|
|
||||||
Syscall::Mincore(arg0, arg1, arg2) => unsafe { syscall3(27, arg0, arg1, arg2) },
|
|
||||||
Syscall::Madvise(arg0, arg1, arg2) => unsafe { syscall3(28, arg0, arg1, arg2) },
|
|
||||||
Syscall::Shmget(arg0, arg1, arg2) => unsafe { syscall3(29, arg0, arg1, arg2) },
|
|
||||||
Syscall::Shmat(arg0, arg1, arg2) => unsafe { syscall3(30, arg0, arg1, arg2) },
|
|
||||||
Syscall::Shmctl(arg0, arg1, arg2) => unsafe { syscall3(31, arg0, arg1, arg2) },
|
|
||||||
Syscall::Dup(arg0) => unsafe { syscall1(32, arg0) },
|
|
||||||
Syscall::Dup2(arg0, arg1) => unsafe { syscall2(33, arg0, arg1) },
|
|
||||||
Syscall::Pause => unsafe { syscall0(34) },
|
|
||||||
Syscall::Nanosleep(arg0, arg1) => unsafe { syscall2(35, arg0, arg1) },
|
|
||||||
Syscall::Getitimer(arg0, arg1) => unsafe { syscall2(36, arg0, arg1) },
|
|
||||||
Syscall::Alarm(arg0) => unsafe { syscall1(37, arg0) },
|
|
||||||
Syscall::Setitimer(arg0, arg1, arg2) => unsafe { syscall3(38, arg0, arg1, arg2) },
|
|
||||||
Syscall::Getpid => unsafe { syscall0(39) },
|
|
||||||
Syscall::Sendfile(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(40, arg0, arg1, arg2, arg3)
|
|
||||||
},
|
|
||||||
Syscall::Socket(arg0, arg1, arg2) => unsafe { syscall3(41, arg0, arg1, arg2) },
|
|
||||||
Syscall::Connect(arg0, arg1, arg2) => unsafe { syscall3(42, arg0, arg1, arg2) },
|
|
||||||
Syscall::Accept(arg0, arg1, arg2) => unsafe { syscall3(43, arg0, arg1, arg2) },
|
|
||||||
Syscall::Sendto(arg0, arg1, arg2, arg3, arg4, arg5) => unsafe {
|
|
||||||
syscall6(44, arg0, arg1, arg2, arg3, arg4, arg5)
|
|
||||||
},
|
|
||||||
Syscall::Recvfrom(arg0, arg1, arg2, arg3, arg4, arg5) => unsafe {
|
|
||||||
syscall6(45, arg0, arg1, arg2, arg3, arg4, arg5)
|
|
||||||
},
|
|
||||||
Syscall::Sendmsg(arg0, arg1, arg2) => unsafe { syscall3(46, arg0, arg1, arg2) },
|
|
||||||
Syscall::Recvmsg(arg0, arg1, arg2) => unsafe { syscall3(47, arg0, arg1, arg2) },
|
|
||||||
Syscall::Shutdown(arg0, arg1) => unsafe { syscall2(48, arg0, arg1) },
|
|
||||||
Syscall::Bind(arg0, arg1, arg2) => unsafe { syscall3(49, arg0, arg1, arg2) },
|
|
||||||
Syscall::Listen(arg0, arg1) => unsafe { syscall2(50, arg0, arg1) },
|
|
||||||
Syscall::Getsockname(arg0, arg1, arg2) => unsafe { syscall3(51, arg0, arg1, arg2) },
|
|
||||||
Syscall::Getpeername(arg0, arg1, arg2) => unsafe { syscall3(52, arg0, arg1, arg2) },
|
|
||||||
Syscall::Socketpair(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(53, arg0, arg1, arg2, arg3)
|
|
||||||
},
|
|
||||||
Syscall::Setsockopt(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(54, arg0, arg1, arg2, arg3, arg4)
|
|
||||||
},
|
|
||||||
Syscall::Getsockopt(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(55, arg0, arg1, arg2, arg3, arg4)
|
|
||||||
},
|
|
||||||
Syscall::Clone(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(56, arg0, arg1, arg2, arg3, arg4)
|
|
||||||
},
|
|
||||||
Syscall::Fork => unsafe { syscall0(57) },
|
|
||||||
Syscall::Vfork => unsafe { syscall0(58) },
|
|
||||||
Syscall::Execve(arg0, arg1, arg2) => unsafe { syscall3(59, arg0, arg1, arg2) },
|
|
||||||
Syscall::Exit(arg0) => unsafe { syscall1(60, arg0) },
|
|
||||||
Syscall::Wait4(arg0, arg1, arg2, arg3) => unsafe { syscall4(61, arg0, arg1, arg2, arg3) },
|
|
||||||
Syscall::Kill(arg0, arg1) => unsafe { syscall2(62, arg0, arg1) },
|
|
||||||
Syscall::Uname(arg0) => unsafe { syscall1(63, arg0) },
|
|
||||||
Syscall::Semget(arg0, arg1, arg2) => unsafe { syscall3(64, arg0, arg1, arg2) },
|
|
||||||
Syscall::Semop(arg0, arg1, arg2) => unsafe { syscall3(65, arg0, arg1, arg2) },
|
|
||||||
Syscall::Semctl(arg0, arg1, arg2, arg3) => unsafe { syscall4(66, arg0, arg1, arg2, arg3) },
|
|
||||||
Syscall::Shmdt(arg0) => unsafe { syscall1(67, arg0) },
|
|
||||||
Syscall::Msgget(arg0, arg1) => unsafe { syscall2(68, arg0, arg1) },
|
|
||||||
Syscall::Msgsnd(arg0, arg1, arg2, arg3) => unsafe { syscall4(69, arg0, arg1, arg2, arg3) },
|
|
||||||
Syscall::Msgrcv(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(70, arg0, arg1, arg2, arg3, arg4)
|
|
||||||
},
|
|
||||||
Syscall::Msgctl(arg0, arg1, arg2) => unsafe { syscall3(71, arg0, arg1, arg2) },
|
|
||||||
Syscall::Fcntl(arg0, arg1, arg2) => unsafe { syscall3(72, arg0, arg1, arg2) },
|
|
||||||
Syscall::Flock(arg0, arg1) => unsafe { syscall2(73, arg0, arg1) },
|
|
||||||
Syscall::Fsync(arg0) => unsafe { syscall1(74, arg0) },
|
|
||||||
Syscall::Fdatasync(arg0) => unsafe { syscall1(75, arg0) },
|
|
||||||
Syscall::Truncate(arg0, arg1) => unsafe { syscall2(76, arg0, arg1) },
|
|
||||||
Syscall::Ftruncate(arg0, arg1) => unsafe { syscall2(77, arg0, arg1) },
|
|
||||||
Syscall::Getdents(arg0, arg1, arg2) => unsafe { syscall3(78, arg0, arg1, arg2) },
|
|
||||||
Syscall::Getcwd(arg0, arg1) => unsafe { syscall2(79, arg0, arg1) },
|
|
||||||
Syscall::Chdir(arg0) => unsafe { syscall1(80, arg0) },
|
|
||||||
Syscall::Fchdir(arg0) => unsafe { syscall1(81, arg0) },
|
|
||||||
Syscall::Rename(arg0, arg1) => unsafe { syscall2(82, arg0, arg1) },
|
|
||||||
Syscall::Mkdir(arg0, arg1) => unsafe { syscall2(83, arg0, arg1) },
|
|
||||||
Syscall::Rmdir(arg0) => unsafe { syscall1(84, arg0) },
|
|
||||||
Syscall::Creat(arg0, arg1) => unsafe { syscall2(85, arg0, arg1) },
|
|
||||||
Syscall::Link(arg0, arg1) => unsafe { syscall2(86, arg0, arg1) },
|
|
||||||
Syscall::Unlink(arg0) => unsafe { syscall1(87, arg0) },
|
|
||||||
Syscall::Symlink(arg0, arg1) => unsafe { syscall2(88, arg0, arg1) },
|
|
||||||
Syscall::Readlink(arg0, arg1, arg2) => unsafe { syscall3(89, arg0, arg1, arg2) },
|
|
||||||
Syscall::Chmod(arg0, arg1) => unsafe { syscall2(90, arg0, arg1) },
|
|
||||||
Syscall::Fchmod(arg0, arg1) => unsafe { syscall2(91, arg0, arg1) },
|
|
||||||
Syscall::Chown(arg0, arg1, arg2) => unsafe { syscall3(92, arg0, arg1, arg2) },
|
|
||||||
Syscall::Fchown(arg0, arg1, arg2) => unsafe { syscall3(93, arg0, arg1, arg2) },
|
|
||||||
Syscall::Lchown(arg0, arg1, arg2) => unsafe { syscall3(94, arg0, arg1, arg2) },
|
|
||||||
Syscall::Umask(arg0) => unsafe { syscall1(95, arg0) },
|
|
||||||
Syscall::Gettimeofday(arg0, arg1) => unsafe { syscall2(96, arg0, arg1) },
|
|
||||||
Syscall::Getrlimit(arg0, arg1) => unsafe { syscall2(97, arg0, arg1) },
|
|
||||||
Syscall::Getrusage(arg0, arg1) => unsafe { syscall2(98, arg0, arg1) },
|
|
||||||
Syscall::Sysinfo(arg0) => unsafe { syscall1(99, arg0) },
|
|
||||||
Syscall::Times(arg0) => unsafe { syscall1(100, arg0) },
|
|
||||||
Syscall::Ptrace(arg0, arg1, arg2, arg3) => unsafe { syscall4(101, arg0, arg1, arg2, arg3) },
|
|
||||||
Syscall::Getuid => unsafe { syscall0(102) },
|
|
||||||
Syscall::Syslog(arg0, arg1, arg2) => unsafe { syscall3(103, arg0, arg1, arg2) },
|
|
||||||
Syscall::Getgid => unsafe { syscall0(104) },
|
|
||||||
Syscall::Setuid(arg0) => unsafe { syscall1(105, arg0) },
|
|
||||||
Syscall::Setgid(arg0) => unsafe { syscall1(106, arg0) },
|
|
||||||
Syscall::Geteuid => unsafe { syscall0(107) },
|
|
||||||
Syscall::Getegid => unsafe { syscall0(108) },
|
|
||||||
Syscall::Setpgid(arg0, arg1) => unsafe { syscall2(109, arg0, arg1) },
|
|
||||||
Syscall::Getppid => unsafe { syscall0(110) },
|
|
||||||
Syscall::Getpgrp => unsafe { syscall0(111) },
|
|
||||||
Syscall::Setsid => unsafe { syscall0(112) },
|
|
||||||
Syscall::Setreuid(arg0, arg1) => unsafe { syscall2(113, arg0, arg1) },
|
|
||||||
Syscall::Setregid(arg0, arg1) => unsafe { syscall2(114, arg0, arg1) },
|
|
||||||
Syscall::Getgroups(arg0, arg1) => unsafe { syscall2(115, arg0, arg1) },
|
|
||||||
Syscall::Setgroups(arg0, arg1) => unsafe { syscall2(116, arg0, arg1) },
|
|
||||||
Syscall::Setresuid(arg0, arg1, arg2) => unsafe { syscall3(117, arg0, arg1, arg2) },
|
|
||||||
Syscall::Getresuid(arg0, arg1, arg2) => unsafe { syscall3(118, arg0, arg1, arg2) },
|
|
||||||
Syscall::Setresgid(arg0, arg1, arg2) => unsafe { syscall3(119, arg0, arg1, arg2) },
|
|
||||||
Syscall::Getresgid(arg0, arg1, arg2) => unsafe { syscall3(120, arg0, arg1, arg2) },
|
|
||||||
Syscall::Getpgid(arg0) => unsafe { syscall1(121, arg0) },
|
|
||||||
Syscall::Setfsuid(arg0) => unsafe { syscall1(122, arg0) },
|
|
||||||
Syscall::Setfsgid(arg0) => unsafe { syscall1(123, arg0) },
|
|
||||||
Syscall::Getsid(arg0) => unsafe { syscall1(124, arg0) },
|
|
||||||
Syscall::Capget(arg0, arg1) => unsafe { syscall2(125, arg0, arg1) },
|
|
||||||
Syscall::Capset(arg0, arg1) => unsafe { syscall2(126, arg0, arg1) },
|
|
||||||
Syscall::RtSigpending(arg0, arg1) => unsafe { syscall2(127, arg0, arg1) },
|
|
||||||
Syscall::RtSigtimedwait(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(128, arg0, arg1, arg2, arg3)
|
|
||||||
},
|
|
||||||
Syscall::RtSigqueueinfo(arg0, arg1, arg2) => unsafe { syscall3(129, arg0, arg1, arg2) },
|
|
||||||
Syscall::RtSigsuspend(arg0, arg1) => unsafe { syscall2(130, arg0, arg1) },
|
|
||||||
Syscall::Sigaltstack(arg0, arg1) => unsafe { syscall2(131, arg0, arg1) },
|
|
||||||
Syscall::Utime(arg0, arg1) => unsafe { syscall2(132, arg0, arg1) },
|
|
||||||
Syscall::Mknod(arg0, arg1, arg2) => unsafe { syscall3(133, arg0, arg1, arg2) },
|
|
||||||
Syscall::Uselib(arg0) => unsafe { syscall1(134, arg0) },
|
|
||||||
Syscall::Personality(arg0) => unsafe { syscall1(135, arg0) },
|
|
||||||
Syscall::Ustat(arg0, arg1) => unsafe { syscall2(136, arg0, arg1) },
|
|
||||||
Syscall::Statfs(arg0, arg1) => unsafe { syscall2(137, arg0, arg1) },
|
|
||||||
Syscall::Fstatfs(arg0, arg1) => unsafe { syscall2(138, arg0, arg1) },
|
|
||||||
Syscall::Sysfs(arg0, arg1, arg2) => unsafe { syscall3(139, arg0, arg1, arg2) },
|
|
||||||
Syscall::Getpriority(arg0, arg1) => unsafe { syscall2(140, arg0, arg1) },
|
|
||||||
Syscall::Setpriority(arg0, arg1, arg2) => unsafe { syscall3(141, arg0, arg1, arg2) },
|
|
||||||
Syscall::SchedSetparam(arg0, arg1) => unsafe { syscall2(142, arg0, arg1) },
|
|
||||||
Syscall::SchedGetparam(arg0, arg1) => unsafe { syscall2(143, arg0, arg1) },
|
|
||||||
Syscall::SchedSetscheduler(arg0, arg1, arg2) => unsafe { syscall3(144, arg0, arg1, arg2) },
|
|
||||||
Syscall::SchedGetscheduler(arg0) => unsafe { syscall1(145, arg0) },
|
|
||||||
Syscall::SchedGetPriorityMax(arg0) => unsafe { syscall1(146, arg0) },
|
|
||||||
Syscall::SchedGetPriorityMin(arg0) => unsafe { syscall1(147, arg0) },
|
|
||||||
Syscall::SchedRrGetInterval(arg0, arg1) => unsafe { syscall2(148, arg0, arg1) },
|
|
||||||
Syscall::Mlock(arg0, arg1) => unsafe { syscall2(149, arg0, arg1) },
|
|
||||||
Syscall::Munlock(arg0, arg1) => unsafe { syscall2(150, arg0, arg1) },
|
|
||||||
Syscall::Mlockall(arg0) => unsafe { syscall1(151, arg0) },
|
|
||||||
Syscall::Munlockall => unsafe { syscall0(152) },
|
|
||||||
Syscall::Vhangup => unsafe { syscall0(153) },
|
|
||||||
Syscall::ModifyLdt(arg0, arg1, arg2) => unsafe { syscall3(154, arg0, arg1, arg2) },
|
|
||||||
Syscall::PivotRoot(arg0, arg1) => unsafe { syscall2(155, arg0, arg1) },
|
|
||||||
Syscall::_Sysctl(arg0) => unsafe { syscall1(156, arg0) },
|
|
||||||
Syscall::Prctl(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(157, arg0, arg1, arg2, arg3, arg4)
|
|
||||||
},
|
|
||||||
Syscall::ArchPrctl(arg0, arg1) => unsafe { syscall2(158, arg0, arg1) },
|
|
||||||
Syscall::Adjtimex(arg0) => unsafe { syscall1(159, arg0) },
|
|
||||||
Syscall::Setrlimit(arg0, arg1) => unsafe { syscall2(160, arg0, arg1) },
|
|
||||||
Syscall::Chroot(arg0) => unsafe { syscall1(161, arg0) },
|
|
||||||
Syscall::Sync => unsafe { syscall0(162) },
|
|
||||||
Syscall::Acct(arg0) => unsafe { syscall1(163, arg0) },
|
|
||||||
Syscall::Settimeofday(arg0, arg1) => unsafe { syscall2(164, arg0, arg1) },
|
|
||||||
Syscall::Mount(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(165, arg0, arg1, arg2, arg3, arg4)
|
|
||||||
},
|
|
||||||
Syscall::Umount2(arg0, arg1) => unsafe { syscall2(166, arg0, arg1) },
|
|
||||||
Syscall::Swapon(arg0, arg1) => unsafe { syscall2(167, arg0, arg1) },
|
|
||||||
Syscall::Swapoff(arg0) => unsafe { syscall1(168, arg0) },
|
|
||||||
Syscall::Reboot(arg0, arg1, arg2, arg3) => unsafe { syscall4(169, arg0, arg1, arg2, arg3) },
|
|
||||||
Syscall::Sethostname(arg0, arg1) => unsafe { syscall2(170, arg0, arg1) },
|
|
||||||
Syscall::Setdomainname(arg0, arg1) => unsafe { syscall2(171, arg0, arg1) },
|
|
||||||
Syscall::Iopl(arg0) => unsafe { syscall1(172, arg0) },
|
|
||||||
Syscall::Ioperm(arg0, arg1, arg2) => unsafe { syscall3(173, arg0, arg1, arg2) },
|
|
||||||
Syscall::CreateModule(arg0, arg1) => unsafe { syscall2(174, arg0, arg1) },
|
|
||||||
Syscall::InitModule(arg0, arg1, arg2) => unsafe { syscall3(175, arg0, arg1, arg2) },
|
|
||||||
Syscall::DeleteModule(arg0, arg1) => unsafe { syscall2(176, arg0, arg1) },
|
|
||||||
Syscall::GetKernelSyms(arg0) => unsafe { syscall1(177, arg0) },
|
|
||||||
Syscall::QueryModule(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(178, arg0, arg1, arg2, arg3, arg4)
|
|
||||||
},
|
|
||||||
Syscall::Quotactl(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(179, arg0, arg1, arg2, arg3)
|
|
||||||
},
|
|
||||||
Syscall::Nfsservctl(arg0, arg1, arg2) => unsafe { syscall3(180, arg0, arg1, arg2) },
|
|
||||||
Syscall::Getpmsg => unsafe { syscall0(181) },
|
|
||||||
Syscall::Putpmsg => unsafe { syscall0(182) },
|
|
||||||
Syscall::AfsSyscall => unsafe { syscall0(183) },
|
|
||||||
Syscall::Tuxcall => unsafe { syscall0(184) },
|
|
||||||
Syscall::Security => unsafe { syscall0(185) },
|
|
||||||
Syscall::Gettid => unsafe { syscall0(186) },
|
|
||||||
Syscall::Readahead(arg0, arg1, arg2) => unsafe { syscall3(187, arg0, arg1, arg2) },
|
|
||||||
Syscall::Setxattr(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(188, arg0, arg1, arg2, arg3, arg4)
|
|
||||||
},
|
|
||||||
Syscall::Lsetxattr(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(189, arg0, arg1, arg2, arg3, arg4)
|
|
||||||
},
|
|
||||||
Syscall::Fsetxattr(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(190, arg0, arg1, arg2, arg3, arg4)
|
|
||||||
},
|
|
||||||
Syscall::Getxattr(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(191, arg0, arg1, arg2, arg3)
|
|
||||||
},
|
|
||||||
Syscall::Lgetxattr(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(192, arg0, arg1, arg2, arg3)
|
|
||||||
},
|
|
||||||
Syscall::Fgetxattr(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(193, arg0, arg1, arg2, arg3)
|
|
||||||
},
|
|
||||||
Syscall::Listxattr(arg0, arg1, arg2) => unsafe { syscall3(194, arg0, arg1, arg2) },
|
|
||||||
Syscall::Llistxattr(arg0, arg1, arg2) => unsafe { syscall3(195, arg0, arg1, arg2) },
|
|
||||||
Syscall::Flistxattr(arg0, arg1, arg2) => unsafe { syscall3(196, arg0, arg1, arg2) },
|
|
||||||
Syscall::Removexattr(arg0, arg1) => unsafe { syscall2(197, arg0, arg1) },
|
|
||||||
Syscall::Lremovexattr(arg0, arg1) => unsafe { syscall2(198, arg0, arg1) },
|
|
||||||
Syscall::Fremovexattr(arg0, arg1) => unsafe { syscall2(199, arg0, arg1) },
|
|
||||||
Syscall::Tkill(arg0, arg1) => unsafe { syscall2(200, arg0, arg1) },
|
|
||||||
Syscall::Time(arg0) => unsafe { syscall1(201, arg0) },
|
|
||||||
Syscall::Futex(arg0, arg1, arg2, arg3, arg4, arg5) => unsafe {
|
|
||||||
syscall6(202, arg0, arg1, arg2, arg3, arg4, arg5)
|
|
||||||
},
|
|
||||||
Syscall::SchedSetaffinity(arg0, arg1, arg2) => unsafe { syscall3(203, arg0, arg1, arg2) },
|
|
||||||
Syscall::SchedGetaffinity(arg0, arg1, arg2) => unsafe { syscall3(204, arg0, arg1, arg2) },
|
|
||||||
Syscall::SetThreadArea(arg0) => unsafe { syscall1(205, arg0) },
|
|
||||||
Syscall::IoSetup(arg0, arg1) => unsafe { syscall2(206, arg0, arg1) },
|
|
||||||
Syscall::IoDestroy(arg0) => unsafe { syscall1(207, arg0) },
|
|
||||||
Syscall::IoGetevents(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(208, arg0, arg1, arg2, arg3, arg4)
|
|
||||||
},
|
|
||||||
Syscall::IoSubmit(arg0, arg1, arg2) => unsafe { syscall3(209, arg0, arg1, arg2) },
|
|
||||||
Syscall::IoCancel(arg0, arg1, arg2) => unsafe { syscall3(210, arg0, arg1, arg2) },
|
|
||||||
Syscall::GetThreadArea(arg0) => unsafe { syscall1(211, arg0) },
|
|
||||||
Syscall::LookupDcookie(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(212, arg0, arg1, arg2, arg3)
|
|
||||||
},
|
|
||||||
Syscall::EpollCreate(arg0) => unsafe { syscall1(213, arg0) },
|
|
||||||
Syscall::EpollCtlOld => unsafe { syscall0(214) },
|
|
||||||
Syscall::EpollWaitOld => unsafe { syscall0(215) },
|
|
||||||
Syscall::RemapFilePages(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(216, arg0, arg1, arg2, arg3, arg4)
|
|
||||||
},
|
|
||||||
Syscall::Getdents64(arg0, arg1, arg2) => unsafe { syscall3(217, arg0, arg1, arg2) },
|
|
||||||
Syscall::SetTidAddress(arg0) => unsafe { syscall1(218, arg0) },
|
|
||||||
Syscall::RestartSyscall => unsafe { syscall0(219) },
|
|
||||||
Syscall::Semtimedop(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(220, arg0, arg1, arg2, arg3)
|
|
||||||
},
|
|
||||||
Syscall::Fadvise64(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(221, arg0, arg1, arg2, arg3)
|
|
||||||
},
|
|
||||||
Syscall::TimerCreate(arg0, arg1, arg2) => unsafe { syscall3(222, arg0, arg1, arg2) },
|
|
||||||
Syscall::TimerSettime(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(223, arg0, arg1, arg2, arg3)
|
|
||||||
},
|
|
||||||
Syscall::TimerGettime(arg0, arg1) => unsafe { syscall2(224, arg0, arg1) },
|
|
||||||
Syscall::TimerGetoverrun(arg0) => unsafe { syscall1(225, arg0) },
|
|
||||||
Syscall::TimerDelete(arg0) => unsafe { syscall1(226, arg0) },
|
|
||||||
Syscall::ClockSettime(arg0, arg1) => unsafe { syscall2(227, arg0, arg1) },
|
|
||||||
Syscall::ClockGettime(arg0, arg1) => unsafe { syscall2(228, arg0, arg1) },
|
|
||||||
Syscall::ClockGetres(arg0, arg1) => unsafe { syscall2(229, arg0, arg1) },
|
|
||||||
Syscall::ClockNanosleep(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(230, arg0, arg1, arg2, arg3)
|
|
||||||
},
|
|
||||||
Syscall::ExitGroup(arg0) => unsafe { syscall1(231, arg0) },
|
|
||||||
Syscall::EpollWait(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(232, arg0, arg1, arg2, arg3)
|
|
||||||
},
|
|
||||||
Syscall::EpollCtl(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(233, arg0, arg1, arg2, arg3)
|
|
||||||
},
|
|
||||||
Syscall::Tgkill(arg0, arg1, arg2) => unsafe { syscall3(234, arg0, arg1, arg2) },
|
|
||||||
Syscall::Utimes(arg0, arg1) => unsafe { syscall2(235, arg0, arg1) },
|
|
||||||
Syscall::Vserver => unsafe { syscall0(236) },
|
|
||||||
Syscall::Mbind(arg0, arg1, arg2, arg3, arg4, arg5) => unsafe {
|
|
||||||
syscall6(237, arg0, arg1, arg2, arg3, arg4, arg5)
|
|
||||||
},
|
|
||||||
Syscall::SetMempolicy(arg0, arg1, arg2) => unsafe { syscall3(238, arg0, arg1, arg2) },
|
|
||||||
Syscall::GetMempolicy(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(239, arg0, arg1, arg2, arg3, arg4)
|
|
||||||
},
|
|
||||||
Syscall::MqOpen(arg0, arg1, arg2, arg3) => unsafe { syscall4(240, arg0, arg1, arg2, arg3) },
|
|
||||||
Syscall::MqUnlink(arg0) => unsafe { syscall1(241, arg0) },
|
|
||||||
Syscall::MqTimedsend(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(242, arg0, arg1, arg2, arg3, arg4)
|
|
||||||
},
|
|
||||||
Syscall::MqTimedreceive(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(243, arg0, arg1, arg2, arg3, arg4)
|
|
||||||
},
|
|
||||||
Syscall::MqNotify(arg0, arg1) => unsafe { syscall2(244, arg0, arg1) },
|
|
||||||
Syscall::MqGetsetattr(arg0, arg1, arg2) => unsafe { syscall3(245, arg0, arg1, arg2) },
|
|
||||||
Syscall::KexecLoad(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(246, arg0, arg1, arg2, arg3)
|
|
||||||
},
|
|
||||||
Syscall::Waitid(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(247, arg0, arg1, arg2, arg3, arg4)
|
|
||||||
},
|
|
||||||
Syscall::AddKey(arg0, arg1, arg2, arg3) => unsafe { syscall4(248, arg0, arg1, arg2, arg3) },
|
|
||||||
Syscall::RequestKey(arg0, arg1, arg2) => unsafe { syscall3(249, arg0, arg1, arg2) },
|
|
||||||
Syscall::Keyctl(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(250, arg0, arg1, arg2, arg3, arg4)
|
|
||||||
},
|
|
||||||
Syscall::IoprioSet(arg0, arg1, arg2) => unsafe { syscall3(251, arg0, arg1, arg2) },
|
|
||||||
Syscall::IoprioGet(arg0, arg1) => unsafe { syscall2(252, arg0, arg1) },
|
|
||||||
Syscall::InotifyInit => unsafe { syscall0(253) },
|
|
||||||
Syscall::InotifyAddWatch(arg0, arg1, arg2) => unsafe { syscall3(254, arg0, arg1, arg2) },
|
|
||||||
Syscall::InotifyRmWatch(arg0, arg1) => unsafe { syscall2(255, arg0, arg1) },
|
|
||||||
Syscall::MigratePages(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(256, arg0, arg1, arg2, arg3)
|
|
||||||
},
|
|
||||||
Syscall::Openat(arg0, arg1, arg2, arg3) => unsafe { syscall4(257, arg0, arg1, arg2, arg3) },
|
|
||||||
Syscall::Mkdirat(arg0, arg1, arg2) => unsafe { syscall3(258, arg0, arg1, arg2) },
|
|
||||||
Syscall::Mknodat(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(259, arg0, arg1, arg2, arg3)
|
|
||||||
},
|
|
||||||
Syscall::Fchownat(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(260, arg0, arg1, arg2, arg3, arg4)
|
|
||||||
},
|
|
||||||
Syscall::Futimesat(arg0, arg1, arg2) => unsafe { syscall3(261, arg0, arg1, arg2) },
|
|
||||||
Syscall::Newfstatat(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(262, arg0, arg1, arg2, arg3)
|
|
||||||
},
|
|
||||||
Syscall::Unlinkat(arg0, arg1, arg2) => unsafe { syscall3(263, arg0, arg1, arg2) },
|
|
||||||
Syscall::Renameat(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(264, arg0, arg1, arg2, arg3)
|
|
||||||
},
|
|
||||||
Syscall::Linkat(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(265, arg0, arg1, arg2, arg3, arg4)
|
|
||||||
},
|
|
||||||
Syscall::Symlinkat(arg0, arg1, arg2) => unsafe { syscall3(266, arg0, arg1, arg2) },
|
|
||||||
Syscall::Readlinkat(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(267, arg0, arg1, arg2, arg3)
|
|
||||||
},
|
|
||||||
Syscall::Fchmodat(arg0, arg1, arg2) => unsafe { syscall3(268, arg0, arg1, arg2) },
|
|
||||||
Syscall::Faccessat(arg0, arg1, arg2) => unsafe { syscall3(269, arg0, arg1, arg2) },
|
|
||||||
Syscall::Pselect6(arg0, arg1, arg2, arg3, arg4, arg5) => unsafe {
|
|
||||||
syscall6(270, arg0, arg1, arg2, arg3, arg4, arg5)
|
|
||||||
},
|
|
||||||
Syscall::Ppoll(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(271, arg0, arg1, arg2, arg3, arg4)
|
|
||||||
},
|
|
||||||
Syscall::Unshare(arg0) => unsafe { syscall1(272, arg0) },
|
|
||||||
Syscall::SetRobustList(arg0, arg1) => unsafe { syscall2(273, arg0, arg1) },
|
|
||||||
Syscall::GetRobustList(arg0, arg1, arg2) => unsafe { syscall3(274, arg0, arg1, arg2) },
|
|
||||||
Syscall::Splice(arg0, arg1, arg2, arg3, arg4, arg5) => unsafe {
|
|
||||||
syscall6(275, arg0, arg1, arg2, arg3, arg4, arg5)
|
|
||||||
},
|
|
||||||
Syscall::Tee(arg0, arg1, arg2, arg3) => unsafe { syscall4(276, arg0, arg1, arg2, arg3) },
|
|
||||||
Syscall::SyncFileRange(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(277, arg0, arg1, arg2, arg3)
|
|
||||||
},
|
|
||||||
Syscall::Vmsplice(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(278, arg0, arg1, arg2, arg3)
|
|
||||||
},
|
|
||||||
Syscall::MovePages(arg0, arg1, arg2, arg3, arg4, arg5) => unsafe {
|
|
||||||
syscall6(279, arg0, arg1, arg2, arg3, arg4, arg5)
|
|
||||||
},
|
|
||||||
Syscall::Utimensat(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(280, arg0, arg1, arg2, arg3)
|
|
||||||
},
|
|
||||||
Syscall::EpollPwait(arg0, arg1, arg2, arg3, arg4, arg5) => unsafe {
|
|
||||||
syscall6(281, arg0, arg1, arg2, arg3, arg4, arg5)
|
|
||||||
},
|
|
||||||
Syscall::Signalfd(arg0, arg1, arg2) => unsafe { syscall3(282, arg0, arg1, arg2) },
|
|
||||||
Syscall::TimerfdCreate(arg0, arg1) => unsafe { syscall2(283, arg0, arg1) },
|
|
||||||
Syscall::Eventfd(arg0, arg1) => unsafe { syscall2(284, arg0, arg1) },
|
|
||||||
Syscall::Fallocate(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(285, arg0, arg1, arg2, arg3)
|
|
||||||
},
|
|
||||||
Syscall::TimerfdSettime(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(286, arg0, arg1, arg2, arg3)
|
|
||||||
},
|
|
||||||
Syscall::TimerfdGettime(arg0, arg1) => unsafe { syscall2(287, arg0, arg1) },
|
|
||||||
Syscall::Accept4(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(288, arg0, arg1, arg2, arg3)
|
|
||||||
},
|
|
||||||
Syscall::Signalfd4(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(289, arg0, arg1, arg2, arg3)
|
|
||||||
},
|
|
||||||
Syscall::Eventfd2(arg0, arg1) => unsafe { syscall2(290, arg0, arg1) },
|
|
||||||
Syscall::EpollCreate1(arg0) => unsafe { syscall1(291, arg0) },
|
|
||||||
Syscall::Dup3(arg0, arg1, arg2) => unsafe { syscall3(292, arg0, arg1, arg2) },
|
|
||||||
Syscall::Pipe2(arg0, arg1) => unsafe { syscall2(293, arg0, arg1) },
|
|
||||||
Syscall::InotifyInit1(arg0) => unsafe { syscall1(294, arg0) },
|
|
||||||
Syscall::Preadv(arg0, arg1, arg2, arg3) => unsafe { syscall4(295, arg0, arg1, arg2, arg3) },
|
|
||||||
Syscall::Pwritev(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(296, arg0, arg1, arg2, arg3)
|
|
||||||
},
|
|
||||||
Syscall::RtTgsigqueueinfo(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(297, arg0, arg1, arg2, arg3)
|
|
||||||
},
|
|
||||||
Syscall::PerfEventOpen(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(298, arg0, arg1, arg2, arg3, arg4)
|
|
||||||
},
|
|
||||||
Syscall::Recvmmsg(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(299, arg0, arg1, arg2, arg3, arg4)
|
|
||||||
},
|
|
||||||
Syscall::FanotifyInit(arg0, arg1) => unsafe { syscall2(300, arg0, arg1) },
|
|
||||||
Syscall::FanotifyMark(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(301, arg0, arg1, arg2, arg3, arg4)
|
|
||||||
},
|
|
||||||
Syscall::Prlimit64(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(302, arg0, arg1, arg2, arg3)
|
|
||||||
},
|
|
||||||
Syscall::NameToHandleAt(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(303, arg0, arg1, arg2, arg3, arg4)
|
|
||||||
},
|
|
||||||
Syscall::OpenByHandleAt(arg0, arg1, arg2) => unsafe { syscall3(304, arg0, arg1, arg2) },
|
|
||||||
Syscall::ClockAdjtime(arg0, arg1) => unsafe { syscall2(305, arg0, arg1) },
|
|
||||||
Syscall::Syncfs(arg0) => unsafe { syscall1(306, arg0) },
|
|
||||||
Syscall::Sendmmsg(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(307, arg0, arg1, arg2, arg3)
|
|
||||||
},
|
|
||||||
Syscall::Setns(arg0, arg1) => unsafe { syscall2(308, arg0, arg1) },
|
|
||||||
Syscall::Getcpu(arg0, arg1, arg2) => unsafe { syscall3(309, arg0, arg1, arg2) },
|
|
||||||
Syscall::ProcessVmReadv(arg0, arg1, arg2, arg3, arg4, arg5) => unsafe {
|
|
||||||
syscall6(310, arg0, arg1, arg2, arg3, arg4, arg5)
|
|
||||||
},
|
|
||||||
Syscall::ProcessVmWritev(arg0, arg1, arg2, arg3, arg4, arg5) => unsafe {
|
|
||||||
syscall6(311, arg0, arg1, arg2, arg3, arg4, arg5)
|
|
||||||
},
|
|
||||||
Syscall::Kcmp(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(312, arg0, arg1, arg2, arg3, arg4)
|
|
||||||
},
|
|
||||||
Syscall::FinitModule(arg0, arg1, arg2) => unsafe { syscall3(313, arg0, arg1, arg2) },
|
|
||||||
Syscall::SchedSetattr(arg0, arg1, arg2) => unsafe { syscall3(314, arg0, arg1, arg2) },
|
|
||||||
Syscall::SchedGetattr(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(315, arg0, arg1, arg2, arg3)
|
|
||||||
},
|
|
||||||
Syscall::Renameat2(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(316, arg0, arg1, arg2, arg3, arg4)
|
|
||||||
},
|
|
||||||
Syscall::Seccomp(arg0, arg1, arg2) => unsafe { syscall3(317, arg0, arg1, arg2) },
|
|
||||||
Syscall::Getrandom(arg0, arg1, arg2) => unsafe { syscall3(318, arg0, arg1, arg2) },
|
|
||||||
Syscall::MemfdCreate(arg0, arg1) => unsafe { syscall2(319, arg0, arg1) },
|
|
||||||
Syscall::KexecFileLoad(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(320, arg0, arg1, arg2, arg3, arg4)
|
|
||||||
},
|
|
||||||
Syscall::Bpf(arg0, arg1, arg2) => unsafe { syscall3(321, arg0, arg1, arg2) },
|
|
||||||
Syscall::Execveat(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(322, arg0, arg1, arg2, arg3, arg4)
|
|
||||||
},
|
|
||||||
Syscall::Userfaultfd(arg0) => unsafe { syscall1(323, arg0) },
|
|
||||||
Syscall::Membarrier(arg0, arg1) => unsafe { syscall2(324, arg0, arg1) },
|
|
||||||
Syscall::Mlock2(arg0, arg1, arg2) => unsafe { syscall3(325, arg0, arg1, arg2) },
|
|
||||||
Syscall::CopyFileRange(arg0, arg1, arg2, arg3, arg4, arg5) => unsafe {
|
|
||||||
syscall6(326, arg0, arg1, arg2, arg3, arg4, arg5)
|
|
||||||
},
|
|
||||||
Syscall::Preadv2(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(327, arg0, arg1, arg2, arg3, arg4)
|
|
||||||
},
|
|
||||||
Syscall::Pwritev2(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(328, arg0, arg1, arg2, arg3, arg4)
|
|
||||||
},
|
|
||||||
Syscall::PkeyMprotect(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(329, arg0, arg1, arg2, arg3)
|
|
||||||
},
|
|
||||||
Syscall::PkeyAlloc(arg0, arg1) => unsafe { syscall2(330, arg0, arg1) },
|
|
||||||
Syscall::PkeyFree(arg0) => unsafe { syscall1(331, arg0) },
|
|
||||||
Syscall::Statx(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(332, arg0, arg1, arg2, arg3, arg4)
|
|
||||||
},
|
|
||||||
Syscall::IoPgetevents(arg0, arg1, arg2, arg3, arg4, arg5) => unsafe {
|
|
||||||
syscall6(333, arg0, arg1, arg2, arg3, arg4, arg5)
|
|
||||||
},
|
|
||||||
Syscall::Rseq(arg0, arg1, arg2, arg3) => unsafe { syscall4(334, arg0, arg1, arg2, arg3) },
|
|
||||||
Syscall::PidfdSendSignal(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(424, arg0, arg1, arg2, arg3)
|
|
||||||
},
|
|
||||||
Syscall::IoUringSetup(arg0, arg1) => unsafe { syscall2(425, arg0, arg1) },
|
|
||||||
Syscall::IoUringEnter(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(426, arg0, arg1, arg2, arg3, arg4)
|
|
||||||
},
|
|
||||||
Syscall::IoUringRegister(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(427, arg0, arg1, arg2, arg3)
|
|
||||||
},
|
|
||||||
Syscall::OpenTree(arg0, arg1, arg2) => unsafe { syscall3(428, arg0, arg1, arg2) },
|
|
||||||
Syscall::MoveMount(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(429, arg0, arg1, arg2, arg3, arg4)
|
|
||||||
},
|
|
||||||
Syscall::Fsopen(arg0, arg1, arg2) => unsafe { syscall3(430, arg0, arg1, arg2) },
|
|
||||||
Syscall::Fsconfig(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(431, arg0, arg1, arg2, arg3, arg4)
|
|
||||||
},
|
|
||||||
Syscall::Fsmount(arg0, arg1, arg2) => unsafe { syscall3(432, arg0, arg1, arg2) },
|
|
||||||
Syscall::Fspick(arg0, arg1, arg2) => unsafe { syscall3(433, arg0, arg1, arg2) },
|
|
||||||
Syscall::PidfdOpen(arg0, arg1) => unsafe { syscall2(434, arg0, arg1) },
|
|
||||||
Syscall::Clone3(arg0, arg1) => unsafe { syscall2(435, arg0, arg1) },
|
|
||||||
Syscall::CloseRange(arg0, arg1, arg2) => unsafe { syscall3(436, arg0, arg1, arg2) },
|
|
||||||
Syscall::Openat2(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(437, arg0, arg1, arg2, arg3)
|
|
||||||
},
|
|
||||||
Syscall::PidfdGetfd(arg0, arg1, arg2) => unsafe { syscall3(438, arg0, arg1, arg2) },
|
|
||||||
Syscall::Faccessat2(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(439, arg0, arg1, arg2, arg3)
|
|
||||||
},
|
|
||||||
Syscall::ProcessMadvise(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(440, arg0, arg1, arg2, arg3, arg4)
|
|
||||||
},
|
|
||||||
Syscall::EpollPwait2(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(441, arg0, arg1, arg2, arg3, arg4)
|
|
||||||
},
|
|
||||||
Syscall::MountSetattr(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(442, arg0, arg1, arg2, arg3)
|
|
||||||
},
|
|
||||||
Syscall::QuotactlFd(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(443, arg0, arg1, arg2, arg3)
|
|
||||||
},
|
|
||||||
Syscall::LandlockCreateRuleset(arg0, arg1, arg2) => unsafe {
|
|
||||||
syscall3(444, arg0, arg1, arg2)
|
|
||||||
},
|
|
||||||
Syscall::LandlockAddRule(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(445, arg0, arg1, arg2, arg3)
|
|
||||||
},
|
|
||||||
Syscall::LandlockRestrictSelf(arg0, arg1) => unsafe { syscall2(446, arg0, arg1) },
|
|
||||||
Syscall::MemfdSecret(arg0) => unsafe { syscall1(447, arg0) },
|
|
||||||
Syscall::ProcessMrelease(arg0, arg1) => unsafe { syscall2(448, arg0, arg1) },
|
|
||||||
Syscall::FutexWaitv(arg0, arg1, arg2) => unsafe { syscall3(449, arg0, arg1, arg2) },
|
|
||||||
Syscall::SetMempolicyHomeNode(arg0, arg1, arg2) => unsafe {
|
|
||||||
syscall3(450, arg0, arg1, arg2)
|
|
||||||
},
|
|
||||||
Syscall::Cachestat(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(451, arg0, arg1, arg2, arg3, arg4)
|
|
||||||
},
|
|
||||||
Syscall::Fchmodat2(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(452, arg0, arg1, arg2, arg3)
|
|
||||||
},
|
|
||||||
Syscall::MapShadowStack(arg0, arg1) => unsafe { syscall2(453, arg0, arg1) },
|
|
||||||
Syscall::FutexWake(arg0, arg1, arg2) => unsafe { syscall3(454, arg0, arg1, arg2) },
|
|
||||||
Syscall::FutexWait(arg0, arg1, arg2) => unsafe { syscall3(455, arg0, arg1, arg2) },
|
|
||||||
Syscall::FutexRequeue(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(456, arg0, arg1, arg2, arg3)
|
|
||||||
},
|
|
||||||
Syscall::Statmount(arg0, arg1, arg2) => unsafe { syscall3(457, arg0, arg1, arg2) },
|
|
||||||
Syscall::Listmount(arg0, arg1, arg2) => unsafe { syscall3(458, arg0, arg1, arg2) },
|
|
||||||
Syscall::LsmGetSelfAttr(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(459, arg0, arg1, arg2, arg3)
|
|
||||||
},
|
|
||||||
Syscall::LsmSetSelfAttr(arg0, arg1, arg2) => unsafe { syscall3(460, arg0, arg1, arg2) },
|
|
||||||
Syscall::LsmListModules(arg0, arg1) => unsafe { syscall2(461, arg0, arg1) },
|
|
||||||
Syscall::Unknown(syscall_num, args) => match args {
|
|
||||||
[arg0, arg1, arg2, arg3, arg4, arg5] => unsafe {
|
|
||||||
syscall6(syscall_num, arg0, arg1, arg2, arg3, arg4, arg5)
|
|
||||||
},
|
|
||||||
_ => unreachable!(),
|
|
||||||
},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
+1
-1
@@ -5,7 +5,7 @@ use std::{
|
|||||||
|
|
||||||
use syscall_lib::{ProgramMemory, Syscall};
|
use syscall_lib::{ProgramMemory, Syscall};
|
||||||
|
|
||||||
use crate::syscall_exec;
|
// use crate::syscall_exec;
|
||||||
|
|
||||||
pub struct Host {
|
pub struct Host {
|
||||||
stream: TcpStream,
|
stream: TcpStream,
|
||||||
|
|||||||
+31
-32
@@ -1,9 +1,8 @@
|
|||||||
mod host;
|
mod host;
|
||||||
mod syscall_exec;
|
|
||||||
#[allow(dead_code)]
|
#[allow(dead_code)]
|
||||||
mod syscall_intercept;
|
mod syscall_intercept;
|
||||||
|
|
||||||
use syscall_lib::syscall_should_proxy;
|
use syscall_lib::Syscall;
|
||||||
|
|
||||||
use libc::exit;
|
use libc::exit;
|
||||||
use std::{
|
use std::{
|
||||||
@@ -20,17 +19,17 @@ static mut HOST: Option<Mutex<Host>> = None;
|
|||||||
|
|
||||||
#[ctor::ctor]
|
#[ctor::ctor]
|
||||||
fn start() {
|
fn start() {
|
||||||
unsafe {
|
// unsafe {
|
||||||
HOST = Some({
|
// HOST = Some({
|
||||||
match Host::new() {
|
// match Host::new() {
|
||||||
Ok(host) => Mutex::new(host),
|
// Ok(host) => Mutex::new(host),
|
||||||
Err(e) => {
|
// Err(e) => {
|
||||||
eprintln!("Failed to connect to server: {}", e);
|
// eprintln!("Failed to connect to server: {}", e);
|
||||||
exit(1);
|
// exit(1);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
});
|
// });
|
||||||
}
|
// }
|
||||||
|
|
||||||
unsafe { set_hook_fn(hook) };
|
unsafe { set_hook_fn(hook) };
|
||||||
}
|
}
|
||||||
@@ -68,13 +67,13 @@ impl Drop for InterceptGuard {
|
|||||||
}
|
}
|
||||||
|
|
||||||
extern "C" fn hook(
|
extern "C" fn hook(
|
||||||
syscall_num: usize,
|
syscall_num: libc::c_long,
|
||||||
arg0: usize,
|
arg0: libc::c_ulong,
|
||||||
arg1: usize,
|
arg1: libc::c_ulong,
|
||||||
arg2: usize,
|
arg2: libc::c_ulong,
|
||||||
arg3: usize,
|
arg3: libc::c_ulong,
|
||||||
arg4: usize,
|
arg4: libc::c_ulong,
|
||||||
arg5: usize,
|
arg5: libc::c_ulong,
|
||||||
result: &mut isize,
|
result: &mut isize,
|
||||||
) -> InterceptResult {
|
) -> InterceptResult {
|
||||||
// detect and avoid recursive interception
|
// detect and avoid recursive interception
|
||||||
@@ -95,11 +94,11 @@ extern "C" fn hook(
|
|||||||
}
|
}
|
||||||
|
|
||||||
let args = [arg0, arg1, arg2, arg3, arg4, arg5];
|
let args = [arg0, arg1, arg2, arg3, arg4, arg5];
|
||||||
let syscall = syscall_lib::create_syscall(syscall_num, args);
|
let syscall = Syscall::from_syscall(syscall_num as libc::c_long, args).unwrap();
|
||||||
|
|
||||||
if !syscall_should_proxy(&syscall) {
|
// if !syscall_should_proxy(&syscall) {
|
||||||
return InterceptResult::Forward;
|
// return InterceptResult::Forward;
|
||||||
}
|
// }
|
||||||
|
|
||||||
// Return if is print
|
// Return if is print
|
||||||
// if syscall_num == libc::SYS_write as _ && arg0 == 1 {
|
// if syscall_num == libc::SYS_write as _ && arg0 == 1 {
|
||||||
@@ -110,18 +109,18 @@ extern "C" fn hook(
|
|||||||
// return InterceptResult::Forward;
|
// return InterceptResult::Forward;
|
||||||
// }
|
// }
|
||||||
|
|
||||||
// println!("{:?}", desc);
|
println!("{:?}", syscall);
|
||||||
|
|
||||||
unsafe {
|
// unsafe {
|
||||||
#[allow(static_mut_refs)]
|
// #[allow(static_mut_refs)]
|
||||||
if let Some(host) = HOST.as_ref() {
|
// if let Some(host) = HOST.as_ref() {
|
||||||
*result = host.lock().unwrap().execute(&syscall);
|
// *result = host.lock().unwrap().execute(&syscall);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
unsafe {
|
unsafe {
|
||||||
set_hook_fn(hook);
|
set_hook_fn(hook);
|
||||||
}
|
}
|
||||||
|
|
||||||
InterceptResult::Hook
|
InterceptResult::Forward
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,688 +0,0 @@
|
|||||||
use syscall_lib::Syscall;
|
|
||||||
use syscaller::{syscall0, syscall1, syscall2, syscall3, syscall4, syscall5, syscall6};
|
|
||||||
|
|
||||||
// fn syscall0(number: isize) -> isize {
|
|
||||||
// unsafe { syscaller::syscall0(number as usize) }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// fn syscall1(number: isize, *arg0: isize) -> isize {
|
|
||||||
// unsafe { syscaller::syscall1(number as usize, *arg0 as usize) }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// fn syscall2(number: isize, *arg0: isize, *arg1: isize) -> isize {
|
|
||||||
// unsafe { syscaller::syscall2(number as usize, *arg0 as usize, *arg1 as usize) }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// fn syscall3(number: isize, *arg0: isize, *arg1: isize, *arg2: isize) -> isize {
|
|
||||||
// unsafe { syscaller::syscall3(number as usize, *arg0 as usize, *arg1 as usize, *arg2 as usize) }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// fn syscall4(number: isize, *arg0: isize, *arg1: isize, *arg2: isize, *arg3: isize) -> isize {
|
|
||||||
// unsafe {
|
|
||||||
// syscaller::syscall4(
|
|
||||||
// number as usize,
|
|
||||||
// arg0 as usize,
|
|
||||||
// arg1 as usize,
|
|
||||||
// arg2 as usize,
|
|
||||||
// arg3 as usize,
|
|
||||||
// )
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// fn syscall5(
|
|
||||||
// number: isize,
|
|
||||||
// arg0: isize,
|
|
||||||
// arg1: isize,
|
|
||||||
// arg2: isize,
|
|
||||||
// arg3: isize,
|
|
||||||
// arg4: isize,
|
|
||||||
// ) -> isize {
|
|
||||||
// unsafe {
|
|
||||||
// syscaller::syscall5(
|
|
||||||
// number as usize,
|
|
||||||
// arg0 as usize,
|
|
||||||
// arg1 as usize,
|
|
||||||
// arg2 as usize,
|
|
||||||
// arg3 as usize,
|
|
||||||
// arg4 as usize,
|
|
||||||
// )
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// fn syscall6(
|
|
||||||
// number: isize,
|
|
||||||
// arg0: isize,
|
|
||||||
// arg1: isize,
|
|
||||||
// arg2: isize,
|
|
||||||
// arg3: isize,
|
|
||||||
// arg4: isize,
|
|
||||||
// arg5: isize,
|
|
||||||
// ) -> isize {
|
|
||||||
// unsafe {
|
|
||||||
// syscaller::syscall6(
|
|
||||||
// number as usize,
|
|
||||||
// arg0 as usize,
|
|
||||||
// arg1 as usize,
|
|
||||||
// arg2 as usize,
|
|
||||||
// arg3 as usize,
|
|
||||||
// arg4 as usize,
|
|
||||||
// arg5 as usize,
|
|
||||||
// )
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// The Syscall enum and type aliases from the previous response are assumed to be present here.
|
|
||||||
#[allow(unused_unsafe)]
|
|
||||||
pub fn execute_syscall(syscall_obj: &Syscall) -> isize {
|
|
||||||
match syscall_obj {
|
|
||||||
Syscall::Read(arg0, arg1, arg2) => unsafe { syscall3(0, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Write(arg0, arg1, arg2) => unsafe { syscall3(1, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Open(arg0, arg1, arg2) => unsafe { syscall3(2, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Close(arg0) => unsafe { syscall1(3, *arg0) },
|
|
||||||
Syscall::Stat(arg0, arg1) => unsafe { syscall2(4, *arg0, *arg1) },
|
|
||||||
Syscall::Fstat(arg0, arg1) => unsafe { syscall2(5, *arg0, *arg1) },
|
|
||||||
Syscall::Lstat(arg0, arg1) => unsafe { syscall2(6, *arg0, *arg1) },
|
|
||||||
Syscall::Poll(arg0, arg1, arg2) => unsafe { syscall3(7, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Lseek(arg0, arg1, arg2) => unsafe { syscall3(8, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Mmap(arg0, arg1, arg2, arg3, arg4, arg5) => unsafe {
|
|
||||||
syscall6(9, *arg0, *arg1, *arg2, *arg3, *arg4, *arg5)
|
|
||||||
},
|
|
||||||
Syscall::Mprotect(arg0, arg1, arg2) => unsafe { syscall3(10, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Munmap(arg0, arg1) => unsafe { syscall2(11, *arg0, *arg1) },
|
|
||||||
Syscall::Brk(arg0) => unsafe { syscall1(12, *arg0) },
|
|
||||||
Syscall::RtSigaction(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(13, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::RtSigprocmask(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(14, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::RtSigreturn => unsafe { syscall0(15) },
|
|
||||||
Syscall::Ioctl(arg0, arg1, arg2) => unsafe { syscall3(16, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Pread64(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(17, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::Pwrite64(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(18, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::Readv(arg0, arg1, arg2) => unsafe { syscall3(19, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Writev(arg0, arg1, arg2) => unsafe { syscall3(20, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Access(arg0, arg1) => unsafe { syscall2(21, *arg0, *arg1) },
|
|
||||||
Syscall::Pipe(arg0) => unsafe { syscall1(22, *arg0) },
|
|
||||||
Syscall::Select(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(23, *arg0, *arg1, *arg2, *arg3, *arg4)
|
|
||||||
},
|
|
||||||
Syscall::SchedYield => unsafe { syscall0(24) },
|
|
||||||
Syscall::Mremap(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(25, *arg0, *arg1, *arg2, *arg3, *arg4)
|
|
||||||
},
|
|
||||||
Syscall::Msync(arg0, arg1, arg2) => unsafe { syscall3(26, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Mincore(arg0, arg1, arg2) => unsafe { syscall3(27, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Madvise(arg0, arg1, arg2) => unsafe { syscall3(28, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Shmget(arg0, arg1, arg2) => unsafe { syscall3(29, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Shmat(arg0, arg1, arg2) => unsafe { syscall3(30, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Shmctl(arg0, arg1, arg2) => unsafe { syscall3(31, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Dup(arg0) => unsafe { syscall1(32, *arg0) },
|
|
||||||
Syscall::Dup2(arg0, arg1) => unsafe { syscall2(33, *arg0, *arg1) },
|
|
||||||
Syscall::Pause => unsafe { syscall0(34) },
|
|
||||||
Syscall::Nanosleep(arg0, arg1) => unsafe { syscall2(35, *arg0, *arg1) },
|
|
||||||
Syscall::Getitimer(arg0, arg1) => unsafe { syscall2(36, *arg0, *arg1) },
|
|
||||||
Syscall::Alarm(arg0) => unsafe { syscall1(37, *arg0) },
|
|
||||||
Syscall::Setitimer(arg0, arg1, arg2) => unsafe { syscall3(38, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Getpid => unsafe { syscall0(39) },
|
|
||||||
Syscall::Sendfile(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(40, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::Socket(arg0, arg1, arg2) => unsafe { syscall3(41, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Connect(arg0, arg1, arg2) => unsafe { syscall3(42, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Accept(arg0, arg1, arg2) => unsafe { syscall3(43, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Sendto(arg0, arg1, arg2, arg3, arg4, arg5) => unsafe {
|
|
||||||
syscall6(44, *arg0, *arg1, *arg2, *arg3, *arg4, *arg5)
|
|
||||||
},
|
|
||||||
Syscall::Recvfrom(arg0, arg1, arg2, arg3, arg4, arg5) => unsafe {
|
|
||||||
syscall6(45, *arg0, *arg1, *arg2, *arg3, *arg4, *arg5)
|
|
||||||
},
|
|
||||||
Syscall::Sendmsg(arg0, arg1, arg2) => unsafe { syscall3(46, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Recvmsg(arg0, arg1, arg2) => unsafe { syscall3(47, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Shutdown(arg0, arg1) => unsafe { syscall2(48, *arg0, *arg1) },
|
|
||||||
Syscall::Bind(arg0, arg1, arg2) => unsafe { syscall3(49, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Listen(arg0, arg1) => unsafe { syscall2(50, *arg0, *arg1) },
|
|
||||||
Syscall::Getsockname(arg0, arg1, arg2) => unsafe { syscall3(51, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Getpeername(arg0, arg1, arg2) => unsafe { syscall3(52, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Socketpair(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(53, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::Setsockopt(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(54, *arg0, *arg1, *arg2, *arg3, *arg4)
|
|
||||||
},
|
|
||||||
Syscall::Getsockopt(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(55, *arg0, *arg1, *arg2, *arg3, *arg4)
|
|
||||||
},
|
|
||||||
Syscall::Clone(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(56, *arg0, *arg1, *arg2, *arg3, *arg4)
|
|
||||||
},
|
|
||||||
Syscall::Fork => unsafe { syscall0(57) },
|
|
||||||
Syscall::Vfork => unsafe { syscall0(58) },
|
|
||||||
Syscall::Execve(arg0, arg1, arg2) => unsafe { syscall3(59, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Exit(arg0) => unsafe { syscall1(60, *arg0) },
|
|
||||||
Syscall::Wait4(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(61, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::Kill(arg0, arg1) => unsafe { syscall2(62, *arg0, *arg1) },
|
|
||||||
Syscall::Uname(arg0) => unsafe { syscall1(63, *arg0) },
|
|
||||||
Syscall::Semget(arg0, arg1, arg2) => unsafe { syscall3(64, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Semop(arg0, arg1, arg2) => unsafe { syscall3(65, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Semctl(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(66, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::Shmdt(arg0) => unsafe { syscall1(67, *arg0) },
|
|
||||||
Syscall::Msgget(arg0, arg1) => unsafe { syscall2(68, *arg0, *arg1) },
|
|
||||||
Syscall::Msgsnd(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(69, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::Msgrcv(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(70, *arg0, *arg1, *arg2, *arg3, *arg4)
|
|
||||||
},
|
|
||||||
Syscall::Msgctl(arg0, arg1, arg2) => unsafe { syscall3(71, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Fcntl(arg0, arg1, arg2) => unsafe { syscall3(72, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Flock(arg0, arg1) => unsafe { syscall2(73, *arg0, *arg1) },
|
|
||||||
Syscall::Fsync(arg0) => unsafe { syscall1(74, *arg0) },
|
|
||||||
Syscall::Fdatasync(arg0) => unsafe { syscall1(75, *arg0) },
|
|
||||||
Syscall::Truncate(arg0, arg1) => unsafe { syscall2(76, *arg0, *arg1) },
|
|
||||||
Syscall::Ftruncate(arg0, arg1) => unsafe { syscall2(77, *arg0, *arg1) },
|
|
||||||
Syscall::Getdents(arg0, arg1, arg2) => unsafe { syscall3(78, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Getcwd(arg0, arg1) => unsafe { syscall2(79, *arg0, *arg1) },
|
|
||||||
Syscall::Chdir(arg0) => unsafe { syscall1(80, *arg0) },
|
|
||||||
Syscall::Fchdir(arg0) => unsafe { syscall1(81, *arg0) },
|
|
||||||
Syscall::Rename(arg0, arg1) => unsafe { syscall2(82, *arg0, *arg1) },
|
|
||||||
Syscall::Mkdir(arg0, arg1) => unsafe { syscall2(83, *arg0, *arg1) },
|
|
||||||
Syscall::Rmdir(arg0) => unsafe { syscall1(84, *arg0) },
|
|
||||||
Syscall::Creat(arg0, arg1) => unsafe { syscall2(85, *arg0, *arg1) },
|
|
||||||
Syscall::Link(arg0, arg1) => unsafe { syscall2(86, *arg0, *arg1) },
|
|
||||||
Syscall::Unlink(arg0) => unsafe { syscall1(87, *arg0) },
|
|
||||||
Syscall::Symlink(arg0, arg1) => unsafe { syscall2(88, *arg0, *arg1) },
|
|
||||||
Syscall::Readlink(arg0, arg1, arg2) => unsafe { syscall3(89, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Chmod(arg0, arg1) => unsafe { syscall2(90, *arg0, *arg1) },
|
|
||||||
Syscall::Fchmod(arg0, arg1) => unsafe { syscall2(91, *arg0, *arg1) },
|
|
||||||
Syscall::Chown(arg0, arg1, arg2) => unsafe { syscall3(92, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Fchown(arg0, arg1, arg2) => unsafe { syscall3(93, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Lchown(arg0, arg1, arg2) => unsafe { syscall3(94, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Umask(arg0) => unsafe { syscall1(95, *arg0) },
|
|
||||||
Syscall::Gettimeofday(arg0, arg1) => unsafe { syscall2(96, *arg0, *arg1) },
|
|
||||||
Syscall::Getrlimit(arg0, arg1) => unsafe { syscall2(97, *arg0, *arg1) },
|
|
||||||
Syscall::Getrusage(arg0, arg1) => unsafe { syscall2(98, *arg0, *arg1) },
|
|
||||||
Syscall::Sysinfo(arg0) => unsafe { syscall1(99, *arg0) },
|
|
||||||
Syscall::Times(arg0) => unsafe { syscall1(100, *arg0) },
|
|
||||||
Syscall::Ptrace(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(101, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::Getuid => unsafe { syscall0(102) },
|
|
||||||
Syscall::Syslog(arg0, arg1, arg2) => unsafe { syscall3(103, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Getgid => unsafe { syscall0(104) },
|
|
||||||
Syscall::Setuid(arg0) => unsafe { syscall1(105, *arg0) },
|
|
||||||
Syscall::Setgid(arg0) => unsafe { syscall1(106, *arg0) },
|
|
||||||
Syscall::Geteuid => unsafe { syscall0(107) },
|
|
||||||
Syscall::Getegid => unsafe { syscall0(108) },
|
|
||||||
Syscall::Setpgid(arg0, arg1) => unsafe { syscall2(109, *arg0, *arg1) },
|
|
||||||
Syscall::Getppid => unsafe { syscall0(110) },
|
|
||||||
Syscall::Getpgrp => unsafe { syscall0(111) },
|
|
||||||
Syscall::Setsid => unsafe { syscall0(112) },
|
|
||||||
Syscall::Setreuid(arg0, arg1) => unsafe { syscall2(113, *arg0, *arg1) },
|
|
||||||
Syscall::Setregid(arg0, arg1) => unsafe { syscall2(114, *arg0, *arg1) },
|
|
||||||
Syscall::Getgroups(arg0, arg1) => unsafe { syscall2(115, *arg0, *arg1) },
|
|
||||||
Syscall::Setgroups(arg0, arg1) => unsafe { syscall2(116, *arg0, *arg1) },
|
|
||||||
Syscall::Setresuid(arg0, arg1, arg2) => unsafe { syscall3(117, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Getresuid(arg0, arg1, arg2) => unsafe { syscall3(118, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Setresgid(arg0, arg1, arg2) => unsafe { syscall3(119, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Getresgid(arg0, arg1, arg2) => unsafe { syscall3(120, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Getpgid(arg0) => unsafe { syscall1(121, *arg0) },
|
|
||||||
Syscall::Setfsuid(arg0) => unsafe { syscall1(122, *arg0) },
|
|
||||||
Syscall::Setfsgid(arg0) => unsafe { syscall1(123, *arg0) },
|
|
||||||
Syscall::Getsid(arg0) => unsafe { syscall1(124, *arg0) },
|
|
||||||
Syscall::Capget(arg0, arg1) => unsafe { syscall2(125, *arg0, *arg1) },
|
|
||||||
Syscall::Capset(arg0, arg1) => unsafe { syscall2(126, *arg0, *arg1) },
|
|
||||||
Syscall::RtSigpending(arg0, arg1) => unsafe { syscall2(127, *arg0, *arg1) },
|
|
||||||
Syscall::RtSigtimedwait(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(128, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::RtSigqueueinfo(arg0, arg1, arg2) => unsafe { syscall3(129, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::RtSigsuspend(arg0, arg1) => unsafe { syscall2(130, *arg0, *arg1) },
|
|
||||||
Syscall::Sigaltstack(arg0, arg1) => unsafe { syscall2(131, *arg0, *arg1) },
|
|
||||||
Syscall::Utime(arg0, arg1) => unsafe { syscall2(132, *arg0, *arg1) },
|
|
||||||
Syscall::Mknod(arg0, arg1, arg2) => unsafe { syscall3(133, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Uselib(arg0) => unsafe { syscall1(134, *arg0) },
|
|
||||||
Syscall::Personality(arg0) => unsafe { syscall1(135, *arg0) },
|
|
||||||
Syscall::Ustat(arg0, arg1) => unsafe { syscall2(136, *arg0, *arg1) },
|
|
||||||
Syscall::Statfs(arg0, arg1) => unsafe { syscall2(137, *arg0, *arg1) },
|
|
||||||
Syscall::Fstatfs(arg0, arg1) => unsafe { syscall2(138, *arg0, *arg1) },
|
|
||||||
Syscall::Sysfs(arg0, arg1, arg2) => unsafe { syscall3(139, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Getpriority(arg0, arg1) => unsafe { syscall2(140, *arg0, *arg1) },
|
|
||||||
Syscall::Setpriority(arg0, arg1, arg2) => unsafe { syscall3(141, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::SchedSetparam(arg0, arg1) => unsafe { syscall2(142, *arg0, *arg1) },
|
|
||||||
Syscall::SchedGetparam(arg0, arg1) => unsafe { syscall2(143, *arg0, *arg1) },
|
|
||||||
Syscall::SchedSetscheduler(arg0, arg1, arg2) => unsafe {
|
|
||||||
syscall3(144, *arg0, *arg1, *arg2)
|
|
||||||
},
|
|
||||||
Syscall::SchedGetscheduler(arg0) => unsafe { syscall1(145, *arg0) },
|
|
||||||
Syscall::SchedGetPriorityMax(arg0) => unsafe { syscall1(146, *arg0) },
|
|
||||||
Syscall::SchedGetPriorityMin(arg0) => unsafe { syscall1(147, *arg0) },
|
|
||||||
Syscall::SchedRrGetInterval(arg0, arg1) => unsafe { syscall2(148, *arg0, *arg1) },
|
|
||||||
Syscall::Mlock(arg0, arg1) => unsafe { syscall2(149, *arg0, *arg1) },
|
|
||||||
Syscall::Munlock(arg0, arg1) => unsafe { syscall2(150, *arg0, *arg1) },
|
|
||||||
Syscall::Mlockall(arg0) => unsafe { syscall1(151, *arg0) },
|
|
||||||
Syscall::Munlockall => unsafe { syscall0(152) },
|
|
||||||
Syscall::Vhangup => unsafe { syscall0(153) },
|
|
||||||
Syscall::ModifyLdt(arg0, arg1, arg2) => unsafe { syscall3(154, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::PivotRoot(arg0, arg1) => unsafe { syscall2(155, *arg0, *arg1) },
|
|
||||||
Syscall::_Sysctl(arg0) => unsafe { syscall1(156, *arg0) },
|
|
||||||
Syscall::Prctl(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(157, *arg0, *arg1, *arg2, *arg3, *arg4)
|
|
||||||
},
|
|
||||||
Syscall::ArchPrctl(arg0, arg1) => unsafe { syscall2(158, *arg0, *arg1) },
|
|
||||||
Syscall::Adjtimex(arg0) => unsafe { syscall1(159, *arg0) },
|
|
||||||
Syscall::Setrlimit(arg0, arg1) => unsafe { syscall2(160, *arg0, *arg1) },
|
|
||||||
Syscall::Chroot(arg0) => unsafe { syscall1(161, *arg0) },
|
|
||||||
Syscall::Sync => unsafe { syscall0(162) },
|
|
||||||
Syscall::Acct(arg0) => unsafe { syscall1(163, *arg0) },
|
|
||||||
Syscall::Settimeofday(arg0, arg1) => unsafe { syscall2(164, *arg0, *arg1) },
|
|
||||||
Syscall::Mount(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(165, *arg0, *arg1, *arg2, *arg3, *arg4)
|
|
||||||
},
|
|
||||||
Syscall::Umount2(arg0, arg1) => unsafe { syscall2(166, *arg0, *arg1) },
|
|
||||||
Syscall::Swapon(arg0, arg1) => unsafe { syscall2(167, *arg0, *arg1) },
|
|
||||||
Syscall::Swapoff(arg0) => unsafe { syscall1(168, *arg0) },
|
|
||||||
Syscall::Reboot(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(169, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::Sethostname(arg0, arg1) => unsafe { syscall2(170, *arg0, *arg1) },
|
|
||||||
Syscall::Setdomainname(arg0, arg1) => unsafe { syscall2(171, *arg0, *arg1) },
|
|
||||||
Syscall::Iopl(arg0) => unsafe { syscall1(172, *arg0) },
|
|
||||||
Syscall::Ioperm(arg0, arg1, arg2) => unsafe { syscall3(173, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::CreateModule(arg0, arg1) => unsafe { syscall2(174, *arg0, *arg1) },
|
|
||||||
Syscall::InitModule(arg0, arg1, arg2) => unsafe { syscall3(175, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::DeleteModule(arg0, arg1) => unsafe { syscall2(176, *arg0, *arg1) },
|
|
||||||
Syscall::GetKernelSyms(arg0) => unsafe { syscall1(177, *arg0) },
|
|
||||||
Syscall::QueryModule(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(178, *arg0, *arg1, *arg2, *arg3, *arg4)
|
|
||||||
},
|
|
||||||
Syscall::Quotactl(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(179, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::Nfsservctl(arg0, arg1, arg2) => unsafe { syscall3(180, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Getpmsg => unsafe { syscall0(181) },
|
|
||||||
Syscall::Putpmsg => unsafe { syscall0(182) },
|
|
||||||
Syscall::AfsSyscall => unsafe { syscall0(183) },
|
|
||||||
Syscall::Tuxcall => unsafe { syscall0(184) },
|
|
||||||
Syscall::Security => unsafe { syscall0(185) },
|
|
||||||
Syscall::Gettid => unsafe { syscall0(186) },
|
|
||||||
Syscall::Readahead(arg0, arg1, arg2) => unsafe { syscall3(187, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Setxattr(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(188, *arg0, *arg1, *arg2, *arg3, *arg4)
|
|
||||||
},
|
|
||||||
Syscall::Lsetxattr(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(189, *arg0, *arg1, *arg2, *arg3, *arg4)
|
|
||||||
},
|
|
||||||
Syscall::Fsetxattr(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(190, *arg0, *arg1, *arg2, *arg3, *arg4)
|
|
||||||
},
|
|
||||||
Syscall::Getxattr(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(191, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::Lgetxattr(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(192, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::Fgetxattr(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(193, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::Listxattr(arg0, arg1, arg2) => unsafe { syscall3(194, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Llistxattr(arg0, arg1, arg2) => unsafe { syscall3(195, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Flistxattr(arg0, arg1, arg2) => unsafe { syscall3(196, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Removexattr(arg0, arg1) => unsafe { syscall2(197, *arg0, *arg1) },
|
|
||||||
Syscall::Lremovexattr(arg0, arg1) => unsafe { syscall2(198, *arg0, *arg1) },
|
|
||||||
Syscall::Fremovexattr(arg0, arg1) => unsafe { syscall2(199, *arg0, *arg1) },
|
|
||||||
Syscall::Tkill(arg0, arg1) => unsafe { syscall2(200, *arg0, *arg1) },
|
|
||||||
Syscall::Time(arg0) => unsafe { syscall1(201, *arg0) },
|
|
||||||
Syscall::Futex(arg0, arg1, arg2, arg3, arg4, arg5) => unsafe {
|
|
||||||
syscall6(202, *arg0, *arg1, *arg2, *arg3, *arg4, *arg5)
|
|
||||||
},
|
|
||||||
Syscall::SchedSetaffinity(arg0, arg1, arg2) => unsafe {
|
|
||||||
syscall3(203, *arg0, *arg1, *arg2)
|
|
||||||
},
|
|
||||||
Syscall::SchedGetaffinity(arg0, arg1, arg2) => unsafe {
|
|
||||||
syscall3(204, *arg0, *arg1, *arg2)
|
|
||||||
},
|
|
||||||
Syscall::SetThreadArea(arg0) => unsafe { syscall1(205, *arg0) },
|
|
||||||
Syscall::IoSetup(arg0, arg1) => unsafe { syscall2(206, *arg0, *arg1) },
|
|
||||||
Syscall::IoDestroy(arg0) => unsafe { syscall1(207, *arg0) },
|
|
||||||
Syscall::IoGetevents(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(208, *arg0, *arg1, *arg2, *arg3, *arg4)
|
|
||||||
},
|
|
||||||
Syscall::IoSubmit(arg0, arg1, arg2) => unsafe { syscall3(209, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::IoCancel(arg0, arg1, arg2) => unsafe { syscall3(210, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::GetThreadArea(arg0) => unsafe { syscall1(211, *arg0) },
|
|
||||||
Syscall::LookupDcookie(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(212, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::EpollCreate(arg0) => unsafe { syscall1(213, *arg0) },
|
|
||||||
Syscall::EpollCtlOld => unsafe { syscall0(214) },
|
|
||||||
Syscall::EpollWaitOld => unsafe { syscall0(215) },
|
|
||||||
Syscall::RemapFilePages(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(216, *arg0, *arg1, *arg2, *arg3, *arg4)
|
|
||||||
},
|
|
||||||
Syscall::Getdents64(arg0, arg1, arg2) => unsafe { syscall3(217, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::SetTidAddress(arg0) => unsafe { syscall1(218, *arg0) },
|
|
||||||
Syscall::RestartSyscall => unsafe { syscall0(219) },
|
|
||||||
Syscall::Semtimedop(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(220, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::Fadvise64(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(221, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::TimerCreate(arg0, arg1, arg2) => unsafe { syscall3(222, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::TimerSettime(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(223, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::TimerGettime(arg0, arg1) => unsafe { syscall2(224, *arg0, *arg1) },
|
|
||||||
Syscall::TimerGetoverrun(arg0) => unsafe { syscall1(225, *arg0) },
|
|
||||||
Syscall::TimerDelete(arg0) => unsafe { syscall1(226, *arg0) },
|
|
||||||
Syscall::ClockSettime(arg0, arg1) => unsafe { syscall2(227, *arg0, *arg1) },
|
|
||||||
Syscall::ClockGettime(arg0, arg1) => unsafe { syscall2(228, *arg0, *arg1) },
|
|
||||||
Syscall::ClockGetres(arg0, arg1) => unsafe { syscall2(229, *arg0, *arg1) },
|
|
||||||
Syscall::ClockNanosleep(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(230, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::ExitGroup(arg0) => unsafe { syscall1(231, *arg0) },
|
|
||||||
Syscall::EpollWait(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(232, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::EpollCtl(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(233, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::Tgkill(arg0, arg1, arg2) => unsafe { syscall3(234, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Utimes(arg0, arg1) => unsafe { syscall2(235, *arg0, *arg1) },
|
|
||||||
Syscall::Vserver => unsafe { syscall0(236) },
|
|
||||||
Syscall::Mbind(arg0, arg1, arg2, arg3, arg4, arg5) => unsafe {
|
|
||||||
syscall6(237, *arg0, *arg1, *arg2, *arg3, *arg4, *arg5)
|
|
||||||
},
|
|
||||||
Syscall::SetMempolicy(arg0, arg1, arg2) => unsafe { syscall3(238, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::GetMempolicy(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(239, *arg0, *arg1, *arg2, *arg3, *arg4)
|
|
||||||
},
|
|
||||||
Syscall::MqOpen(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(240, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::MqUnlink(arg0) => unsafe { syscall1(241, *arg0) },
|
|
||||||
Syscall::MqTimedsend(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(242, *arg0, *arg1, *arg2, *arg3, *arg4)
|
|
||||||
},
|
|
||||||
Syscall::MqTimedreceive(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(243, *arg0, *arg1, *arg2, *arg3, *arg4)
|
|
||||||
},
|
|
||||||
Syscall::MqNotify(arg0, arg1) => unsafe { syscall2(244, *arg0, *arg1) },
|
|
||||||
Syscall::MqGetsetattr(arg0, arg1, arg2) => unsafe { syscall3(245, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::KexecLoad(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(246, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::Waitid(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(247, *arg0, *arg1, *arg2, *arg3, *arg4)
|
|
||||||
},
|
|
||||||
Syscall::AddKey(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(248, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::RequestKey(arg0, arg1, arg2) => unsafe { syscall3(249, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Keyctl(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(250, *arg0, *arg1, *arg2, *arg3, *arg4)
|
|
||||||
},
|
|
||||||
Syscall::IoprioSet(arg0, arg1, arg2) => unsafe { syscall3(251, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::IoprioGet(arg0, arg1) => unsafe { syscall2(252, *arg0, *arg1) },
|
|
||||||
Syscall::InotifyInit => unsafe { syscall0(253) },
|
|
||||||
Syscall::InotifyAddWatch(arg0, arg1, arg2) => unsafe { syscall3(254, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::InotifyRmWatch(arg0, arg1) => unsafe { syscall2(255, *arg0, *arg1) },
|
|
||||||
Syscall::MigratePages(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(256, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::Openat(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(257, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::Mkdirat(arg0, arg1, arg2) => unsafe { syscall3(258, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Mknodat(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(259, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::Fchownat(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(260, *arg0, *arg1, *arg2, *arg3, *arg4)
|
|
||||||
},
|
|
||||||
Syscall::Futimesat(arg0, arg1, arg2) => unsafe { syscall3(261, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Newfstatat(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(262, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::Unlinkat(arg0, arg1, arg2) => unsafe { syscall3(263, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Renameat(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(264, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::Linkat(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(265, *arg0, *arg1, *arg2, *arg3, *arg4)
|
|
||||||
},
|
|
||||||
Syscall::Symlinkat(arg0, arg1, arg2) => unsafe { syscall3(266, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Readlinkat(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(267, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::Fchmodat(arg0, arg1, arg2) => unsafe { syscall3(268, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Faccessat(arg0, arg1, arg2) => unsafe { syscall3(269, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Pselect6(arg0, arg1, arg2, arg3, arg4, arg5) => unsafe {
|
|
||||||
syscall6(270, *arg0, *arg1, *arg2, *arg3, *arg4, *arg5)
|
|
||||||
},
|
|
||||||
Syscall::Ppoll(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(271, *arg0, *arg1, *arg2, *arg3, *arg4)
|
|
||||||
},
|
|
||||||
Syscall::Unshare(arg0) => unsafe { syscall1(272, *arg0) },
|
|
||||||
Syscall::SetRobustList(arg0, arg1) => unsafe { syscall2(273, *arg0, *arg1) },
|
|
||||||
Syscall::GetRobustList(arg0, arg1, arg2) => unsafe { syscall3(274, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Splice(arg0, arg1, arg2, arg3, arg4, arg5) => unsafe {
|
|
||||||
syscall6(275, *arg0, *arg1, *arg2, *arg3, *arg4, *arg5)
|
|
||||||
},
|
|
||||||
Syscall::Tee(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(276, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::SyncFileRange(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(277, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::Vmsplice(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(278, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::MovePages(arg0, arg1, arg2, arg3, arg4, arg5) => unsafe {
|
|
||||||
syscall6(279, *arg0, *arg1, *arg2, *arg3, *arg4, *arg5)
|
|
||||||
},
|
|
||||||
Syscall::Utimensat(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(280, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::EpollPwait(arg0, arg1, arg2, arg3, arg4, arg5) => unsafe {
|
|
||||||
syscall6(281, *arg0, *arg1, *arg2, *arg3, *arg4, *arg5)
|
|
||||||
},
|
|
||||||
Syscall::Signalfd(arg0, arg1, arg2) => unsafe { syscall3(282, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::TimerfdCreate(arg0, arg1) => unsafe { syscall2(283, *arg0, *arg1) },
|
|
||||||
Syscall::Eventfd(arg0, arg1) => unsafe { syscall2(284, *arg0, *arg1) },
|
|
||||||
Syscall::Fallocate(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(285, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::TimerfdSettime(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(286, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::TimerfdGettime(arg0, arg1) => unsafe { syscall2(287, *arg0, *arg1) },
|
|
||||||
Syscall::Accept4(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(288, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::Signalfd4(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(289, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::Eventfd2(arg0, arg1) => unsafe { syscall2(290, *arg0, *arg1) },
|
|
||||||
Syscall::EpollCreate1(arg0) => unsafe { syscall1(291, *arg0) },
|
|
||||||
Syscall::Dup3(arg0, arg1, arg2) => unsafe { syscall3(292, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Pipe2(arg0, arg1) => unsafe { syscall2(293, *arg0, *arg1) },
|
|
||||||
Syscall::InotifyInit1(arg0) => unsafe { syscall1(294, *arg0) },
|
|
||||||
Syscall::Preadv(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(295, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::Pwritev(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(296, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::RtTgsigqueueinfo(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(297, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::PerfEventOpen(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(298, *arg0, *arg1, *arg2, *arg3, *arg4)
|
|
||||||
},
|
|
||||||
Syscall::Recvmmsg(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(299, *arg0, *arg1, *arg2, *arg3, *arg4)
|
|
||||||
},
|
|
||||||
Syscall::FanotifyInit(arg0, arg1) => unsafe { syscall2(300, *arg0, *arg1) },
|
|
||||||
Syscall::FanotifyMark(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(301, *arg0, *arg1, *arg2, *arg3, *arg4)
|
|
||||||
},
|
|
||||||
Syscall::Prlimit64(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(302, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::NameToHandleAt(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(303, *arg0, *arg1, *arg2, *arg3, *arg4)
|
|
||||||
},
|
|
||||||
Syscall::OpenByHandleAt(arg0, arg1, arg2) => unsafe { syscall3(304, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::ClockAdjtime(arg0, arg1) => unsafe { syscall2(305, *arg0, *arg1) },
|
|
||||||
Syscall::Syncfs(arg0) => unsafe { syscall1(306, *arg0) },
|
|
||||||
Syscall::Sendmmsg(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(307, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::Setns(arg0, arg1) => unsafe { syscall2(308, *arg0, *arg1) },
|
|
||||||
Syscall::Getcpu(arg0, arg1, arg2) => unsafe { syscall3(309, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::ProcessVmReadv(arg0, arg1, arg2, arg3, arg4, arg5) => unsafe {
|
|
||||||
syscall6(310, *arg0, *arg1, *arg2, *arg3, *arg4, *arg5)
|
|
||||||
},
|
|
||||||
Syscall::ProcessVmWritev(arg0, arg1, arg2, arg3, arg4, arg5) => unsafe {
|
|
||||||
syscall6(311, *arg0, *arg1, *arg2, *arg3, *arg4, *arg5)
|
|
||||||
},
|
|
||||||
Syscall::Kcmp(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(312, *arg0, *arg1, *arg2, *arg3, *arg4)
|
|
||||||
},
|
|
||||||
Syscall::FinitModule(arg0, arg1, arg2) => unsafe { syscall3(313, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::SchedSetattr(arg0, arg1, arg2) => unsafe { syscall3(314, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::SchedGetattr(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(315, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::Renameat2(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(316, *arg0, *arg1, *arg2, *arg3, *arg4)
|
|
||||||
},
|
|
||||||
Syscall::Seccomp(arg0, arg1, arg2) => unsafe { syscall3(317, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Getrandom(arg0, arg1, arg2) => unsafe { syscall3(318, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::MemfdCreate(arg0, arg1) => unsafe { syscall2(319, *arg0, *arg1) },
|
|
||||||
Syscall::KexecFileLoad(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(320, *arg0, *arg1, *arg2, *arg3, *arg4)
|
|
||||||
},
|
|
||||||
Syscall::Bpf(arg0, arg1, arg2) => unsafe { syscall3(321, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Execveat(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(322, *arg0, *arg1, *arg2, *arg3, *arg4)
|
|
||||||
},
|
|
||||||
Syscall::Userfaultfd(arg0) => unsafe { syscall1(323, *arg0) },
|
|
||||||
Syscall::Membarrier(arg0, arg1) => unsafe { syscall2(324, *arg0, *arg1) },
|
|
||||||
Syscall::Mlock2(arg0, arg1, arg2) => unsafe { syscall3(325, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::CopyFileRange(arg0, arg1, arg2, arg3, arg4, arg5) => unsafe {
|
|
||||||
syscall6(326, *arg0, *arg1, *arg2, *arg3, *arg4, *arg5)
|
|
||||||
},
|
|
||||||
Syscall::Preadv2(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(327, *arg0, *arg1, *arg2, *arg3, *arg4)
|
|
||||||
},
|
|
||||||
Syscall::Pwritev2(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(328, *arg0, *arg1, *arg2, *arg3, *arg4)
|
|
||||||
},
|
|
||||||
Syscall::PkeyMprotect(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(329, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::PkeyAlloc(arg0, arg1) => unsafe { syscall2(330, *arg0, *arg1) },
|
|
||||||
Syscall::PkeyFree(arg0) => unsafe { syscall1(331, *arg0) },
|
|
||||||
Syscall::Statx(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(332, *arg0, *arg1, *arg2, *arg3, *arg4)
|
|
||||||
},
|
|
||||||
Syscall::IoPgetevents(arg0, arg1, arg2, arg3, arg4, arg5) => unsafe {
|
|
||||||
syscall6(333, *arg0, *arg1, *arg2, *arg3, *arg4, *arg5)
|
|
||||||
},
|
|
||||||
Syscall::Rseq(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(334, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::PidfdSendSignal(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(424, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::IoUringSetup(arg0, arg1) => unsafe { syscall2(425, *arg0, *arg1) },
|
|
||||||
Syscall::IoUringEnter(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(426, *arg0, *arg1, *arg2, *arg3, *arg4)
|
|
||||||
},
|
|
||||||
Syscall::IoUringRegister(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(427, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::OpenTree(arg0, arg1, arg2) => unsafe { syscall3(428, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::MoveMount(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(429, *arg0, *arg1, *arg2, *arg3, *arg4)
|
|
||||||
},
|
|
||||||
Syscall::Fsopen(arg0, arg1, arg2) => unsafe { syscall3(430, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Fsconfig(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(431, *arg0, *arg1, *arg2, *arg3, *arg4)
|
|
||||||
},
|
|
||||||
Syscall::Fsmount(arg0, arg1, arg2) => unsafe { syscall3(432, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Fspick(arg0, arg1, arg2) => unsafe { syscall3(433, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::PidfdOpen(arg0, arg1) => unsafe { syscall2(434, *arg0, *arg1) },
|
|
||||||
Syscall::Clone3(arg0, arg1) => unsafe { syscall2(435, *arg0, *arg1) },
|
|
||||||
Syscall::CloseRange(arg0, arg1, arg2) => unsafe { syscall3(436, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Openat2(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(437, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::PidfdGetfd(arg0, arg1, arg2) => unsafe { syscall3(438, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Faccessat2(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(439, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::ProcessMadvise(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(440, *arg0, *arg1, *arg2, *arg3, *arg4)
|
|
||||||
},
|
|
||||||
Syscall::EpollPwait2(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(441, *arg0, *arg1, *arg2, *arg3, *arg4)
|
|
||||||
},
|
|
||||||
Syscall::MountSetattr(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(442, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::QuotactlFd(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(443, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::LandlockCreateRuleset(arg0, arg1, arg2) => unsafe {
|
|
||||||
syscall3(444, *arg0, *arg1, *arg2)
|
|
||||||
},
|
|
||||||
Syscall::LandlockAddRule(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(445, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::LandlockRestrictSelf(arg0, arg1) => unsafe { syscall2(446, *arg0, *arg1) },
|
|
||||||
Syscall::MemfdSecret(arg0) => unsafe { syscall1(447, *arg0) },
|
|
||||||
Syscall::ProcessMrelease(arg0, arg1) => unsafe { syscall2(448, *arg0, *arg1) },
|
|
||||||
Syscall::FutexWaitv(arg0, arg1, arg2) => unsafe { syscall3(449, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::SetMempolicyHomeNode(arg0, arg1, arg2) => unsafe {
|
|
||||||
syscall3(450, *arg0, *arg1, *arg2)
|
|
||||||
},
|
|
||||||
Syscall::Cachestat(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
|
||||||
syscall5(451, *arg0, *arg1, *arg2, *arg3, *arg4)
|
|
||||||
},
|
|
||||||
Syscall::Fchmodat2(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(452, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::MapShadowStack(arg0, arg1) => unsafe { syscall2(453, *arg0, *arg1) },
|
|
||||||
Syscall::FutexWake(arg0, arg1, arg2) => unsafe { syscall3(454, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::FutexWait(arg0, arg1, arg2) => unsafe { syscall3(455, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::FutexRequeue(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(456, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::Statmount(arg0, arg1, arg2) => unsafe { syscall3(457, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::Listmount(arg0, arg1, arg2) => unsafe { syscall3(458, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::LsmGetSelfAttr(arg0, arg1, arg2, arg3) => unsafe {
|
|
||||||
syscall4(459, *arg0, *arg1, *arg2, *arg3)
|
|
||||||
},
|
|
||||||
Syscall::LsmSetSelfAttr(arg0, arg1, arg2) => unsafe { syscall3(460, *arg0, *arg1, *arg2) },
|
|
||||||
Syscall::LsmListModules(arg0, arg1) => unsafe { syscall2(461, *arg0, *arg1) },
|
|
||||||
Syscall::Unknown(syscall_num, args) => match args {
|
|
||||||
[arg0, arg1, arg2, arg3, arg4, arg5] => unsafe {
|
|
||||||
syscall6(*syscall_num, *arg0, *arg1, *arg2, *arg3, *arg4, *arg5)
|
|
||||||
},
|
|
||||||
_ => unreachable!(),
|
|
||||||
},
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -29,13 +29,13 @@ pub unsafe fn unset_hook_fn() {
|
|||||||
|
|
||||||
/// The type of hook function.
|
/// The type of hook function.
|
||||||
pub type HookFn = extern "C" fn(
|
pub type HookFn = extern "C" fn(
|
||||||
num: usize,
|
num: libc::c_long,
|
||||||
a0: usize,
|
a0: libc::c_ulong,
|
||||||
a1: usize,
|
a1: libc::c_ulong,
|
||||||
a2: usize,
|
a2: libc::c_ulong,
|
||||||
a3: usize,
|
a3: libc::c_ulong,
|
||||||
a4: usize,
|
a4: libc::c_ulong,
|
||||||
a5: usize,
|
a5: libc::c_ulong,
|
||||||
result: &mut isize,
|
result: &mut isize,
|
||||||
) -> InterceptResult;
|
) -> InterceptResult;
|
||||||
|
|
||||||
|
|||||||
@@ -5,3 +5,12 @@ edition = "2024"
|
|||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
bincode = "2.0.1"
|
bincode = "2.0.1"
|
||||||
|
|
||||||
|
# kernel = "6.17"
|
||||||
|
# kernel = "1.0.0"
|
||||||
|
libc = "0.2.175"
|
||||||
|
nix = "0.30.1"
|
||||||
|
syscaller = "0.2.2"
|
||||||
|
|
||||||
|
# [build-dependencies]
|
||||||
|
# bindgen = "0.72.0"
|
||||||
|
|||||||
+1666
-398
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,33 @@
|
|||||||
|
// #[cfg(target_os = "linux")]
|
||||||
|
// use nix::sys::ptrace;
|
||||||
|
// #[cfg(target_os = "linux")]
|
||||||
|
// use nix::unistd::Pid;
|
||||||
|
|
||||||
|
// #[cfg(target_os = "linux")]
|
||||||
|
// fn read_buffer_with_ptrace(
|
||||||
|
// pid: i32,
|
||||||
|
// addr: usize,
|
||||||
|
// count: usize,
|
||||||
|
// ) -> Result<Vec<u8>, Box<dyn std::error::Error>> {
|
||||||
|
// let pid = Pid::from_raw(pid);
|
||||||
|
// let mut buffer = Vec::with_capacity(count);
|
||||||
|
|
||||||
|
// // ptrace reads in word-sized chunks (usually 8 bytes on 64-bit systems)
|
||||||
|
// let word_size = std::mem::size_of::<usize>();
|
||||||
|
// let mut current_addr = addr;
|
||||||
|
// let mut bytes_read = 0;
|
||||||
|
|
||||||
|
// while bytes_read < count {
|
||||||
|
// let word = ptrace::read(pid, current_addr as ptrace::AddressType)?;
|
||||||
|
// let word_bytes = word.to_ne_bytes();
|
||||||
|
|
||||||
|
// let bytes_to_copy = std::cmp::min(word_size, count - bytes_read);
|
||||||
|
// buffer.extend_from_slice(&word_bytes[..bytes_to_copy]);
|
||||||
|
|
||||||
|
// current_addr += word_size;
|
||||||
|
// bytes_read += bytes_to_copy;
|
||||||
|
// }
|
||||||
|
|
||||||
|
// buffer.truncate(count);
|
||||||
|
// Ok(buffer)
|
||||||
|
// }
|
||||||
+85
-2
@@ -1,20 +1,103 @@
|
|||||||
mod create_syscall;
|
mod create_syscall;
|
||||||
|
mod kern_buffers;
|
||||||
mod proxy_list;
|
mod proxy_list;
|
||||||
mod syscall;
|
mod syscall;
|
||||||
|
mod syscall_exec;
|
||||||
mod syscall_num;
|
mod syscall_num;
|
||||||
|
mod types;
|
||||||
|
|
||||||
const CONFIG: bincode::config::Configuration = bincode::config::standard();
|
const CONFIG: bincode::config::Configuration = bincode::config::standard();
|
||||||
|
|
||||||
use std::{
|
use std::{
|
||||||
collections::HashMap,
|
collections::HashMap,
|
||||||
|
fmt::Debug,
|
||||||
|
marker::PhantomData,
|
||||||
sync::{Arc, Mutex},
|
sync::{Arc, Mutex},
|
||||||
};
|
};
|
||||||
|
|
||||||
use bincode::{Decode, Encode};
|
use bincode::{Decode, Encode};
|
||||||
pub use create_syscall::create_syscall;
|
|
||||||
pub use proxy_list::syscall_should_proxy;
|
|
||||||
pub use syscall::Syscall;
|
pub use syscall::Syscall;
|
||||||
|
pub use syscall_exec::execute_syscall;
|
||||||
pub use syscall_num::Sysno;
|
pub use syscall_num::Sysno;
|
||||||
|
pub use types::*;
|
||||||
|
|
||||||
|
// Type aliases for pointers to improve readability.
|
||||||
|
// pub type Ptr<_> = libc::c_long;
|
||||||
|
// pub type ConstPtr<_> = libc::c_long;
|
||||||
|
// pub type Ptr<T> = T;
|
||||||
|
// pub type ConstPtr<T> = T;
|
||||||
|
|
||||||
|
// Placeholder structs for kernel-specific types not present in libc.
|
||||||
|
// These are defined as opaque types for correct type checking in the enum.
|
||||||
|
// #[repr(C)]
|
||||||
|
// #[derive(Debug, Clone, Copy)]
|
||||||
|
// pub struct AioContext;
|
||||||
|
// #[repr(C)]
|
||||||
|
// #[derive(Debug, Clone, Copy)]
|
||||||
|
// pub struct Iocb;
|
||||||
|
// #[repr(C)]
|
||||||
|
// #[derive(Debug, Clone, Copy)]
|
||||||
|
// pub struct IoEvent;
|
||||||
|
// #[repr(C)]
|
||||||
|
// #[derive(Debug, Clone, Copy)]
|
||||||
|
// pub struct IoUringParams;
|
||||||
|
// #[repr(C)]
|
||||||
|
// #[derive(Debug, Clone, Copy)]
|
||||||
|
// pub struct Mmsghdr;
|
||||||
|
// #[repr(C)]
|
||||||
|
// #[derive(Debug, Clone, Copy)]
|
||||||
|
// pub struct GetcpuCache;
|
||||||
|
// #[repr(C)]
|
||||||
|
// #[derive(Debug, Clone, Copy)]
|
||||||
|
// pub struct RobustListHead;
|
||||||
|
// #[repr(C)]
|
||||||
|
// #[derive(Debug, Clone, Copy)]
|
||||||
|
// pub struct FutexWaitv;
|
||||||
|
// #[repr(C)]
|
||||||
|
// #[derive(Debug, Clone, Copy)]
|
||||||
|
// pub struct KexecSegment;
|
||||||
|
// #[repr(C)]
|
||||||
|
// #[derive(Debug, Clone, Copy)]
|
||||||
|
// pub struct CapUserHeaderT;
|
||||||
|
// #[repr(C)]
|
||||||
|
// #[derive(Debug, Clone, Copy)]
|
||||||
|
// pub struct CapUserDataT;
|
||||||
|
// #[repr(C)]
|
||||||
|
// #[derive(Debug, Clone, Copy)]
|
||||||
|
// pub struct Rlimit64;
|
||||||
|
// #[repr(C)]
|
||||||
|
// #[derive(Debug, Clone, Copy)]
|
||||||
|
// pub struct FileHandle;
|
||||||
|
// #[repr(C)]
|
||||||
|
// #[derive(Debug, Clone, Copy)]
|
||||||
|
// pub struct PerfEventAttr;
|
||||||
|
// #[repr(C)]
|
||||||
|
// #[derive(Debug, Clone, Copy)]
|
||||||
|
// pub struct SchedAttr;
|
||||||
|
// #[repr(C)]
|
||||||
|
// #[derive(Debug, Clone, Copy)]
|
||||||
|
// pub struct CloneArgs;
|
||||||
|
// #[repr(C)]
|
||||||
|
// #[derive(Debug, Clone, Copy)]
|
||||||
|
// pub struct BpfAttr;
|
||||||
|
// #[repr(C)]
|
||||||
|
// #[derive(Debug, Clone, Copy)]
|
||||||
|
// pub struct Statx;
|
||||||
|
// #[repr(C)]
|
||||||
|
// #[derive(Debug, Clone, Copy)]
|
||||||
|
// pub struct Rseq;
|
||||||
|
// #[repr(C)]
|
||||||
|
// #[derive(Debug, Clone, Copy)]
|
||||||
|
// pub struct OpenHow;
|
||||||
|
// #[repr(C)]
|
||||||
|
// #[derive(Debug, Clone, Copy)]
|
||||||
|
// pub struct MountAttr;
|
||||||
|
// #[repr(C)]
|
||||||
|
// #[derive(Debug, Clone, Copy)]
|
||||||
|
// pub struct LandlockRulesetAttr;
|
||||||
|
// #[repr(C)]
|
||||||
|
// #[derive(Debug, Clone, Copy)]
|
||||||
|
// pub struct LandlockRule;
|
||||||
|
|
||||||
#[derive(Debug, PartialEq, Eq, Encode, Decode)]
|
#[derive(Debug, PartialEq, Eq, Encode, Decode)]
|
||||||
pub enum Message {
|
pub enum Message {
|
||||||
|
|||||||
+592
-533
File diff suppressed because it is too large
Load Diff
+1667
-366
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,661 @@
|
|||||||
|
use crate::Syscall;
|
||||||
|
use syscaller::{syscall0, syscall1, syscall2, syscall3, syscall4, syscall5, syscall6};
|
||||||
|
|
||||||
|
// fn syscall0(number: isize) -> isize {
|
||||||
|
// unsafe { syscaller::syscall0(number as usize) }
|
||||||
|
// }
|
||||||
|
|
||||||
|
// fn syscall1(number: isize, arg0: isize) -> isize {
|
||||||
|
// unsafe { syscaller::syscall1(number as usize, arg0 as usize) }
|
||||||
|
// }
|
||||||
|
|
||||||
|
// fn syscall2(number: isize, arg0: isize, arg1: isize) -> isize {
|
||||||
|
// unsafe { syscaller::syscall2(number as usize, arg0 as usize, arg1 as usize) }
|
||||||
|
// }
|
||||||
|
|
||||||
|
// fn syscall3(number: isize, arg0: isize, arg1: isize, arg2: isize) -> isize {
|
||||||
|
// unsafe { syscaller::syscall3(number as usize, arg0 as usize, arg1 as usize, arg2 as usize) }
|
||||||
|
// }
|
||||||
|
|
||||||
|
// fn syscall4(number: isize, arg0: isize, arg1: isize, arg2: isize, arg3: isize) -> isize {
|
||||||
|
// unsafe {
|
||||||
|
// syscaller::syscall4(
|
||||||
|
// number as usize,
|
||||||
|
// arg0 as usize,
|
||||||
|
// arg1 as usize,
|
||||||
|
// arg2 as usize,
|
||||||
|
// arg3 as usize,
|
||||||
|
// )
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
// fn syscall5(
|
||||||
|
// number: isize,
|
||||||
|
// arg0: isize,
|
||||||
|
// arg1: isize,
|
||||||
|
// arg2: isize,
|
||||||
|
// arg3: isize,
|
||||||
|
// arg4: isize,
|
||||||
|
// ) -> isize {
|
||||||
|
// unsafe {
|
||||||
|
// syscaller::syscall5(
|
||||||
|
// number as usize,
|
||||||
|
// arg0 as usize,
|
||||||
|
// arg1 as usize,
|
||||||
|
// arg2 as usize,
|
||||||
|
// arg3 as usize,
|
||||||
|
// arg4 as usize,
|
||||||
|
// )
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
// fn syscall6(
|
||||||
|
// number: isize,
|
||||||
|
// arg0: isize,
|
||||||
|
// arg1: isize,
|
||||||
|
// arg2: isize,
|
||||||
|
// arg3: isize,
|
||||||
|
// arg4: isize,
|
||||||
|
// arg5: isize,
|
||||||
|
// ) -> isize {
|
||||||
|
// unsafe {
|
||||||
|
// syscaller::syscall6(
|
||||||
|
// number as usize,
|
||||||
|
// arg0 as usize,
|
||||||
|
// arg1 as usize,
|
||||||
|
// arg2 as usize,
|
||||||
|
// arg3 as usize,
|
||||||
|
// arg4 as usize,
|
||||||
|
// arg5 as usize,
|
||||||
|
// )
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
use libc::{c_long, c_ulong};
|
||||||
|
|
||||||
|
// The Syscall enum and type aliases from the previous response are assumed to be present here.
|
||||||
|
#[allow(unused_unsafe)]
|
||||||
|
pub fn execute_syscall(syscall_obj: Syscall) -> isize {
|
||||||
|
todo!();
|
||||||
|
// match syscall_obj {
|
||||||
|
// Syscall::Read(arg0, arg1, arg2) => unsafe { syscall3(libc::SYS_read, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Write(arg0, arg1, arg2) => unsafe { syscall3(1, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Open(arg0, arg1, arg2) => unsafe { syscall3(2, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Close(arg0) => unsafe { syscall1(3, arg0) },
|
||||||
|
// Syscall::Stat(arg0, arg1) => unsafe { syscall2(4, arg0, arg1) },
|
||||||
|
// Syscall::Fstat(arg0, arg1) => unsafe { syscall2(5, arg0, arg1) },
|
||||||
|
// Syscall::Lstat(arg0, arg1) => unsafe { syscall2(6, arg0, arg1) },
|
||||||
|
// Syscall::Poll(arg0, arg1, arg2) => unsafe { syscall3(7, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Lseek(arg0, arg1, arg2) => unsafe { syscall3(8, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Mmap(arg0, arg1, arg2, arg3, arg4, arg5) => unsafe {
|
||||||
|
// syscall6(9, arg0, arg1, arg2, arg3, arg4, arg5)
|
||||||
|
// },
|
||||||
|
// Syscall::Mprotect(arg0, arg1, arg2) => unsafe { syscall3(10, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Munmap(arg0, arg1) => unsafe { syscall2(11, arg0, arg1) },
|
||||||
|
// Syscall::Brk(arg0) => unsafe { syscall1(12, arg0) },
|
||||||
|
// Syscall::RtSigaction(arg0, arg1, arg2, arg3) => unsafe {
|
||||||
|
// syscall4(13, arg0, arg1, arg2, arg3)
|
||||||
|
// },
|
||||||
|
// Syscall::RtSigprocmask(arg0, arg1, arg2, arg3) => unsafe {
|
||||||
|
// syscall4(14, arg0, arg1, arg2, arg3)
|
||||||
|
// },
|
||||||
|
// Syscall::RtSigreturn => unsafe { syscall0(15) },
|
||||||
|
// Syscall::Ioctl(arg0, arg1, arg2) => unsafe { syscall3(16, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Pread64(arg0, arg1, arg2, arg3) => unsafe { syscall4(17, arg0, arg1, arg2, arg3) },
|
||||||
|
// Syscall::Pwrite64(arg0, arg1, arg2, arg3) => unsafe {
|
||||||
|
// syscall4(18, arg0, arg1, arg2, arg3)
|
||||||
|
// },
|
||||||
|
// Syscall::Readv(arg0, arg1, arg2) => unsafe { syscall3(19, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Writev(arg0, arg1, arg2) => unsafe { syscall3(20, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Access(arg0, arg1) => unsafe { syscall2(21, arg0, arg1) },
|
||||||
|
// Syscall::Pipe(arg0) => unsafe { syscall1(22, arg0) },
|
||||||
|
// Syscall::Select(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
||||||
|
// syscall5(23, arg0, arg1, arg2, arg3, arg4)
|
||||||
|
// },
|
||||||
|
// Syscall::SchedYield => unsafe { syscall0(24) },
|
||||||
|
// Syscall::Mremap(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
||||||
|
// syscall5(25, arg0, arg1, arg2, arg3, arg4)
|
||||||
|
// },
|
||||||
|
// Syscall::Msync(arg0, arg1, arg2) => unsafe { syscall3(26, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Mincore(arg0, arg1, arg2) => unsafe { syscall3(27, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Madvise(arg0, arg1, arg2) => unsafe { syscall3(28, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Shmget(arg0, arg1, arg2) => unsafe { syscall3(29, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Shmat(arg0, arg1, arg2) => unsafe { syscall3(30, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Shmctl(arg0, arg1, arg2) => unsafe { syscall3(31, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Dup(arg0) => unsafe { syscall1(32, arg0) },
|
||||||
|
// Syscall::Dup2(arg0, arg1) => unsafe { syscall2(33, arg0, arg1) },
|
||||||
|
// Syscall::Pause => unsafe { syscall0(34) },
|
||||||
|
// Syscall::Nanosleep(arg0, arg1) => unsafe { syscall2(35, arg0, arg1) },
|
||||||
|
// Syscall::Getitimer(arg0, arg1) => unsafe { syscall2(36, arg0, arg1) },
|
||||||
|
// Syscall::Alarm(arg0) => unsafe { syscall1(37, arg0) },
|
||||||
|
// Syscall::Setitimer(arg0, arg1, arg2) => unsafe { syscall3(38, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Getpid => unsafe { syscall0(39) },
|
||||||
|
// Syscall::Sendfile(arg0, arg1, arg2, arg3) => unsafe {
|
||||||
|
// syscall4(40, arg0, arg1, arg2, arg3)
|
||||||
|
// },
|
||||||
|
// Syscall::Socket(arg0, arg1, arg2) => unsafe { syscall3(41, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Connect(arg0, arg1, arg2) => unsafe { syscall3(42, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Accept(arg0, arg1, arg2) => unsafe { syscall3(43, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Sendto(arg0, arg1, arg2, arg3, arg4, arg5) => unsafe {
|
||||||
|
// syscall6(44, arg0, arg1, arg2, arg3, arg4, arg5)
|
||||||
|
// },
|
||||||
|
// Syscall::Recvfrom(arg0, arg1, arg2, arg3, arg4, arg5) => unsafe {
|
||||||
|
// syscall6(45, arg0, arg1, arg2, arg3, arg4, arg5)
|
||||||
|
// },
|
||||||
|
// Syscall::Sendmsg(arg0, arg1, arg2) => unsafe { syscall3(46, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Recvmsg(arg0, arg1, arg2) => unsafe { syscall3(47, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Shutdown(arg0, arg1) => unsafe { syscall2(48, arg0, arg1) },
|
||||||
|
// Syscall::Bind(arg0, arg1, arg2) => unsafe { syscall3(49, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Listen(arg0, arg1) => unsafe { syscall2(50, arg0, arg1) },
|
||||||
|
// Syscall::Getsockname(arg0, arg1, arg2) => unsafe { syscall3(51, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Getpeername(arg0, arg1, arg2) => unsafe { syscall3(52, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Socketpair(arg0, arg1, arg2, arg3) => unsafe {
|
||||||
|
// syscall4(53, arg0, arg1, arg2, arg3)
|
||||||
|
// },
|
||||||
|
// Syscall::Setsockopt(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
||||||
|
// syscall5(54, arg0, arg1, arg2, arg3, arg4)
|
||||||
|
// },
|
||||||
|
// Syscall::Getsockopt(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
||||||
|
// syscall5(55, arg0, arg1, arg2, arg3, arg4)
|
||||||
|
// },
|
||||||
|
// Syscall::Clone(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
||||||
|
// syscall5(56, arg0, arg1, arg2, arg3, arg4)
|
||||||
|
// },
|
||||||
|
// Syscall::Fork => unsafe { syscall0(57) },
|
||||||
|
// Syscall::Vfork => unsafe { syscall0(58) },
|
||||||
|
// Syscall::Execve(arg0, arg1, arg2) => unsafe { syscall3(59, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Exit(arg0) => unsafe { syscall1(60, arg0) },
|
||||||
|
// Syscall::Wait4(arg0, arg1, arg2, arg3) => unsafe { syscall4(61, arg0, arg1, arg2, arg3) },
|
||||||
|
// Syscall::Kill(arg0, arg1) => unsafe { syscall2(62, arg0, arg1) },
|
||||||
|
// Syscall::Uname(arg0) => unsafe { syscall1(63, arg0) },
|
||||||
|
// Syscall::Semget(arg0, arg1, arg2) => unsafe { syscall3(64, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Semop(arg0, arg1, arg2) => unsafe { syscall3(65, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Semctl(arg0, arg1, arg2, arg3) => unsafe { syscall4(66, arg0, arg1, arg2, arg3) },
|
||||||
|
// Syscall::Shmdt(arg0) => unsafe { syscall1(67, arg0) },
|
||||||
|
// Syscall::Msgget(arg0, arg1) => unsafe { syscall2(68, arg0, arg1) },
|
||||||
|
// Syscall::Msgsnd(arg0, arg1, arg2, arg3) => unsafe { syscall4(69, arg0, arg1, arg2, arg3) },
|
||||||
|
// Syscall::Msgrcv(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
||||||
|
// syscall5(70, arg0, arg1, arg2, arg3, arg4)
|
||||||
|
// },
|
||||||
|
// Syscall::Msgctl(arg0, arg1, arg2) => unsafe { syscall3(71, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Fcntl(arg0, arg1, arg2) => unsafe { syscall3(72, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Flock(arg0, arg1) => unsafe { syscall2(73, arg0, arg1) },
|
||||||
|
// Syscall::Fsync(arg0) => unsafe { syscall1(74, arg0) },
|
||||||
|
// Syscall::Fdatasync(arg0) => unsafe { syscall1(75, arg0) },
|
||||||
|
// Syscall::Truncate(arg0, arg1) => unsafe { syscall2(76, arg0, arg1) },
|
||||||
|
// Syscall::Ftruncate(arg0, arg1) => unsafe { syscall2(77, arg0, arg1) },
|
||||||
|
// Syscall::Getdents(arg0, arg1, arg2) => unsafe { syscall3(78, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Getcwd(arg0, arg1) => unsafe { syscall2(79, arg0, arg1) },
|
||||||
|
// Syscall::Chdir(arg0) => unsafe { syscall1(80, arg0) },
|
||||||
|
// Syscall::Fchdir(arg0) => unsafe { syscall1(81, arg0) },
|
||||||
|
// Syscall::Rename(arg0, arg1) => unsafe { syscall2(82, arg0, arg1) },
|
||||||
|
// Syscall::Mkdir(arg0, arg1) => unsafe { syscall2(83, arg0, arg1) },
|
||||||
|
// Syscall::Rmdir(arg0) => unsafe { syscall1(84, arg0) },
|
||||||
|
// Syscall::Creat(arg0, arg1) => unsafe { syscall2(85, arg0, arg1) },
|
||||||
|
// Syscall::Link(arg0, arg1) => unsafe { syscall2(86, arg0, arg1) },
|
||||||
|
// Syscall::Unlink(arg0) => unsafe { syscall1(87, arg0) },
|
||||||
|
// Syscall::Symlink(arg0, arg1) => unsafe { syscall2(88, arg0, arg1) },
|
||||||
|
// Syscall::Readlink(arg0, arg1, arg2) => unsafe { syscall3(89, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Chmod(arg0, arg1) => unsafe { syscall2(90, arg0, arg1) },
|
||||||
|
// Syscall::Fchmod(arg0, arg1) => unsafe { syscall2(91, arg0, arg1) },
|
||||||
|
// Syscall::Chown(arg0, arg1, arg2) => unsafe { syscall3(92, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Fchown(arg0, arg1, arg2) => unsafe { syscall3(93, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Lchown(arg0, arg1, arg2) => unsafe { syscall3(94, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Umask(arg0) => unsafe { syscall1(95, arg0) },
|
||||||
|
// Syscall::Gettimeofday(arg0, arg1) => unsafe { syscall2(96, arg0, arg1) },
|
||||||
|
// Syscall::Getrlimit(arg0, arg1) => unsafe { syscall2(97, arg0, arg1) },
|
||||||
|
// Syscall::Getrusage(arg0, arg1) => unsafe { syscall2(98, arg0, arg1) },
|
||||||
|
// Syscall::Sysinfo(arg0) => unsafe { syscall1(99, arg0) },
|
||||||
|
// Syscall::Times(arg0) => unsafe { syscall1(100, arg0) },
|
||||||
|
// Syscall::Ptrace(arg0, arg1, arg2, arg3) => unsafe { syscall4(101, arg0, arg1, arg2, arg3) },
|
||||||
|
// Syscall::Getuid => unsafe { syscall0(102) },
|
||||||
|
// Syscall::Syslog(arg0, arg1, arg2) => unsafe { syscall3(103, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Getgid => unsafe { syscall0(104) },
|
||||||
|
// Syscall::Setuid(arg0) => unsafe { syscall1(105, arg0) },
|
||||||
|
// Syscall::Setgid(arg0) => unsafe { syscall1(106, arg0) },
|
||||||
|
// Syscall::Geteuid => unsafe { syscall0(107) },
|
||||||
|
// Syscall::Getegid => unsafe { syscall0(108) },
|
||||||
|
// Syscall::Setpgid(arg0, arg1) => unsafe { syscall2(109, arg0, arg1) },
|
||||||
|
// Syscall::Getppid => unsafe { syscall0(110) },
|
||||||
|
// Syscall::Getpgrp => unsafe { syscall0(111) },
|
||||||
|
// Syscall::Setsid => unsafe { syscall0(112) },
|
||||||
|
// Syscall::Setreuid(arg0, arg1) => unsafe { syscall2(113, arg0, arg1) },
|
||||||
|
// Syscall::Setregid(arg0, arg1) => unsafe { syscall2(114, arg0, arg1) },
|
||||||
|
// Syscall::Getgroups(arg0, arg1) => unsafe { syscall2(115, arg0, arg1) },
|
||||||
|
// Syscall::Setgroups(arg0, arg1) => unsafe { syscall2(116, arg0, arg1) },
|
||||||
|
// Syscall::Setresuid(arg0, arg1, arg2) => unsafe { syscall3(117, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Getresuid(arg0, arg1, arg2) => unsafe { syscall3(118, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Setresgid(arg0, arg1, arg2) => unsafe { syscall3(119, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Getresgid(arg0, arg1, arg2) => unsafe { syscall3(120, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Getpgid(arg0) => unsafe { syscall1(121, arg0) },
|
||||||
|
// Syscall::Setfsuid(arg0) => unsafe { syscall1(122, arg0) },
|
||||||
|
// Syscall::Setfsgid(arg0) => unsafe { syscall1(123, arg0) },
|
||||||
|
// Syscall::Getsid(arg0) => unsafe { syscall1(124, arg0) },
|
||||||
|
// Syscall::Capget(arg0, arg1) => unsafe { syscall2(125, arg0, arg1) },
|
||||||
|
// Syscall::Capset(arg0, arg1) => unsafe { syscall2(126, arg0, arg1) },
|
||||||
|
// Syscall::RtSigpending(arg0, arg1) => unsafe { syscall2(127, arg0, arg1) },
|
||||||
|
// Syscall::RtSigtimedwait(arg0, arg1, arg2, arg3) => unsafe {
|
||||||
|
// syscall4(128, arg0, arg1, arg2, arg3)
|
||||||
|
// },
|
||||||
|
// Syscall::RtSigqueueinfo(arg0, arg1, arg2) => unsafe { syscall3(129, arg0, arg1, arg2) },
|
||||||
|
// Syscall::RtSigsuspend(arg0, arg1) => unsafe { syscall2(130, arg0, arg1) },
|
||||||
|
// Syscall::Sigaltstack(arg0, arg1) => unsafe { syscall2(131, arg0, arg1) },
|
||||||
|
// Syscall::Utime(arg0, arg1) => unsafe { syscall2(132, arg0, arg1) },
|
||||||
|
// Syscall::Mknod(arg0, arg1, arg2) => unsafe { syscall3(133, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Uselib(arg0) => unsafe { syscall1(134, arg0) },
|
||||||
|
// Syscall::Personality(arg0) => unsafe { syscall1(135, arg0) },
|
||||||
|
// Syscall::Ustat(arg0, arg1) => unsafe { syscall2(136, arg0, arg1) },
|
||||||
|
// Syscall::Statfs(arg0, arg1) => unsafe { syscall2(137, arg0, arg1) },
|
||||||
|
// Syscall::Fstatfs(arg0, arg1) => unsafe { syscall2(138, arg0, arg1) },
|
||||||
|
// Syscall::Sysfs(arg0, arg1, arg2) => unsafe { syscall3(139, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Getpriority(arg0, arg1) => unsafe { syscall2(140, arg0, arg1) },
|
||||||
|
// Syscall::Setpriority(arg0, arg1, arg2) => unsafe { syscall3(141, arg0, arg1, arg2) },
|
||||||
|
// Syscall::SchedSetparam(arg0, arg1) => unsafe { syscall2(142, arg0, arg1) },
|
||||||
|
// Syscall::SchedGetparam(arg0, arg1) => unsafe { syscall2(143, arg0, arg1) },
|
||||||
|
// Syscall::SchedSetscheduler(arg0, arg1, arg2) => unsafe { syscall3(144, arg0, arg1, arg2) },
|
||||||
|
// Syscall::SchedGetscheduler(arg0) => unsafe { syscall1(145, arg0) },
|
||||||
|
// Syscall::SchedGetPriorityMax(arg0) => unsafe { syscall1(146, arg0) },
|
||||||
|
// Syscall::SchedGetPriorityMin(arg0) => unsafe { syscall1(147, arg0) },
|
||||||
|
// Syscall::SchedRrGetInterval(arg0, arg1) => unsafe { syscall2(148, arg0, arg1) },
|
||||||
|
// Syscall::Mlock(arg0, arg1) => unsafe { syscall2(149, arg0, arg1) },
|
||||||
|
// Syscall::Munlock(arg0, arg1) => unsafe { syscall2(150, arg0, arg1) },
|
||||||
|
// Syscall::Mlockall(arg0) => unsafe { syscall1(151, arg0) },
|
||||||
|
// Syscall::Munlockall => unsafe { syscall0(152) },
|
||||||
|
// Syscall::Vhangup => unsafe { syscall0(153) },
|
||||||
|
// Syscall::ModifyLdt(arg0, arg1, arg2) => unsafe { syscall3(154, arg0, arg1, arg2) },
|
||||||
|
// Syscall::PivotRoot(arg0, arg1) => unsafe { syscall2(155, arg0, arg1) },
|
||||||
|
// Syscall::_Sysctl(arg0) => unsafe { syscall1(156, arg0) },
|
||||||
|
// Syscall::Prctl(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
||||||
|
// syscall5(157, arg0, arg1, arg2, arg3, arg4)
|
||||||
|
// },
|
||||||
|
// Syscall::ArchPrctl(arg0, arg1) => unsafe { syscall2(158, arg0, arg1) },
|
||||||
|
// Syscall::Adjtimex(arg0) => unsafe { syscall1(159, arg0) },
|
||||||
|
// Syscall::Setrlimit(arg0, arg1) => unsafe { syscall2(160, arg0, arg1) },
|
||||||
|
// Syscall::Chroot(arg0) => unsafe { syscall1(161, arg0) },
|
||||||
|
// Syscall::Sync => unsafe { syscall0(162) },
|
||||||
|
// Syscall::Acct(arg0) => unsafe { syscall1(163, arg0) },
|
||||||
|
// Syscall::Settimeofday(arg0, arg1) => unsafe { syscall2(164, arg0, arg1) },
|
||||||
|
// Syscall::Mount(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
||||||
|
// syscall5(165, arg0, arg1, arg2, arg3, arg4)
|
||||||
|
// },
|
||||||
|
// Syscall::Umount2(arg0, arg1) => unsafe { syscall2(166, arg0, arg1) },
|
||||||
|
// Syscall::Swapon(arg0, arg1) => unsafe { syscall2(167, arg0, arg1) },
|
||||||
|
// Syscall::Swapoff(arg0) => unsafe { syscall1(168, arg0) },
|
||||||
|
// Syscall::Reboot(arg0, arg1, arg2, arg3) => unsafe { syscall4(169, arg0, arg1, arg2, arg3) },
|
||||||
|
// Syscall::Sethostname(arg0, arg1) => unsafe { syscall2(170, arg0, arg1) },
|
||||||
|
// Syscall::Setdomainname(arg0, arg1) => unsafe { syscall2(171, arg0, arg1) },
|
||||||
|
// Syscall::Iopl(arg0) => unsafe { syscall1(172, arg0) },
|
||||||
|
// Syscall::Ioperm(arg0, arg1, arg2) => unsafe { syscall3(173, arg0, arg1, arg2) },
|
||||||
|
// Syscall::CreateModule(arg0, arg1) => unsafe { syscall2(174, arg0, arg1) },
|
||||||
|
// Syscall::InitModule(arg0, arg1, arg2) => unsafe { syscall3(175, arg0, arg1, arg2) },
|
||||||
|
// Syscall::DeleteModule(arg0, arg1) => unsafe { syscall2(176, arg0, arg1) },
|
||||||
|
// Syscall::GetKernelSyms(arg0) => unsafe { syscall1(177, arg0) },
|
||||||
|
// Syscall::QueryModule(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
||||||
|
// syscall5(178, arg0, arg1, arg2, arg3, arg4)
|
||||||
|
// },
|
||||||
|
// Syscall::Quotactl(arg0, arg1, arg2, arg3) => unsafe {
|
||||||
|
// syscall4(179, arg0, arg1, arg2, arg3)
|
||||||
|
// },
|
||||||
|
// Syscall::Nfsservctl(arg0, arg1, arg2) => unsafe { syscall3(180, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Getpmsg => unsafe { syscall0(181) },
|
||||||
|
// Syscall::Putpmsg => unsafe { syscall0(182) },
|
||||||
|
// Syscall::AfsSyscall => unsafe { syscall0(183) },
|
||||||
|
// Syscall::Tuxcall => unsafe { syscall0(184) },
|
||||||
|
// Syscall::Security => unsafe { syscall0(185) },
|
||||||
|
// Syscall::Gettid => unsafe { syscall0(186) },
|
||||||
|
// Syscall::Readahead(arg0, arg1, arg2) => unsafe { syscall3(187, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Setxattr(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
||||||
|
// syscall5(188, arg0, arg1, arg2, arg3, arg4)
|
||||||
|
// },
|
||||||
|
// Syscall::Lsetxattr(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
||||||
|
// syscall5(189, arg0, arg1, arg2, arg3, arg4)
|
||||||
|
// },
|
||||||
|
// Syscall::Fsetxattr(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
||||||
|
// syscall5(190, arg0, arg1, arg2, arg3, arg4)
|
||||||
|
// },
|
||||||
|
// Syscall::Getxattr(arg0, arg1, arg2, arg3) => unsafe {
|
||||||
|
// syscall4(191, arg0, arg1, arg2, arg3)
|
||||||
|
// },
|
||||||
|
// Syscall::Lgetxattr(arg0, arg1, arg2, arg3) => unsafe {
|
||||||
|
// syscall4(192, arg0, arg1, arg2, arg3)
|
||||||
|
// },
|
||||||
|
// Syscall::Fgetxattr(arg0, arg1, arg2, arg3) => unsafe {
|
||||||
|
// syscall4(193, arg0, arg1, arg2, arg3)
|
||||||
|
// },
|
||||||
|
// Syscall::Listxattr(arg0, arg1, arg2) => unsafe { syscall3(194, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Llistxattr(arg0, arg1, arg2) => unsafe { syscall3(195, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Flistxattr(arg0, arg1, arg2) => unsafe { syscall3(196, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Removexattr(arg0, arg1) => unsafe { syscall2(197, arg0, arg1) },
|
||||||
|
// Syscall::Lremovexattr(arg0, arg1) => unsafe { syscall2(198, arg0, arg1) },
|
||||||
|
// Syscall::Fremovexattr(arg0, arg1) => unsafe { syscall2(199, arg0, arg1) },
|
||||||
|
// Syscall::Tkill(arg0, arg1) => unsafe { syscall2(200, arg0, arg1) },
|
||||||
|
// Syscall::Time(arg0) => unsafe { syscall1(201, arg0) },
|
||||||
|
// Syscall::Futex(arg0, arg1, arg2, arg3, arg4, arg5) => unsafe {
|
||||||
|
// syscall6(202, arg0, arg1, arg2, arg3, arg4, arg5)
|
||||||
|
// },
|
||||||
|
// Syscall::SchedSetaffinity(arg0, arg1, arg2) => unsafe { syscall3(203, arg0, arg1, arg2) },
|
||||||
|
// Syscall::SchedGetaffinity(arg0, arg1, arg2) => unsafe { syscall3(204, arg0, arg1, arg2) },
|
||||||
|
// Syscall::SetThreadArea(arg0) => unsafe { syscall1(205, arg0) },
|
||||||
|
// Syscall::IoSetup(arg0, arg1) => unsafe { syscall2(206, arg0, arg1) },
|
||||||
|
// Syscall::IoDestroy(arg0) => unsafe { syscall1(207, arg0) },
|
||||||
|
// Syscall::IoGetevents(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
||||||
|
// syscall5(208, arg0, arg1, arg2, arg3, arg4)
|
||||||
|
// },
|
||||||
|
// Syscall::IoSubmit(arg0, arg1, arg2) => unsafe { syscall3(209, arg0, arg1, arg2) },
|
||||||
|
// Syscall::IoCancel(arg0, arg1, arg2) => unsafe { syscall3(210, arg0, arg1, arg2) },
|
||||||
|
// Syscall::GetThreadArea(arg0) => unsafe { syscall1(211, arg0) },
|
||||||
|
// Syscall::LookupDcookie(arg0, arg1, arg2, arg3) => unsafe {
|
||||||
|
// syscall4(212, arg0, arg1, arg2, arg3)
|
||||||
|
// },
|
||||||
|
// Syscall::EpollCreate(arg0) => unsafe { syscall1(213, arg0) },
|
||||||
|
// Syscall::EpollCtlOld => unsafe { syscall0(214) },
|
||||||
|
// Syscall::EpollWaitOld => unsafe { syscall0(215) },
|
||||||
|
// Syscall::RemapFilePages(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
||||||
|
// syscall5(216, arg0, arg1, arg2, arg3, arg4)
|
||||||
|
// },
|
||||||
|
// Syscall::Getdents64(arg0, arg1, arg2) => unsafe { syscall3(217, arg0, arg1, arg2) },
|
||||||
|
// Syscall::SetTidAddress(arg0) => unsafe { syscall1(218, arg0) },
|
||||||
|
// Syscall::RestartSyscall => unsafe { syscall0(219) },
|
||||||
|
// Syscall::Semtimedop(arg0, arg1, arg2, arg3) => unsafe {
|
||||||
|
// syscall4(220, arg0, arg1, arg2, arg3)
|
||||||
|
// },
|
||||||
|
// Syscall::Fadvise64(arg0, arg1, arg2, arg3) => unsafe {
|
||||||
|
// syscall4(221, arg0, arg1, arg2, arg3)
|
||||||
|
// },
|
||||||
|
// Syscall::TimerCreate(arg0, arg1, arg2) => unsafe { syscall3(222, arg0, arg1, arg2) },
|
||||||
|
// Syscall::TimerSettime(arg0, arg1, arg2, arg3) => unsafe {
|
||||||
|
// syscall4(223, arg0, arg1, arg2, arg3)
|
||||||
|
// },
|
||||||
|
// Syscall::TimerGettime(arg0, arg1) => unsafe { syscall2(224, arg0, arg1) },
|
||||||
|
// Syscall::TimerGetoverrun(arg0) => unsafe { syscall1(225, arg0) },
|
||||||
|
// Syscall::TimerDelete(arg0) => unsafe { syscall1(226, arg0) },
|
||||||
|
// Syscall::ClockSettime(arg0, arg1) => unsafe { syscall2(227, arg0, arg1) },
|
||||||
|
// Syscall::ClockGettime(arg0, arg1) => unsafe { syscall2(228, arg0, arg1) },
|
||||||
|
// Syscall::ClockGetres(arg0, arg1) => unsafe { syscall2(229, arg0, arg1) },
|
||||||
|
// Syscall::ClockNanosleep(arg0, arg1, arg2, arg3) => unsafe {
|
||||||
|
// syscall4(230, arg0, arg1, arg2, arg3)
|
||||||
|
// },
|
||||||
|
// Syscall::ExitGroup(arg0) => unsafe { syscall1(231, arg0) },
|
||||||
|
// Syscall::EpollWait(arg0, arg1, arg2, arg3) => unsafe {
|
||||||
|
// syscall4(232, arg0, arg1, arg2, arg3)
|
||||||
|
// },
|
||||||
|
// Syscall::EpollCtl(arg0, arg1, arg2, arg3) => unsafe {
|
||||||
|
// syscall4(233, arg0, arg1, arg2, arg3)
|
||||||
|
// },
|
||||||
|
// Syscall::Tgkill(arg0, arg1, arg2) => unsafe { syscall3(234, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Utimes(arg0, arg1) => unsafe { syscall2(235, arg0, arg1) },
|
||||||
|
// Syscall::Vserver => unsafe { syscall0(236) },
|
||||||
|
// Syscall::Mbind(arg0, arg1, arg2, arg3, arg4, arg5) => unsafe {
|
||||||
|
// syscall6(237, arg0, arg1, arg2, arg3, arg4, arg5)
|
||||||
|
// },
|
||||||
|
// Syscall::SetMempolicy(arg0, arg1, arg2) => unsafe { syscall3(238, arg0, arg1, arg2) },
|
||||||
|
// Syscall::GetMempolicy(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
||||||
|
// syscall5(239, arg0, arg1, arg2, arg3, arg4)
|
||||||
|
// },
|
||||||
|
// Syscall::MqOpen(arg0, arg1, arg2, arg3) => unsafe { syscall4(240, arg0, arg1, arg2, arg3) },
|
||||||
|
// Syscall::MqUnlink(arg0) => unsafe { syscall1(241, arg0) },
|
||||||
|
// Syscall::MqTimedsend(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
||||||
|
// syscall5(242, arg0, arg1, arg2, arg3, arg4)
|
||||||
|
// },
|
||||||
|
// Syscall::MqTimedreceive(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
||||||
|
// syscall5(243, arg0, arg1, arg2, arg3, arg4)
|
||||||
|
// },
|
||||||
|
// Syscall::MqNotify(arg0, arg1) => unsafe { syscall2(244, arg0, arg1) },
|
||||||
|
// Syscall::MqGetsetattr(arg0, arg1, arg2) => unsafe { syscall3(245, arg0, arg1, arg2) },
|
||||||
|
// Syscall::KexecLoad(arg0, arg1, arg2, arg3) => unsafe {
|
||||||
|
// syscall4(246, arg0, arg1, arg2, arg3)
|
||||||
|
// },
|
||||||
|
// Syscall::Waitid(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
||||||
|
// syscall5(247, arg0, arg1, arg2, arg3, arg4)
|
||||||
|
// },
|
||||||
|
// Syscall::AddKey(arg0, arg1, arg2, arg3) => unsafe { syscall4(248, arg0, arg1, arg2, arg3) },
|
||||||
|
// Syscall::RequestKey(arg0, arg1, arg2) => unsafe { syscall3(249, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Keyctl(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
||||||
|
// syscall5(250, arg0, arg1, arg2, arg3, arg4)
|
||||||
|
// },
|
||||||
|
// Syscall::IoprioSet(arg0, arg1, arg2) => unsafe { syscall3(251, arg0, arg1, arg2) },
|
||||||
|
// Syscall::IoprioGet(arg0, arg1) => unsafe { syscall2(252, arg0, arg1) },
|
||||||
|
// Syscall::InotifyInit => unsafe { syscall0(253) },
|
||||||
|
// Syscall::InotifyAddWatch(arg0, arg1, arg2) => unsafe { syscall3(254, arg0, arg1, arg2) },
|
||||||
|
// Syscall::InotifyRmWatch(arg0, arg1) => unsafe { syscall2(255, arg0, arg1) },
|
||||||
|
// Syscall::MigratePages(arg0, arg1, arg2, arg3) => unsafe {
|
||||||
|
// syscall4(256, arg0, arg1, arg2, arg3)
|
||||||
|
// },
|
||||||
|
// Syscall::Openat(arg0, arg1, arg2, arg3) => unsafe { syscall4(257, arg0, arg1, arg2, arg3) },
|
||||||
|
// Syscall::Mkdirat(arg0, arg1, arg2) => unsafe { syscall3(258, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Mknodat(arg0, arg1, arg2, arg3) => unsafe {
|
||||||
|
// syscall4(259, arg0, arg1, arg2, arg3)
|
||||||
|
// },
|
||||||
|
// Syscall::Fchownat(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
||||||
|
// syscall5(260, arg0, arg1, arg2, arg3, arg4)
|
||||||
|
// },
|
||||||
|
// Syscall::Futimesat(arg0, arg1, arg2) => unsafe { syscall3(261, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Newfstatat(arg0, arg1, arg2, arg3) => unsafe {
|
||||||
|
// syscall4(262, arg0, arg1, arg2, arg3)
|
||||||
|
// },
|
||||||
|
// Syscall::Unlinkat(arg0, arg1, arg2) => unsafe { syscall3(263, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Renameat(arg0, arg1, arg2, arg3) => unsafe {
|
||||||
|
// syscall4(264, arg0, arg1, arg2, arg3)
|
||||||
|
// },
|
||||||
|
// Syscall::Linkat(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
||||||
|
// syscall5(265, arg0, arg1, arg2, arg3, arg4)
|
||||||
|
// },
|
||||||
|
// Syscall::Symlinkat(arg0, arg1, arg2) => unsafe { syscall3(266, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Readlinkat(arg0, arg1, arg2, arg3) => unsafe {
|
||||||
|
// syscall4(267, arg0, arg1, arg2, arg3)
|
||||||
|
// },
|
||||||
|
// Syscall::Fchmodat(arg0, arg1, arg2) => unsafe { syscall3(268, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Faccessat(arg0, arg1, arg2) => unsafe { syscall3(269, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Pselect6(arg0, arg1, arg2, arg3, arg4, arg5) => unsafe {
|
||||||
|
// syscall6(270, arg0, arg1, arg2, arg3, arg4, arg5)
|
||||||
|
// },
|
||||||
|
// Syscall::Ppoll(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
||||||
|
// syscall5(271, arg0, arg1, arg2, arg3, arg4)
|
||||||
|
// },
|
||||||
|
// Syscall::Unshare(arg0) => unsafe { syscall1(272, arg0) },
|
||||||
|
// Syscall::SetRobustList(arg0, arg1) => unsafe { syscall2(273, arg0, arg1) },
|
||||||
|
// Syscall::GetRobustList(arg0, arg1, arg2) => unsafe { syscall3(274, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Splice(arg0, arg1, arg2, arg3, arg4, arg5) => unsafe {
|
||||||
|
// syscall6(275, arg0, arg1, arg2, arg3, arg4, arg5)
|
||||||
|
// },
|
||||||
|
// Syscall::Tee(arg0, arg1, arg2, arg3) => unsafe { syscall4(276, arg0, arg1, arg2, arg3) },
|
||||||
|
// Syscall::SyncFileRange(arg0, arg1, arg2, arg3) => unsafe {
|
||||||
|
// syscall4(277, arg0, arg1, arg2, arg3)
|
||||||
|
// },
|
||||||
|
// Syscall::Vmsplice(arg0, arg1, arg2, arg3) => unsafe {
|
||||||
|
// syscall4(278, arg0, arg1, arg2, arg3)
|
||||||
|
// },
|
||||||
|
// Syscall::MovePages(arg0, arg1, arg2, arg3, arg4, arg5) => unsafe {
|
||||||
|
// syscall6(279, arg0, arg1, arg2, arg3, arg4, arg5)
|
||||||
|
// },
|
||||||
|
// Syscall::Utimensat(arg0, arg1, arg2, arg3) => unsafe {
|
||||||
|
// syscall4(280, arg0, arg1, arg2, arg3)
|
||||||
|
// },
|
||||||
|
// Syscall::EpollPwait(arg0, arg1, arg2, arg3, arg4, arg5) => unsafe {
|
||||||
|
// syscall6(281, arg0, arg1, arg2, arg3, arg4, arg5)
|
||||||
|
// },
|
||||||
|
// Syscall::Signalfd(arg0, arg1, arg2) => unsafe { syscall3(282, arg0, arg1, arg2) },
|
||||||
|
// Syscall::TimerfdCreate(arg0, arg1) => unsafe { syscall2(283, arg0, arg1) },
|
||||||
|
// Syscall::Eventfd(arg0, arg1) => unsafe { syscall2(284, arg0, arg1) },
|
||||||
|
// Syscall::Fallocate(arg0, arg1, arg2, arg3) => unsafe {
|
||||||
|
// syscall4(285, arg0, arg1, arg2, arg3)
|
||||||
|
// },
|
||||||
|
// Syscall::TimerfdSettime(arg0, arg1, arg2, arg3) => unsafe {
|
||||||
|
// syscall4(286, arg0, arg1, arg2, arg3)
|
||||||
|
// },
|
||||||
|
// Syscall::TimerfdGettime(arg0, arg1) => unsafe { syscall2(287, arg0, arg1) },
|
||||||
|
// Syscall::Accept4(arg0, arg1, arg2, arg3) => unsafe {
|
||||||
|
// syscall4(288, arg0, arg1, arg2, arg3)
|
||||||
|
// },
|
||||||
|
// Syscall::Signalfd4(arg0, arg1, arg2, arg3) => unsafe {
|
||||||
|
// syscall4(289, arg0, arg1, arg2, arg3)
|
||||||
|
// },
|
||||||
|
// Syscall::Eventfd2(arg0, arg1) => unsafe { syscall2(290, arg0, arg1) },
|
||||||
|
// Syscall::EpollCreate1(arg0) => unsafe { syscall1(291, arg0) },
|
||||||
|
// Syscall::Dup3(arg0, arg1, arg2) => unsafe { syscall3(292, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Pipe2(arg0, arg1) => unsafe { syscall2(293, arg0, arg1) },
|
||||||
|
// Syscall::InotifyInit1(arg0) => unsafe { syscall1(294, arg0) },
|
||||||
|
// Syscall::Preadv(arg0, arg1, arg2, arg3) => unsafe { syscall4(295, arg0, arg1, arg2, arg3) },
|
||||||
|
// Syscall::Pwritev(arg0, arg1, arg2, arg3) => unsafe {
|
||||||
|
// syscall4(296, arg0, arg1, arg2, arg3)
|
||||||
|
// },
|
||||||
|
// Syscall::RtTgsigqueueinfo(arg0, arg1, arg2, arg3) => unsafe {
|
||||||
|
// syscall4(297, arg0, arg1, arg2, arg3)
|
||||||
|
// },
|
||||||
|
// Syscall::PerfEventOpen(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
||||||
|
// syscall5(298, arg0, arg1, arg2, arg3, arg4)
|
||||||
|
// },
|
||||||
|
// Syscall::Recvmmsg(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
||||||
|
// syscall5(299, arg0, arg1, arg2, arg3, arg4)
|
||||||
|
// },
|
||||||
|
// Syscall::FanotifyInit(arg0, arg1) => unsafe { syscall2(300, arg0, arg1) },
|
||||||
|
// Syscall::FanotifyMark(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
||||||
|
// syscall5(301, arg0, arg1, arg2, arg3, arg4)
|
||||||
|
// },
|
||||||
|
// Syscall::Prlimit64(arg0, arg1, arg2, arg3) => unsafe {
|
||||||
|
// syscall4(302, arg0, arg1, arg2, arg3)
|
||||||
|
// },
|
||||||
|
// Syscall::NameToHandleAt(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
||||||
|
// syscall5(303, arg0, arg1, arg2, arg3, arg4)
|
||||||
|
// },
|
||||||
|
// Syscall::OpenByHandleAt(arg0, arg1, arg2) => unsafe { syscall3(304, arg0, arg1, arg2) },
|
||||||
|
// Syscall::ClockAdjtime(arg0, arg1) => unsafe { syscall2(305, arg0, arg1) },
|
||||||
|
// Syscall::Syncfs(arg0) => unsafe { syscall1(306, arg0) },
|
||||||
|
// Syscall::Sendmmsg(arg0, arg1, arg2, arg3) => unsafe {
|
||||||
|
// syscall4(307, arg0, arg1, arg2, arg3)
|
||||||
|
// },
|
||||||
|
// Syscall::Setns(arg0, arg1) => unsafe { syscall2(308, arg0, arg1) },
|
||||||
|
// Syscall::Getcpu(arg0, arg1, arg2) => unsafe { syscall3(309, arg0, arg1, arg2) },
|
||||||
|
// Syscall::ProcessVmReadv(arg0, arg1, arg2, arg3, arg4, arg5) => unsafe {
|
||||||
|
// syscall6(310, arg0, arg1, arg2, arg3, arg4, arg5)
|
||||||
|
// },
|
||||||
|
// Syscall::ProcessVmWritev(arg0, arg1, arg2, arg3, arg4, arg5) => unsafe {
|
||||||
|
// syscall6(311, arg0, arg1, arg2, arg3, arg4, arg5)
|
||||||
|
// },
|
||||||
|
// Syscall::Kcmp(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
||||||
|
// syscall5(312, arg0, arg1, arg2, arg3, arg4)
|
||||||
|
// },
|
||||||
|
// Syscall::FinitModule(arg0, arg1, arg2) => unsafe { syscall3(313, arg0, arg1, arg2) },
|
||||||
|
// Syscall::SchedSetattr(arg0, arg1, arg2) => unsafe { syscall3(314, arg0, arg1, arg2) },
|
||||||
|
// Syscall::SchedGetattr(arg0, arg1, arg2, arg3) => unsafe {
|
||||||
|
// syscall4(315, arg0, arg1, arg2, arg3)
|
||||||
|
// },
|
||||||
|
// Syscall::Renameat2(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
||||||
|
// syscall5(316, arg0, arg1, arg2, arg3, arg4)
|
||||||
|
// },
|
||||||
|
// Syscall::Seccomp(arg0, arg1, arg2) => unsafe { syscall3(317, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Getrandom(arg0, arg1, arg2) => unsafe { syscall3(318, arg0, arg1, arg2) },
|
||||||
|
// Syscall::MemfdCreate(arg0, arg1) => unsafe { syscall2(319, arg0, arg1) },
|
||||||
|
// Syscall::KexecFileLoad(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
||||||
|
// syscall5(320, arg0, arg1, arg2, arg3, arg4)
|
||||||
|
// },
|
||||||
|
// Syscall::Bpf(arg0, arg1, arg2) => unsafe { syscall3(321, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Execveat(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
||||||
|
// syscall5(322, arg0, arg1, arg2, arg3, arg4)
|
||||||
|
// },
|
||||||
|
// Syscall::Userfaultfd(arg0) => unsafe { syscall1(323, arg0) },
|
||||||
|
// Syscall::Membarrier(arg0, arg1) => unsafe { syscall2(324, arg0, arg1) },
|
||||||
|
// Syscall::Mlock2(arg0, arg1, arg2) => unsafe { syscall3(325, arg0, arg1, arg2) },
|
||||||
|
// Syscall::CopyFileRange(arg0, arg1, arg2, arg3, arg4, arg5) => unsafe {
|
||||||
|
// syscall6(326, arg0, arg1, arg2, arg3, arg4, arg5)
|
||||||
|
// },
|
||||||
|
// Syscall::Preadv2(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
||||||
|
// syscall5(327, arg0, arg1, arg2, arg3, arg4)
|
||||||
|
// },
|
||||||
|
// Syscall::Pwritev2(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
||||||
|
// syscall5(328, arg0, arg1, arg2, arg3, arg4)
|
||||||
|
// },
|
||||||
|
// Syscall::PkeyMprotect(arg0, arg1, arg2, arg3) => unsafe {
|
||||||
|
// syscall4(329, arg0, arg1, arg2, arg3)
|
||||||
|
// },
|
||||||
|
// Syscall::PkeyAlloc(arg0, arg1) => unsafe { syscall2(330, arg0, arg1) },
|
||||||
|
// Syscall::PkeyFree(arg0) => unsafe { syscall1(331, arg0) },
|
||||||
|
// Syscall::Statx(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
||||||
|
// syscall5(332, arg0, arg1, arg2, arg3, arg4)
|
||||||
|
// },
|
||||||
|
// Syscall::IoPgetevents(arg0, arg1, arg2, arg3, arg4, arg5) => unsafe {
|
||||||
|
// syscall6(333, arg0, arg1, arg2, arg3, arg4, arg5)
|
||||||
|
// },
|
||||||
|
// Syscall::Rseq(arg0, arg1, arg2, arg3) => unsafe { syscall4(334, arg0, arg1, arg2, arg3) },
|
||||||
|
// Syscall::PidfdSendSignal(arg0, arg1, arg2, arg3) => unsafe {
|
||||||
|
// syscall4(424, arg0, arg1, arg2, arg3)
|
||||||
|
// },
|
||||||
|
// Syscall::IoUringSetup(arg0, arg1) => unsafe { syscall2(425, arg0, arg1) },
|
||||||
|
// Syscall::IoUringEnter(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
||||||
|
// syscall5(426, arg0, arg1, arg2, arg3, arg4)
|
||||||
|
// },
|
||||||
|
// Syscall::IoUringRegister(arg0, arg1, arg2, arg3) => unsafe {
|
||||||
|
// syscall4(427, arg0, arg1, arg2, arg3)
|
||||||
|
// },
|
||||||
|
// Syscall::OpenTree(arg0, arg1, arg2) => unsafe { syscall3(428, arg0, arg1, arg2) },
|
||||||
|
// Syscall::MoveMount(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
||||||
|
// syscall5(429, arg0, arg1, arg2, arg3, arg4)
|
||||||
|
// },
|
||||||
|
// Syscall::Fsopen(arg0, arg1, arg2) => unsafe { syscall3(430, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Fsconfig(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
||||||
|
// syscall5(431, arg0, arg1, arg2, arg3, arg4)
|
||||||
|
// },
|
||||||
|
// Syscall::Fsmount(arg0, arg1, arg2) => unsafe { syscall3(432, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Fspick(arg0, arg1, arg2) => unsafe { syscall3(433, arg0, arg1, arg2) },
|
||||||
|
// Syscall::PidfdOpen(arg0, arg1) => unsafe { syscall2(434, arg0, arg1) },
|
||||||
|
// Syscall::Clone3(arg0, arg1) => unsafe { syscall2(435, arg0, arg1) },
|
||||||
|
// Syscall::CloseRange(arg0, arg1, arg2) => unsafe { syscall3(436, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Openat2(arg0, arg1, arg2, arg3) => unsafe {
|
||||||
|
// syscall4(437, arg0, arg1, arg2, arg3)
|
||||||
|
// },
|
||||||
|
// Syscall::PidfdGetfd(arg0, arg1, arg2) => unsafe { syscall3(438, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Faccessat2(arg0, arg1, arg2, arg3) => unsafe {
|
||||||
|
// syscall4(439, arg0, arg1, arg2, arg3)
|
||||||
|
// },
|
||||||
|
// Syscall::ProcessMadvise(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
||||||
|
// syscall5(440, arg0, arg1, arg2, arg3, arg4)
|
||||||
|
// },
|
||||||
|
// Syscall::EpollPwait2(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
||||||
|
// syscall5(441, arg0, arg1, arg2, arg3, arg4)
|
||||||
|
// },
|
||||||
|
// Syscall::MountSetattr(arg0, arg1, arg2, arg3) => unsafe {
|
||||||
|
// syscall4(442, arg0, arg1, arg2, arg3)
|
||||||
|
// },
|
||||||
|
// Syscall::QuotactlFd(arg0, arg1, arg2, arg3) => unsafe {
|
||||||
|
// syscall4(443, arg0, arg1, arg2, arg3)
|
||||||
|
// },
|
||||||
|
// Syscall::LandlockCreateRuleset(arg0, arg1, arg2) => unsafe {
|
||||||
|
// syscall3(444, arg0, arg1, arg2)
|
||||||
|
// },
|
||||||
|
// Syscall::LandlockAddRule(arg0, arg1, arg2, arg3) => unsafe {
|
||||||
|
// syscall4(445, arg0, arg1, arg2, arg3)
|
||||||
|
// },
|
||||||
|
// Syscall::LandlockRestrictSelf(arg0, arg1) => unsafe { syscall2(446, arg0, arg1) },
|
||||||
|
// Syscall::MemfdSecret(arg0) => unsafe { syscall1(447, arg0) },
|
||||||
|
// Syscall::ProcessMrelease(arg0, arg1) => unsafe { syscall2(448, arg0, arg1) },
|
||||||
|
// Syscall::FutexWaitv(arg0, arg1, arg2) => unsafe { syscall3(449, arg0, arg1, arg2) },
|
||||||
|
// Syscall::SetMempolicyHomeNode(arg0, arg1, arg2) => unsafe {
|
||||||
|
// syscall3(450, arg0, arg1, arg2)
|
||||||
|
// },
|
||||||
|
// Syscall::Cachestat(arg0, arg1, arg2, arg3, arg4) => unsafe {
|
||||||
|
// syscall5(451, arg0, arg1, arg2, arg3, arg4)
|
||||||
|
// },
|
||||||
|
// Syscall::Fchmodat2(arg0, arg1, arg2, arg3) => unsafe {
|
||||||
|
// syscall4(452, arg0, arg1, arg2, arg3)
|
||||||
|
// },
|
||||||
|
// Syscall::MapShadowStack(arg0, arg1) => unsafe { syscall2(453, arg0, arg1) },
|
||||||
|
// Syscall::FutexWake(arg0, arg1, arg2) => unsafe { syscall3(454, arg0, arg1, arg2) },
|
||||||
|
// Syscall::FutexWait(arg0, arg1, arg2) => unsafe { syscall3(455, arg0, arg1, arg2) },
|
||||||
|
// Syscall::FutexRequeue(arg0, arg1, arg2, arg3) => unsafe {
|
||||||
|
// syscall4(456, arg0, arg1, arg2, arg3)
|
||||||
|
// },
|
||||||
|
// Syscall::Statmount(arg0, arg1, arg2) => unsafe { syscall3(457, arg0, arg1, arg2) },
|
||||||
|
// Syscall::Listmount(arg0, arg1, arg2) => unsafe { syscall3(458, arg0, arg1, arg2) },
|
||||||
|
// Syscall::LsmGetSelfAttr(arg0, arg1, arg2, arg3) => unsafe {
|
||||||
|
// syscall4(459, arg0, arg1, arg2, arg3)
|
||||||
|
// },
|
||||||
|
// Syscall::LsmSetSelfAttr(arg0, arg1, arg2) => unsafe { syscall3(460, arg0, arg1, arg2) },
|
||||||
|
// Syscall::LsmListModules(arg0, arg1) => unsafe { syscall2(461, arg0, arg1) },
|
||||||
|
// Syscall::Unknown(syscall_num, args) => match args {
|
||||||
|
// [arg0, arg1, arg2, arg3, arg4, arg5] => unsafe {
|
||||||
|
// syscall6(syscall_num, arg0, arg1, arg2, arg3, arg4, arg5)
|
||||||
|
// },
|
||||||
|
// _ => unreachable!(),
|
||||||
|
// },
|
||||||
|
// }
|
||||||
|
}
|
||||||
+129
-129
@@ -1,137 +1,137 @@
|
|||||||
///https://docs.rs/syscalls/latest/syscalls/x86_64/enum.Sysno.html
|
///https://docs.rs/syscalls/latest/syscalls/x86_64/enum.Sysno.html
|
||||||
#[non_exhaustive]
|
#[non_exhaustive]
|
||||||
#[repr(i32)]
|
#[repr(i64)]
|
||||||
#[derive(Debug, PartialEq, Eq)]
|
#[derive(Debug, PartialEq, Eq)]
|
||||||
#[allow(non_camel_case_types)]
|
#[allow(non_camel_case_types)]
|
||||||
pub enum Sysno {
|
pub enum Sysno {
|
||||||
read = 0,
|
read = libc::SYS_read,
|
||||||
write = 1,
|
write = libc::SYS_write,
|
||||||
open = 2,
|
open = libc::SYS_open,
|
||||||
close = 3,
|
close = libc::SYS_close,
|
||||||
stat = 4,
|
stat = libc::SYS_stat,
|
||||||
fstat = 5,
|
fstat = libc::SYS_fstat,
|
||||||
lstat = 6,
|
lstat = libc::SYS_lstat,
|
||||||
poll = 7,
|
poll = libc::SYS_poll,
|
||||||
lseek = 8,
|
lseek = libc::SYS_lseek,
|
||||||
mmap = 9,
|
mmap = libc::SYS_mmap,
|
||||||
mprotect = 10,
|
mprotect = libc::SYS_mprotect,
|
||||||
munmap = 11,
|
munmap = libc::SYS_munmap,
|
||||||
brk = 12,
|
brk = libc::SYS_brk,
|
||||||
rt_sigaction = 13,
|
rt_sigaction = libc::SYS_rt_sigaction,
|
||||||
rt_sigprocmask = 14,
|
rt_sigprocmask = libc::SYS_rt_sigprocmask,
|
||||||
rt_sigreturn = 15,
|
rt_sigreturn = libc::SYS_rt_sigreturn,
|
||||||
ioctl = 16,
|
ioctl = libc::SYS_ioctl,
|
||||||
pread64 = 17,
|
pread64 = libc::SYS_pread64,
|
||||||
pwrite64 = 18,
|
pwrite64 = libc::SYS_pwrite64,
|
||||||
readv = 19,
|
readv = libc::SYS_readv,
|
||||||
writev = 20,
|
writev = libc::SYS_writev,
|
||||||
access = 21,
|
access = libc::SYS_access,
|
||||||
pipe = 22,
|
pipe = libc::SYS_pipe,
|
||||||
select = 23,
|
select = libc::SYS_select,
|
||||||
sched_yield = 24,
|
sched_yield = libc::SYS_sched_yield,
|
||||||
mremap = 25,
|
mremap = libc::SYS_mremap,
|
||||||
msync = 26,
|
msync = libc::SYS_msync,
|
||||||
mincore = 27,
|
mincore = libc::SYS_mincore,
|
||||||
madvise = 28,
|
madvise = libc::SYS_madvise,
|
||||||
shmget = 29,
|
shmget = libc::SYS_shmget,
|
||||||
shmat = 30,
|
shmat = libc::SYS_shmat,
|
||||||
shmctl = 31,
|
shmctl = libc::SYS_shmctl,
|
||||||
dup = 32,
|
dup = libc::SYS_dup,
|
||||||
dup2 = 33,
|
dup2 = libc::SYS_dup2,
|
||||||
pause = 34,
|
pause = libc::SYS_pause,
|
||||||
nanosleep = 35,
|
nanosleep = libc::SYS_nanosleep,
|
||||||
getitimer = 36,
|
getitimer = libc::SYS_getitimer,
|
||||||
alarm = 37,
|
alarm = libc::SYS_alarm,
|
||||||
setitimer = 38,
|
setitimer = libc::SYS_setitimer,
|
||||||
getpid = 39,
|
getpid = libc::SYS_getpid,
|
||||||
sendfile = 40,
|
sendfile = libc::SYS_sendfile,
|
||||||
socket = 41,
|
socket = libc::SYS_socket,
|
||||||
connect = 42,
|
connect = libc::SYS_connect,
|
||||||
accept = 43,
|
accept = libc::SYS_accept,
|
||||||
sendto = 44,
|
sendto = libc::SYS_sendto,
|
||||||
recvfrom = 45,
|
recvfrom = libc::SYS_recvfrom,
|
||||||
sendmsg = 46,
|
sendmsg = libc::SYS_sendmsg,
|
||||||
recvmsg = 47,
|
recvmsg = libc::SYS_recvmsg,
|
||||||
shutdown = 48,
|
shutdown = libc::SYS_shutdown,
|
||||||
bind = 49,
|
bind = libc::SYS_bind,
|
||||||
listen = 50,
|
listen = libc::SYS_listen,
|
||||||
getsockname = 51,
|
getsockname = libc::SYS_getsockname,
|
||||||
getpeername = 52,
|
getpeername = libc::SYS_getpeername,
|
||||||
socketpair = 53,
|
socketpair = libc::SYS_socketpair,
|
||||||
setsockopt = 54,
|
setsockopt = libc::SYS_setsockopt,
|
||||||
getsockopt = 55,
|
getsockopt = libc::SYS_getsockopt,
|
||||||
clone = 56,
|
clone = libc::SYS_clone,
|
||||||
fork = 57,
|
fork = libc::SYS_fork,
|
||||||
vfork = 58,
|
vfork = libc::SYS_vfork,
|
||||||
execve = 59,
|
execve = libc::SYS_execve,
|
||||||
exit = 60,
|
exit = libc::SYS_exit,
|
||||||
wait4 = 61,
|
wait4 = libc::SYS_wait4,
|
||||||
kill = 62,
|
kill = libc::SYS_kill,
|
||||||
uname = 63,
|
uname = libc::SYS_uname,
|
||||||
semget = 64,
|
semget = libc::SYS_semget,
|
||||||
semop = 65,
|
semop = libc::SYS_semop,
|
||||||
semctl = 66,
|
semctl = libc::SYS_semctl,
|
||||||
shmdt = 67,
|
shmdt = libc::SYS_shmdt,
|
||||||
msgget = 68,
|
msgget = libc::SYS_msgget,
|
||||||
msgsnd = 69,
|
msgsnd = libc::SYS_msgsnd,
|
||||||
msgrcv = 70,
|
msgrcv = libc::SYS_msgrcv,
|
||||||
msgctl = 71,
|
msgctl = libc::SYS_msgctl,
|
||||||
fcntl = 72,
|
fcntl = libc::SYS_fcntl,
|
||||||
flock = 73,
|
flock = libc::SYS_flock,
|
||||||
fsync = 74,
|
fsync = libc::SYS_fsync,
|
||||||
fdatasync = 75,
|
fdatasync = libc::SYS_fdatasync,
|
||||||
truncate = 76,
|
truncate = libc::SYS_truncate,
|
||||||
ftruncate = 77,
|
ftruncate = libc::SYS_ftruncate,
|
||||||
getdents = 78,
|
getdents = libc::SYS_getdents,
|
||||||
getcwd = 79,
|
getcwd = libc::SYS_getcwd,
|
||||||
chdir = 80,
|
chdir = libc::SYS_chdir,
|
||||||
fchdir = 81,
|
fchdir = libc::SYS_fchdir,
|
||||||
rename = 82,
|
rename = libc::SYS_rename,
|
||||||
mkdir = 83,
|
mkdir = libc::SYS_mkdir,
|
||||||
rmdir = 84,
|
rmdir = libc::SYS_rmdir,
|
||||||
creat = 85,
|
creat = libc::SYS_creat,
|
||||||
link = 86,
|
link = libc::SYS_link,
|
||||||
unlink = 87,
|
unlink = libc::SYS_unlink,
|
||||||
symlink = 88,
|
symlink = libc::SYS_symlink,
|
||||||
readlink = 89,
|
readlink = libc::SYS_readlink,
|
||||||
chmod = 90,
|
chmod = libc::SYS_chmod,
|
||||||
fchmod = 91,
|
fchmod = libc::SYS_fchmod,
|
||||||
chown = 92,
|
chown = libc::SYS_chown,
|
||||||
fchown = 93,
|
fchown = libc::SYS_fchown,
|
||||||
lchown = 94,
|
lchown = libc::SYS_lchown,
|
||||||
umask = 95,
|
umask = libc::SYS_umask,
|
||||||
gettimeofday = 96,
|
gettimeofday = libc::SYS_gettimeofday,
|
||||||
getrlimit = 97,
|
getrlimit = libc::SYS_getrlimit,
|
||||||
getrusage = 98,
|
getrusage = libc::SYS_getrusage,
|
||||||
sysinfo = 99,
|
sysinfo = libc::SYS_sysinfo,
|
||||||
times = 100,
|
times = libc::SYS_times,
|
||||||
ptrace = 101,
|
ptrace = libc::SYS_ptrace,
|
||||||
getuid = 102,
|
getuid = libc::SYS_getuid,
|
||||||
syslog = 103,
|
syslog = libc::SYS_syslog,
|
||||||
getgid = 104,
|
getgid = libc::SYS_getgid,
|
||||||
setuid = 105,
|
setuid = libc::SYS_setuid,
|
||||||
setgid = 106,
|
setgid = libc::SYS_setgid,
|
||||||
geteuid = 107,
|
geteuid = libc::SYS_geteuid,
|
||||||
getegid = 108,
|
getegid = libc::SYS_getegid,
|
||||||
setpgid = 109,
|
setpgid = libc::SYS_setpgid,
|
||||||
getppid = 110,
|
getppid = libc::SYS_getppid,
|
||||||
getpgrp = 111,
|
getpgrp = libc::SYS_getpgrp,
|
||||||
setsid = 112,
|
setsid = libc::SYS_setsid,
|
||||||
setreuid = 113,
|
setreuid = libc::SYS_setreuid,
|
||||||
setregid = 114,
|
setregid = libc::SYS_setregid,
|
||||||
getgroups = 115,
|
getgroups = libc::SYS_getgroups,
|
||||||
setgroups = 116,
|
setgroups = libc::SYS_setgroups,
|
||||||
setresuid = 117,
|
setresuid = libc::SYS_setresuid,
|
||||||
getresuid = 118,
|
getresuid = libc::SYS_getresuid,
|
||||||
setresgid = 119,
|
setresgid = libc::SYS_setresgid,
|
||||||
getresgid = 120,
|
getresgid = libc::SYS_getresgid,
|
||||||
getpgid = 121,
|
getpgid = libc::SYS_getpgid,
|
||||||
setfsuid = 122,
|
setfsuid = libc::SYS_setfsuid,
|
||||||
setfsgid = 123,
|
setfsgid = libc::SYS_setfsgid,
|
||||||
getsid = 124,
|
getsid = libc::SYS_getsid,
|
||||||
capget = 125,
|
capget = libc::SYS_capget,
|
||||||
capset = 126,
|
capset = libc::SYS_capset,
|
||||||
rt_sigpending = 127,
|
rt_sigpending = libc::SYS_rt_sigpending,
|
||||||
rt_sigtimedwait = 128,
|
rt_sigtimedwait = 128,
|
||||||
rt_sigqueueinfo = 129,
|
rt_sigqueueinfo = 129,
|
||||||
rt_sigsuspend = 130,
|
rt_sigsuspend = 130,
|
||||||
|
|||||||
@@ -0,0 +1,72 @@
|
|||||||
|
use std::marker::PhantomData;
|
||||||
|
use std::{fmt::Debug, mem::transmute};
|
||||||
|
|
||||||
|
use bincode::{Decode, Encode};
|
||||||
|
|
||||||
|
#[derive(Encode, Decode)]
|
||||||
|
pub struct Ptr<T>(libc::c_ulong, PhantomData<T>);
|
||||||
|
|
||||||
|
impl<T> Ptr<T>
|
||||||
|
where
|
||||||
|
T: Debug,
|
||||||
|
{
|
||||||
|
pub fn new(location: libc::c_ulong) -> Self {
|
||||||
|
Self(location, PhantomData) // ooo
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl<T: Debug> Debug for Ptr<T> {
|
||||||
|
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||||||
|
unsafe {
|
||||||
|
let ptr = transmute::<libc::c_ulong, *const T>(self.0);
|
||||||
|
|
||||||
|
// *(ptr as *mut u64) = 1;
|
||||||
|
// println!("{}", *ptr);
|
||||||
|
|
||||||
|
// let ptr = std::mem::transmute::<libc::c_ulong, *const libc::c_char>(self.0);
|
||||||
|
// let value = core::ptr::read::<libc::c_char>(ptr);
|
||||||
|
|
||||||
|
f.write_str(format!("0x{:X} -> {:?}", self.0, *ptr).as_str())
|
||||||
|
}
|
||||||
|
// Ok(())
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl BufferLocation for Ptr<libc::c_char> {
|
||||||
|
fn get_location(&self) -> libc::c_char {
|
||||||
|
unsafe { core::ptr::read::<libc::c_char>(self.0 as *const libc::c_char) }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pub trait BufferLocation {
|
||||||
|
fn get_location(&self) -> libc::c_char;
|
||||||
|
}
|
||||||
|
|
||||||
|
#[derive(Encode, Decode, Debug)]
|
||||||
|
pub struct Buf<T: BufferLocation>(pub T);
|
||||||
|
|
||||||
|
// impl<T: BufferLocation> Buf<T> {
|
||||||
|
// pub fn
|
||||||
|
// }
|
||||||
|
|
||||||
|
// impl<T: Debug + BufferLocation> Debug for Buf<T> {
|
||||||
|
// fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||||||
|
// unsafe {
|
||||||
|
// // let addr = self.0.get_location();
|
||||||
|
// // let data =
|
||||||
|
// // &crate::kern_buffers::create_and_use_kernel_buffer(addr as *const libc::c_char)
|
||||||
|
// // .unwrap();
|
||||||
|
|
||||||
|
// // f.write_str(data)?
|
||||||
|
// // "F"
|
||||||
|
// };
|
||||||
|
|
||||||
|
// Ok(())
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
impl<T: BufferLocation> BufferLocation for Buf<T> {
|
||||||
|
fn get_location(&self) -> libc::c_char {
|
||||||
|
self.0.get_location()
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user