| ... | @@ -9,6 +9,8 @@ const gid_t = std.os.linux.gid_t; | ... | @@ -9,6 +9,8 @@ const gid_t = std.os.linux.gid_t; |
| 9 | const pid_t = std.os.linux.pid_t; | 9 | const pid_t = std.os.linux.pid_t; |
| 10 | const sockaddr = linux.sockaddr; | 10 | const sockaddr = linux.sockaddr; |
| 11 | const socklen_t = linux.socklen_t; | 11 | const socklen_t = linux.socklen_t; |
| | 12 | const stack_t = linux.stack_t; |
| | 13 | const sigset_t = linux.sigset_t; |
| 12 | const timespec = std.os.linux.timespec; | 14 | const timespec = std.os.linux.timespec; |
| 13 | | 15 | |
| 14 | pub fn syscall0(number: SYS) usize { | 16 | pub fn syscall0(number: SYS) usize { |
| ... | @@ -235,5 +237,30 @@ pub const Elf_Symndx = u32; | ... | @@ -235,5 +237,30 @@ pub const Elf_Symndx = u32; |
| 235 | | 237 | |
| 236 | pub const VDSO = void; | 238 | pub const VDSO = void; |
| 237 | | 239 | |
| 238 | /// TODO | 240 | pub const mcontext_t = extern struct { |
| 239 | pub const ucontext_t = void; | 241 | gregs: [32]u32 align(8), |
| | 242 | sa0: u32, |
| | 243 | lc0: u32, |
| | 244 | sa1: u32, |
| | 245 | lc1: u32, |
| | 246 | m0: u32, |
| | 247 | m1: u32, |
| | 248 | usr: u32, |
| | 249 | p3_0: u32, |
| | 250 | gp: u32, |
| | 251 | ugp: u32, |
| | 252 | pc: u32, |
| | 253 | cause: u32, |
| | 254 | badva: u32, |
| | 255 | cs0: u32, |
| | 256 | cs1: u32, |
| | 257 | _pad2: u32, |
| | 258 | }; |
| | 259 | |
| | 260 | pub const ucontext_t = extern struct { |
| | 261 | flags: usize, |
| | 262 | link: ?*ucontext_t, |
| | 263 | stack: stack_t, |
| | 264 | mcontext: mcontext_t, |
| | 265 | sigmask: [2]u32, |
| | 266 | }; |