X-Git-Url: http://nsz.repo.hu/git/?p=musl;a=blobdiff_plain;f=arch%2Fi386%2Fbits%2Fsignal.h;h=3caadea2bfd2593649005a88d25387aa264ad2e6;hp=74d9d025a9093f644b1c4f099c94699729e5f052;hb=c72fc23843906e2571e817a62c94cee15648b7dc;hpb=6871fd773dcedbf056317d5d5e87b4859e97c4a4 diff --git a/arch/i386/bits/signal.h b/arch/i386/bits/signal.h index 74d9d025..3caadea2 100644 --- a/arch/i386/bits/signal.h +++ b/arch/i386/bits/signal.h @@ -1,28 +1,14 @@ #if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \ - || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) - -struct __fpstate { - unsigned long __x[7]; - unsigned char __y[80]; - unsigned long __z; + || defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) || defined(_BSD_SOURCE) + +#if defined(_GNU_SOURCE) || defined(_BSD_SOURCE) +struct _fpstate { + unsigned long cw, sw, tag, ipoff, cssel, dataoff, datasel; + struct { + unsigned short significand[4], exponent; + } _st[8]; + unsigned long status; }; - -typedef struct { - unsigned long __gregs[19]; - void *__fpregs; - unsigned long __oldmask, __cr2; -} 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; - -#ifdef _GNU_SOURCE struct sigcontext { unsigned short gs, __gsh, fs, __fsh, es, __esh, ds, __dsh; unsigned long edi, esi, ebp, esp, ebx, edx, ecx, eax; @@ -30,110 +16,28 @@ struct sigcontext { unsigned short cs, __csh; unsigned long eflags, esp_at_signal; unsigned short ss, __ssh; - struct __fpstate *fpstate; + struct _fpstate *fpstate; unsigned long oldmask, cr2; }; +typedef struct { + unsigned gregs[19]; + struct _fpstate *fpregs; + unsigned long oldmask, cr2; +} mcontext_t; +#else +typedef struct { + unsigned __space[22]; +} mcontext_t; #endif -struct __siginfo -{ - int si_signo; - int si_errno; - int si_code; - union - { - char __pad[128 - 3*sizeof(int)]; - struct { - pid_t si_pid; - uid_t si_uid; - union sigval si_sigval; - } __rt; - struct { - unsigned int si_timer1; - unsigned int si_timer2; - } __timer; - 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; - } __sigfault; - struct { - long int si_band; - int si_fd; - } __sigpoll; - } __si_fields; -}; - -#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 - -#define SI_ASYNCNL (-60) -#define SI_TKILL (-6) -#define SI_SIGIO (-5) -#define SI_ASYNCIO (-4) -#define SI_MESGQ (-3) -#define SI_TIMER (-2) -#define SI_QUEUE (-1) -#define SI_USER 0 -#define SI_KERNEL 128 - -#define FPE_INTDIV 1 -#define FPE_INTOVF 2 -#define FPE_FLTDIV 3 -#define FPE_FLTOVF 4 -#define FPE_FLTUNT 5 -#define FPE_FLTRES 6 -#define FPE_FLTINV 7 -#define FPE_FLTSUB 8 - -#define ILL_ILLOPC 1 -#define ILL_ILLOPN 2 -#define ILL_ILLADR 3 -#define ILL_ILLTRP 4 -#define ILL_PRVOPC 5 -#define ILL_PRVREG 6 -#define ILL_COPROC 7 -#define ILL_BADSTK 8 - -#define SEGV_MAPERR 1 -#define SEGV_ACCERR 2 - -#define BUS_ADRALN 1 -#define BUS_ADRERR 2 -#define BUS_OBJERR 3 - -#define CLD_EXITED 1 -#define CLD_KILLED 2 -#define CLD_DUMPED 3 -#define CLD_TRAPPED 4 -#define CLD_STOPPED 5 -#define CLD_CONTINUED 6 - -#if defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE) -#define TRAP_BRKPT 1 -#define TRAP_TRACE 2 -#define POLL_IN 1 -#define POLL_OUT 2 -#define POLL_MSG 3 -#define POLL_ERR 4 -#define POLL_PRI 5 -#define POLL_HUP 6 -#define SS_ONSTACK 1 -#define SS_DISABLE 2 -#define MINSIGSTKSZ 2048 -#define SIGSTKSZ 8192 -#endif +typedef struct __ucontext { + unsigned long uc_flags; + struct __ucontext *uc_link; + stack_t uc_stack; + mcontext_t uc_mcontext; + sigset_t uc_sigmask; + unsigned long __fpregs_mem[28]; +} ucontext_t; #define SA_NOCLDSTOP 1 #define SA_NOCLDWAIT 2 @@ -144,21 +48,8 @@ struct __siginfo #define SA_RESETHAND 0x80000000 #define SA_RESTORER 0x04000000 -#define SIG_BLOCK 0 -#define SIG_UNBLOCK 1 -#define SIG_SETMASK 2 - -#endif - -#ifdef _GNU_SOURCE -#define NSIG 64 #endif -#define SIG_ERR ((void (*)(int))-1) -#define SIG_DFL ((void (*)(int)) 0) -#define SIG_IGN ((void (*)(int)) 1) -#define SIG_HOLD ((void (*)(int)) 2) - #define SIGHUP 1 #define SIGINT 2 #define SIGQUIT 3 @@ -192,3 +83,5 @@ struct __siginfo #define SIGPWR 30 #define SIGSYS 31 #define SIGUNUSED SIGSYS + +#define _NSIG 65