+aarch64.ha (1062B)
1 // SPDX-License-Identifier: MPL-2.0 2 // (c) Hare authors <https://harelang.org> 3 4 export type siginfo = struct { 5 si_signo: int, 6 si_errno: int, 7 si_code: int, 8 si_pid: pid_t, 9 si_uid: uid_t, 10 si_status: int, 11 si_addr: *opaque, 12 si_value: sigval, 13 _reason: union { 14 _fault: struct { 15 _trapno: int, 16 }, 17 _timer: struct { 18 _timerid: int, 19 _overrun: int, 20 }, 21 _mesgq: struct { 22 _mqd: int, 23 }, 24 _poll: struct { 25 _band: i64, 26 }, 27 __spare__: struct { 28 __spare1__: i64, 29 __spare2__: [7]int, 30 }, 31 }, 32 }; 33 34 export type ucontext = struct { 35 uc_sigmask: sigset, 36 uc_mcontext: mcontext, 37 uc_link: *ucontext, 38 uc_stack: stack_t, 39 uc_flags: int, 40 __spare__: [4]int, 41 }; 42 43 export type mcontext = struct { 44 mc_gpregs: gpregs, 45 mc_fpregs: fpregs, 46 mc_flags: int, 47 mc_pad: int, 48 mc_spare: [8]u64, 49 }; 50 51 export type gpregs = struct { 52 gp_x: [30]u64, 53 gp_lr: u64, 54 gp_sp: u64, 55 gp_elr: u64, 56 gp_spsr: u64, 57 gp_pad: int, 58 }; 59 60 export type fpregs = struct { 61 fp_q: [64]u64, // XXX: Contains 32 128-bit integers 62 fp_sr: u32, 63 fp_cr: u32, 64 fp_flags: int, 65 fp_pad: int, 66 };