X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=arch%2Fi386%2Fbits%2Fsignal.h;h=74d9d025a9093f644b1c4f099c94699729e5f052;hb=f5ba2bc9ca84d67f03f2542bfff0525f2f478e4c;hp=8827efda082c6cb48bf02ec0e61a0cd75435ef49;hpb=1355fdca7cb923c93f9011d8e9dcf49e1a67e537;p=musl diff --git a/arch/i386/bits/signal.h b/arch/i386/bits/signal.h index 8827efda..74d9d025 100644 --- a/arch/i386/bits/signal.h +++ b/arch/i386/bits/signal.h @@ -1,6 +1,40 @@ #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; +}; + +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; + unsigned long trapno, err, eip; + unsigned short cs, __csh; + unsigned long eflags, esp_at_signal; + unsigned short ss, __ssh; + struct __fpstate *fpstate; + unsigned long oldmask, cr2; +}; +#endif + struct __siginfo { int si_signo; @@ -44,6 +78,63 @@ struct __siginfo #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 + #define SA_NOCLDSTOP 1 #define SA_NOCLDWAIT 2 #define SA_SIGINFO 4 @@ -53,15 +144,10 @@ 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_HOLD ((void (*)(int)) 2) - #endif #ifdef _GNU_SOURCE @@ -71,6 +157,7 @@ struct __siginfo #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