mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-06 07:38:48 +00:00
[sys/linux]: Fix compilation errors and -strict-style errors
This commit is contained in:
@@ -1629,7 +1629,7 @@ PTrace_Request :: enum {
|
|||||||
SECCOMP_GET_METADATA = 0x420d,
|
SECCOMP_GET_METADATA = 0x420d,
|
||||||
GET_SYSCALL_INFO = 0x420e,
|
GET_SYSCALL_INFO = 0x420e,
|
||||||
GET_RSEQ_CONFIGURATION = 0x420f,
|
GET_RSEQ_CONFIGURATION = 0x420f,
|
||||||
};
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
ptrace options
|
ptrace options
|
||||||
@@ -1669,7 +1669,7 @@ PTrace_Get_Syscall_Info_Op :: enum u8 {
|
|||||||
ENTRY = 1,
|
ENTRY = 1,
|
||||||
EXIT = 2,
|
EXIT = 2,
|
||||||
SECCOMP = 3,
|
SECCOMP = 3,
|
||||||
};
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
ptrace's PEEKSIGINFO flags bits
|
ptrace's PEEKSIGINFO flags bits
|
||||||
@@ -1708,7 +1708,7 @@ Splice_Flags_Bits :: enum {
|
|||||||
/*
|
/*
|
||||||
Clock IDs for various system clocks.
|
Clock IDs for various system clocks.
|
||||||
*/
|
*/
|
||||||
Clock_ID :: enum {
|
Clock_Id :: enum {
|
||||||
REALTIME = 0,
|
REALTIME = 0,
|
||||||
MONOTONIC = 1,
|
MONOTONIC = 1,
|
||||||
PROCESS_CPUTIME_ID = 2,
|
PROCESS_CPUTIME_ID = 2,
|
||||||
|
|||||||
+25
-30
@@ -346,7 +346,7 @@ shmget :: proc "contextless" (key: Key, size: uint, flags: IPC_Flags) -> (Key, E
|
|||||||
*/
|
*/
|
||||||
shmat :: proc "contextless" (key: Key, addr: rawptr, flags: IPC_Flags) -> (rawptr, Errno) {
|
shmat :: proc "contextless" (key: Key, addr: rawptr, flags: IPC_Flags) -> (rawptr, Errno) {
|
||||||
ret := syscall(SYS_shmat, key, addr, transmute(i16) flags)
|
ret := syscall(SYS_shmat, key, addr, transmute(i16) flags)
|
||||||
return errno_unwrap(ret, Key)
|
return errno_unwrap(ret, rawptr, uintptr)
|
||||||
}
|
}
|
||||||
|
|
||||||
shmctl_ds :: proc "contextless" (key: Key, cmd: IPC_Cmd, buf: ^Shmid_DS) -> (Errno) {
|
shmctl_ds :: proc "contextless" (key: Key, cmd: IPC_Cmd, buf: ^Shmid_DS) -> (Errno) {
|
||||||
@@ -354,21 +354,16 @@ shmctl_ds :: proc "contextless" (key: Key, cmd: IPC_Cmd, buf: ^Shmid_DS) -> (Err
|
|||||||
return Errno(-ret)
|
return Errno(-ret)
|
||||||
}
|
}
|
||||||
|
|
||||||
shmctl_info :: proc "contextless" (key: Key, cmd: IPC_Cmd, buf: ^Shmid_Info) -> (int, Errno) {
|
shmctl_info :: proc "contextless" (key: Key, cmd: IPC_Cmd, buf: ^Shm_Info) -> (int, Errno) {
|
||||||
ret := syscall(SYS_shmctl, key, cmd, buf)
|
ret := syscall(SYS_shmctl, key, cmd, buf)
|
||||||
return errno_unwrap(ret, int)
|
return errno_unwrap(ret, int)
|
||||||
}
|
}
|
||||||
|
|
||||||
shmctl_stat :: proc "contextless" (index: int, cmd: IPC_Cmd, buf: ^Shmid_DS) -> (Key, Errno) {
|
|
||||||
ret := syscall(SYS_shmctl, key, cmd, buf)
|
|
||||||
return errno_unwrap(ret, Key)
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
SystemV shared memory control.
|
SystemV shared memory control.
|
||||||
Available since Linux 2.0.
|
Available since Linux 2.0.
|
||||||
*/
|
*/
|
||||||
shmctl :: proc {shmctl_ds, shmctl_info, shmctl_stat}
|
shmctl :: proc {shmctl_ds, shmctl_info}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Allocate a new file descriptor that refers to the same file as the one provided.
|
Allocate a new file descriptor that refers to the same file as the one provided.
|
||||||
@@ -432,7 +427,7 @@ alarm :: proc "contextless" (seconds: u32) -> u32 {
|
|||||||
Set the value of an internal timer.
|
Set the value of an internal timer.
|
||||||
Available since Linux 1.0.
|
Available since Linux 1.0.
|
||||||
*/
|
*/
|
||||||
getitimer :: proc "contextless" (which: ITimer_Which, new: ^ITimer_Val, old: ^ITimer_Val) -> (Errno) {
|
setitimer :: proc "contextless" (which: ITimer_Which, new: ^ITimer_Val, old: ^ITimer_Val) -> (Errno) {
|
||||||
ret := syscall(SYS_getitimer, new, old)
|
ret := syscall(SYS_getitimer, new, old)
|
||||||
return Errno(-ret)
|
return Errno(-ret)
|
||||||
}
|
}
|
||||||
@@ -451,13 +446,13 @@ getpid :: proc "contextless" () -> Pid {
|
|||||||
Available since Linux 2.2.
|
Available since Linux 2.2.
|
||||||
On 32-bit platforms available since Linux 2.6.
|
On 32-bit platforms available since Linux 2.6.
|
||||||
*/
|
*/
|
||||||
sendfile :: proc "contextless" (out: Fd, in: Fd, offset: ^i64, count: uint) -> (int, Errno) {
|
sendfile :: proc "contextless" (out_fd: Fd, in_fd: Fd, offset: ^i64, count: uint) -> (int, Errno) {
|
||||||
when size_of(int) == 8 {
|
when size_of(int) == 8 {
|
||||||
ret := syscall(SYS_sendfile, out, in, offset, count)
|
ret := syscall(SYS_sendfile, out_fd, in_fd, offset, count)
|
||||||
return errno_unwrap(ret, Errno)
|
return errno_unwrap(ret, int)
|
||||||
} else {
|
} else {
|
||||||
ret := syscall(SYS_sendfile64, out, in, offset, count)
|
ret := syscall(SYS_sendfile64, out_fd, in_fd, offset, count)
|
||||||
return errno_unwrap(ret, Errno)
|
return errno_unwrap(ret, int)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -829,7 +824,7 @@ semctl3 :: proc "contextless" (key: Key, semnum: i32, cmd: IPC_Cmd) -> (int, Err
|
|||||||
return errno_unwrap(ret, int)
|
return errno_unwrap(ret, int)
|
||||||
}
|
}
|
||||||
|
|
||||||
semctl4 :: proc "contextless" (key: Key, semnum: i32, cmd: IPC_Cmd, semun: Sem_Un) -> (int, Errno) {
|
semctl4 :: proc "contextless" (key: Key, semnum: i32, cmd: IPC_Cmd, semun: ^Sem_Un) -> (int, Errno) {
|
||||||
ret := syscall(SYS_semctl, key, semnum, cmd, semun)
|
ret := syscall(SYS_semctl, key, semnum, cmd, semun)
|
||||||
return errno_unwrap(ret, int)
|
return errno_unwrap(ret, int)
|
||||||
}
|
}
|
||||||
@@ -1341,9 +1336,9 @@ lchown :: proc "contextless" (name: cstring, uid: Uid, gid: Gid) -> (Errno) {
|
|||||||
Set file mode creation mask.
|
Set file mode creation mask.
|
||||||
Available since Linux 1.0.
|
Available since Linux 1.0.
|
||||||
*/
|
*/
|
||||||
umask :: proc "contextless" (mask: Mask) -> Mask {
|
umask :: proc "contextless" (mask: Mode) -> Mode {
|
||||||
ret := syscall(SYS_umask, transmute(u32) mask)
|
ret := syscall(SYS_umask, transmute(u32) mask)
|
||||||
return transmute(u32) cast(u32) ret
|
return transmute(Mode) cast(u32) ret
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -1397,12 +1392,12 @@ ptrace_traceme :: proc "contextless" (rq: PTrace_Traceme_Type) -> (Errno) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ptrace_peek :: proc "contextless" (rq: PTrace_Peek_Type, pid: Pid, addr: uintptr) -> (uint, Errno) {
|
ptrace_peek :: proc "contextless" (rq: PTrace_Peek_Type, pid: Pid, addr: uintptr) -> (uint, Errno) {
|
||||||
ret := syscall(SYS_ptrace, rq, pid: Pid, addr, pid)
|
ret := syscall(SYS_ptrace, rq, pid, addr)
|
||||||
return errno_unwrap(rq, uint)
|
return errno_unwrap(ret, uint)
|
||||||
}
|
}
|
||||||
|
|
||||||
ptrace_poke :: proc "contextless" (rq: PTrace_Poke_Type, pid: Pid, addr: uintptr, data: uint) -> (Errno) {
|
ptrace_poke :: proc "contextless" (rq: PTrace_Poke_Type, pid: Pid, addr: uintptr, data: uint) -> (Errno) {
|
||||||
ret := syscall(SYS_ptrace, rq, pid: Pid, addr, data)
|
ret := syscall(SYS_ptrace, rq, pid, addr, data)
|
||||||
return Errno(-ret)
|
return Errno(-ret)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1436,12 +1431,12 @@ ptrace_setfpxregs :: proc "contextless" (rq: PTrace_Setfpxregs_Type, pid: Pid, b
|
|||||||
return Errno(-ret)
|
return Errno(-ret)
|
||||||
}
|
}
|
||||||
|
|
||||||
ptrace_getregset :: proc "contextless" (rq: PTrace_Getgetset_Type, pid: Pid, note: PTrace_Note_Type, buf: ^IO_Vec) -> (Errno) {
|
ptrace_getregset :: proc "contextless" (rq: PTrace_Getregset_Type, pid: Pid, note: PTrace_Note_Type, buf: ^IO_Vec) -> (Errno) {
|
||||||
ret := syscall(SYS_ptrace, rq, pid, note, buf)
|
ret := syscall(SYS_ptrace, rq, pid, note, buf)
|
||||||
return Errno(-ret)
|
return Errno(-ret)
|
||||||
}
|
}
|
||||||
|
|
||||||
ptrace_setregset :: proc "contextless" (rq: PTrace_Setgetset_Type, pid: Pid, note: PTrace_Note_Type, buf: ^IO_Vec) -> (Errno) {
|
ptrace_setregset :: proc "contextless" (rq: PTrace_Setregset_Type, pid: Pid, note: PTrace_Note_Type, buf: ^IO_Vec) -> (Errno) {
|
||||||
ret := syscall(SYS_ptrace, rq, pid, note, buf)
|
ret := syscall(SYS_ptrace, rq, pid, note, buf)
|
||||||
return Errno(-ret)
|
return Errno(-ret)
|
||||||
}
|
}
|
||||||
@@ -1456,13 +1451,13 @@ ptrace_peeksiginfo :: proc "contextless" (rq: PTrace_Peeksiginfo_Type, pid: Pid,
|
|||||||
return Errno(-ret)
|
return Errno(-ret)
|
||||||
}
|
}
|
||||||
|
|
||||||
ptrace_getsigmask :: proc "contextless" (rq: PTrace_Getsigmask, pid: Pid, sigmask: ^Sig_Mask) -> (Errno) {
|
ptrace_getsigmask :: proc "contextless" (rq: PTrace_Getsigmask_Type, pid: Pid, sigmask: ^Sig_Set) -> (Errno) {
|
||||||
ret := syscall(SYS_ptrace, rq, pid, size_of(Sig_Mask), sigmask)
|
ret := syscall(SYS_ptrace, rq, pid, size_of(Sig_Set), sigmask)
|
||||||
return Errno(-ret)
|
return Errno(-ret)
|
||||||
}
|
}
|
||||||
|
|
||||||
ptrace_setsigmask :: proc "contextless" (rq: PTrace_Setsigmask, pid: Pid, sigmask: ^Sig_Mask) -> (Errno) {
|
ptrace_setsigmask :: proc "contextless" (rq: PTrace_Setsigmask_Type, pid: Pid, sigmask: ^Sig_Set) -> (Errno) {
|
||||||
ret := syscall(SYS_ptrace, rq, pid, size_of(Sig_Mask), sigmask)
|
ret := syscall(SYS_ptrace, rq, pid, size_of(Sig_Set), sigmask)
|
||||||
return Errno(-ret)
|
return Errno(-ret)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1740,10 +1735,10 @@ setregid :: proc "contextless" (real: Gid, effective: Gid) -> (Errno) {
|
|||||||
*/
|
*/
|
||||||
getgroups :: proc "contextless" (gids: []Gid) -> (int, Errno) {
|
getgroups :: proc "contextless" (gids: []Gid) -> (int, Errno) {
|
||||||
when size_of(int) == 8 {
|
when size_of(int) == 8 {
|
||||||
ret := syscall(SYS_getgroups, len(gids), rawptr(gids))
|
ret := syscall(SYS_getgroups, len(gids), raw_data(gids))
|
||||||
return errno_unwrap(ret, int)
|
return errno_unwrap(ret, int)
|
||||||
} else {
|
} else {
|
||||||
ret := syscall(SYS_getgroups32, len(gids), rawptr(gids))
|
ret := syscall(SYS_getgroups32, len(gids), raw_data(gids))
|
||||||
return errno_unwrap(ret, int)
|
return errno_unwrap(ret, int)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1755,10 +1750,10 @@ getgroups :: proc "contextless" (gids: []Gid) -> (int, Errno) {
|
|||||||
*/
|
*/
|
||||||
setgroups :: proc "contextless" (gids: []Gid) -> (Errno) {
|
setgroups :: proc "contextless" (gids: []Gid) -> (Errno) {
|
||||||
when size_of(int) == 8 {
|
when size_of(int) == 8 {
|
||||||
ret := syscall(SYS_setgroup, len(gids), rawptr(gids))
|
ret := syscall(SYS_setgroups, len(gids), raw_data(gids))
|
||||||
return Errno(-ret)
|
return Errno(-ret)
|
||||||
} else {
|
} else {
|
||||||
ret := syscall(SYS_setgroup32, len(gids), rawptr(gids))
|
ret := syscall(SYS_setgroups32, len(gids), raw_data(gids))
|
||||||
return Errno(-ret)
|
return Errno(-ret)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+38
-23
@@ -564,7 +564,7 @@ Sig_Event :: struct {
|
|||||||
value: Sig_Val,
|
value: Sig_Val,
|
||||||
signo: i32,
|
signo: i32,
|
||||||
notify: i32,
|
notify: i32,
|
||||||
using: struct #raw_union {
|
using _: struct #raw_union {
|
||||||
_: [SIGEV_PAD_SIZE]u32,
|
_: [SIGEV_PAD_SIZE]u32,
|
||||||
thread_id: Pid,
|
thread_id: Pid,
|
||||||
using _: struct {
|
using _: struct {
|
||||||
@@ -651,7 +651,7 @@ Msg_Hdr :: struct {
|
|||||||
iov: []IO_Vec, // ptr followed by length, abi matches
|
iov: []IO_Vec, // ptr followed by length, abi matches
|
||||||
control: []u8,
|
control: []u8,
|
||||||
flags: Socket_Msg,
|
flags: Socket_Msg,
|
||||||
};
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Multiple message header for sendmmsg/recvmmsg
|
Multiple message header for sendmmsg/recvmmsg
|
||||||
@@ -754,7 +754,7 @@ IO_Vec :: struct {
|
|||||||
/*
|
/*
|
||||||
Access mode for shared memory
|
Access mode for shared memory
|
||||||
*/
|
*/
|
||||||
IPC_Mode :: bit_set[IPC_Mode; u32]
|
IPC_Mode :: bit_set[IPC_Mode_Bits; u32]
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Flags used by IPC objects
|
Flags used by IPC objects
|
||||||
@@ -772,7 +772,7 @@ IPC_Perm :: struct {
|
|||||||
cgid: u32,
|
cgid: u32,
|
||||||
mode: IPC_Mode,
|
mode: IPC_Mode,
|
||||||
seq: u16,
|
seq: u16,
|
||||||
_: [2 + 2*size_of(int)],
|
_: [2 + 2*size_of(int)]u8,
|
||||||
}
|
}
|
||||||
|
|
||||||
when size_of(int) == 8 || ODIN_ARCH == .i386 {
|
when size_of(int) == 8 || ODIN_ARCH == .i386 {
|
||||||
@@ -816,7 +816,7 @@ Shmid_DS :: _Arch_Shmid_DS
|
|||||||
SystemV shared memory info.
|
SystemV shared memory info.
|
||||||
*/
|
*/
|
||||||
Shm_Info :: struct {
|
Shm_Info :: struct {
|
||||||
used_ids: i32
|
used_ids: i32,
|
||||||
shm_tot: uint,
|
shm_tot: uint,
|
||||||
shm_rss: uint,
|
shm_rss: uint,
|
||||||
shm_swp: uint,
|
shm_swp: uint,
|
||||||
@@ -843,7 +843,7 @@ when ODIN_ARCH == .i386 {
|
|||||||
nsems: uint,
|
nsems: uint,
|
||||||
_: [2]uint,
|
_: [2]uint,
|
||||||
}
|
}
|
||||||
else when ODIN_ARCH == .amd64 {
|
} else when ODIN_ARCH == .amd64 {
|
||||||
_Arch_Semid_DS :: struct {
|
_Arch_Semid_DS :: struct {
|
||||||
perm: IPC_Perm,
|
perm: IPC_Perm,
|
||||||
otime: int,
|
otime: int,
|
||||||
@@ -891,8 +891,8 @@ Sem_Un :: struct #raw_union {
|
|||||||
/*
|
/*
|
||||||
SystenV semaphore info.
|
SystenV semaphore info.
|
||||||
*/
|
*/
|
||||||
Sem_Info {
|
Sem_Info :: struct {
|
||||||
map: i32,
|
semmap: i32,
|
||||||
mni: i32,
|
mni: i32,
|
||||||
mns: i32,
|
mns: i32,
|
||||||
mnu: i32,
|
mnu: i32,
|
||||||
@@ -915,7 +915,7 @@ Msg_Buf :: struct {
|
|||||||
/*
|
/*
|
||||||
SystemV message queue data.
|
SystemV message queue data.
|
||||||
*/
|
*/
|
||||||
struct Msqid_DS {
|
Msqid_DS :: struct {
|
||||||
perm: IPC_Perm,
|
perm: IPC_Perm,
|
||||||
stime: uint,
|
stime: uint,
|
||||||
rtime: uint,
|
rtime: uint,
|
||||||
@@ -925,8 +925,8 @@ struct Msqid_DS {
|
|||||||
qbytes: uint,
|
qbytes: uint,
|
||||||
lspid: Pid,
|
lspid: Pid,
|
||||||
lrpid: Pid,
|
lrpid: Pid,
|
||||||
_: [2]uint
|
_: [2]uint,
|
||||||
};
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Interval timer types
|
Interval timer types
|
||||||
@@ -945,7 +945,7 @@ ITimer_Val :: struct {
|
|||||||
value: Time_Val,
|
value: Time_Val,
|
||||||
}
|
}
|
||||||
|
|
||||||
ITimer_Spec {
|
ITimer_Spec :: struct {
|
||||||
interval: Time_Spec,
|
interval: Time_Spec,
|
||||||
value: Time_Spec,
|
value: Time_Spec,
|
||||||
}
|
}
|
||||||
@@ -953,7 +953,7 @@ ITimer_Spec {
|
|||||||
/*
|
/*
|
||||||
Flags for POSIX interval timers.
|
Flags for POSIX interval timers.
|
||||||
*/
|
*/
|
||||||
ITimer_Flags :: bit_set[ITimer_Flags_Bits, u32]
|
ITimer_Flags :: bit_set[ITimer_Flags_Bits; u32]
|
||||||
|
|
||||||
when ODIN_ARCH == .arm32 {
|
when ODIN_ARCH == .arm32 {
|
||||||
_Arch_User_Regs :: struct {
|
_Arch_User_Regs :: struct {
|
||||||
@@ -991,7 +991,7 @@ when ODIN_ARCH == .arm32 {
|
|||||||
vregs: [32]u128,
|
vregs: [32]u128,
|
||||||
fpsr: u32,
|
fpsr: u32,
|
||||||
fpcr: u32,
|
fpcr: u32,
|
||||||
_: [2]u32
|
_: [2]u32,
|
||||||
}
|
}
|
||||||
_Arch_User_FPX_Regs :: struct {}
|
_Arch_User_FPX_Regs :: struct {}
|
||||||
} else when ODIN_ARCH == .i386 {
|
} else when ODIN_ARCH == .i386 {
|
||||||
@@ -1042,7 +1042,7 @@ when ODIN_ARCH == .arm32 {
|
|||||||
padding: [56]uint,
|
padding: [56]uint,
|
||||||
}
|
}
|
||||||
} else when ODIN_ARCH == .amd64 {
|
} else when ODIN_ARCH == .amd64 {
|
||||||
_Arch_User_Regs {
|
_Arch_User_Regs :: struct {
|
||||||
// Callee-preserved, may not be correct if the syscall doesn't need
|
// Callee-preserved, may not be correct if the syscall doesn't need
|
||||||
// these registers
|
// these registers
|
||||||
r15: uint,
|
r15: uint,
|
||||||
@@ -1083,7 +1083,23 @@ when ODIN_ARCH == .arm32 {
|
|||||||
mxcsr_mask: u32,
|
mxcsr_mask: u32,
|
||||||
st_space: [32]u32,
|
st_space: [32]u32,
|
||||||
xmm_space: [64]u32,
|
xmm_space: [64]u32,
|
||||||
_: [24]u32;
|
_: [24]u32,
|
||||||
|
}
|
||||||
|
// FXSR instruction set state
|
||||||
|
_Arch_User_FPX_Regs :: struct {
|
||||||
|
cwd: u16,
|
||||||
|
swd: u16,
|
||||||
|
twd: u16,
|
||||||
|
fop: u16,
|
||||||
|
fip: uint,
|
||||||
|
fcs: uint,
|
||||||
|
foo: uint,
|
||||||
|
fos: uint,
|
||||||
|
mxcsr: uint,
|
||||||
|
_: uint,
|
||||||
|
st_space: [32]uint,
|
||||||
|
xmm_space: [32]uint,
|
||||||
|
padding: [56]uint,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1120,13 +1136,12 @@ PTrace_Peek_Sig_Info_Args :: struct {
|
|||||||
/*
|
/*
|
||||||
ptrace's PEEKSIGINFO flags.
|
ptrace's PEEKSIGINFO flags.
|
||||||
*/
|
*/
|
||||||
PTrace_Peek_Sig_Info_Flags :: bit_set[PTrace_Peek_Sig_Info_Flags_Bits, u32]
|
PTrace_Peek_Sig_Info_Flags :: bit_set[PTrace_Peek_Sig_Info_Flags_Bits; u32]
|
||||||
|
|
||||||
/*
|
/*
|
||||||
ptrace's SECCOMP metadata.
|
ptrace's SECCOMP metadata.
|
||||||
*/
|
*/
|
||||||
PTrace_Seccomp_Metadata
|
PTrace_Seccomp_Metadata :: struct {
|
||||||
{
|
|
||||||
filter_off: u64,
|
filter_off: u64,
|
||||||
flags: u64,
|
flags: u64,
|
||||||
}
|
}
|
||||||
@@ -1153,19 +1168,19 @@ PTrace_Syscall_Info :: struct {
|
|||||||
args: [6]u64,
|
args: [6]u64,
|
||||||
ret_data: u32,
|
ret_data: u32,
|
||||||
},
|
},
|
||||||
};
|
},
|
||||||
};
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
ptrace's results of GET_RSEQ_CONFIGURATION.
|
ptrace's results of GET_RSEQ_CONFIGURATION.
|
||||||
*/
|
*/
|
||||||
PTrace_RSeq_Configuration {
|
PTrace_RSeq_Configuration :: struct {
|
||||||
rseq_abi_pointer: u64,
|
rseq_abi_pointer: u64,
|
||||||
rseq_abi_size: u32,
|
rseq_abi_size: u32,
|
||||||
signature: u32,
|
signature: u32,
|
||||||
flags: u32,
|
flags: u32,
|
||||||
_: u32,
|
_: u32,
|
||||||
};
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Note types for PTRACE_GETREGSET. Mirrors constants in `elf` definition,
|
Note types for PTRACE_GETREGSET. Mirrors constants in `elf` definition,
|
||||||
|
|||||||
Reference in New Issue
Block a user