extern structstd.c.netbsd._ksiginfo[src]

Fields

signo: i32
code: i32
errno: i32
reason: extern union {
    rt: extern struct {
        pid: pid_t,
        uid: uid_t,
        value: sigval_t,
    },
    child: extern struct {
        pid: pid_t,
        uid: uid_t,
        status: i32,
        utime: clock_t,
        stime: clock_t,
    },
    fault: extern struct {
        addr: *allowzero anyopaque,
        trap: i32,
        trap2: i32,
        trap3: i32,
    },
    poll: extern struct {
        band: i32,
        fd: i32,
    },
    syscall: extern struct {
        sysnum: i32,
        retval: [2]i32,
        @"error": i32,
        args: [8]u64,
    },
    ptrace_state: extern struct {
        pe_report_event: i32,
        option: extern union {
            pe_other_pid: pid_t,
            pe_lwp: lwpid_t,
        },
    },
} align(@sizeOf(usize))

Source Code

Source code
pub const _ksiginfo = extern struct {
    signo: i32,
    code: i32,
    errno: i32,
    // 64bit architectures insert 4bytes of padding here, this is done by
    // correctly aligning the reason field
    reason: extern union {
        rt: extern struct {
            pid: pid_t,
            uid: uid_t,
            value: sigval_t,
        },
        child: extern struct {
            pid: pid_t,
            uid: uid_t,
            status: i32,
            utime: clock_t,
            stime: clock_t,
        },
        fault: extern struct {
            addr: *allowzero anyopaque,
            trap: i32,
            trap2: i32,
            trap3: i32,
        },
        poll: extern struct {
            band: i32,
            fd: i32,
        },
        syscall: extern struct {
            sysnum: i32,
            retval: [2]i32,
            @"error": i32,
            args: [8]u64,
        },
        ptrace_state: extern struct {
            pe_report_event: i32,
            option: extern union {
                pe_other_pid: pid_t,
                pe_lwp: lwpid_t,
            },
        },
    } align(@sizeOf(usize)),
}