X-Git-Url: http://nsz.repo.hu/git/?p=musl;a=blobdiff_plain;f=arch%2Fx86_64%2Fbits%2Fsignal.h;h=cfe7dbbcdbc5beee01dd9cc4f310b5b067276d07;hp=02c54d5aafea1fb10145dcdf8f26d3caf80abffa;hb=65b98213e4a12997a519e34695250d9f3a4d6bc7;hpb=1e12632591ab98a6ea3af8680716c28282552981 diff --git a/arch/x86_64/bits/signal.h b/arch/x86_64/bits/signal.h index 02c54d5a..cfe7dbbc 100644 --- a/arch/x86_64/bits/signal.h +++ b/arch/x86_64/bits/signal.h @@ -1,53 +1,26 @@ -struct __siginfo -{ - int si_signo; - int si_errno; - int si_code; - union - { - int __pad[(128 - 4*sizeof(int)) / sizeof(int)]; - struct { - pid_t si_pid; - uid_t si_uid; - } __kill; - struct { - timer_t si_timerid; - int si_overrun; - char __pad[sizeof(uid_t) - sizeof(int)]; - union sigval si_sigval; - int si_private; - } __timer; - struct { - pid_t si_pid; - uid_t si_uid; - union sigval si_sigval; - } __rt; - struct { - pid_t si_pid; - uid_t si_uid; - int si_status; - clock_t si_utime; - clock_t si_stime; - } __sigchld; - struct { - void *si_addr; - short addr_lsb; - } __sigfault; - struct { - long si_band; - int si_fd; - } __sigpoll; - } __si_fields; +#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) + +struct __fpstate { + unsigned long __x[4]; + unsigned char __y[384]; + unsigned long __z[12]; }; -#define si_pid __si_fields.__sigchld.si_pid -#define si_uid __si_fields.__sigchld.si_uid -#define si_status __si_fields.__sigchld.si_status -#define si_utime __si_fields.__sigchld.si_utime -#define si_stime __si_fields.__sigchld.si_stime -#define si_value __si_fields.__rt.si_sigval -#define si_addr __si_fields.__sigfault.si_addr -#define si_band __si_fields.__sigpoll.si_band +typedef struct { + unsigned long __gregs[23]; + void *__fpregs; + unsigned long __reserved1[8]; +} mcontext_t; + +typedef struct __ucontext { + unsigned long uc_flags; + struct __ucontext *uc_link; + stack_t uc_stack; + mcontext_t uc_mcontext; + sigset_t uc_sigmask; + struct __fpstate __fpregs_mem; +} ucontext_t; #define SA_NOCLDSTOP 1 #define SA_NOCLDWAIT 2 @@ -58,19 +31,19 @@ struct __siginfo #define SA_RESETHAND 0x80000000 #define SA_RESTORER 0x04000000 -#define SS_ONSTACK 1 -#define SS_DISABLE 2 - -#define SIG_BLOCK 0 -#define SIG_UNBLOCK 1 -#define SIG_SETMASK 2 - -#define SIG_ERR ((void (*)(int))-1) -#define SIG_DFL ((void (*)(int)) 0) -#define SIG_IGN ((void (*)(int)) 1) -#define SIG_HOLD ((void (*)(int)) 2) - +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +struct sigcontext { + unsigned long r8, r9, r10, r11, r12, r13, r14, r15; + unsigned long rdi, rsi, rbp, rbx, rdx, rax, rcx, rsp, rip, eflags; + unsigned short cs, gs, fs, __pad0; + unsigned long err, trapno, oldmask, cr2; + struct __fpstate *fpstate; + unsigned long __reserved1[8]; +}; #define NSIG 64 +#endif + +#endif #define SIGHUP 1 #define SIGINT 2 @@ -105,3 +78,5 @@ struct __siginfo #define SIGPWR 30 #define SIGSYS 31 #define SIGUNUSED SIGSYS + +#define _NSIG 65