1 /* 2 * Copyright (C) 2004-2006 Atmel Corporation 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License version 2 as 6 * published by the Free Software Foundation. 7 */ 8 #ifndef _UAPI__ASM_AVR32_SIGNAL_H 9 #define _UAPI__ASM_AVR32_SIGNAL_H 10 11 #include <linux/types.h> 12 13 /* Avoid too many header ordering problems. */ 14 struct siginfo; 15 16 #ifndef __KERNEL__ 17 /* Here we must cater to libcs that poke about in kernel headers. */ 18 19 #define NSIG 32 20 typedef unsigned long sigset_t; 21 22 #endif /* __KERNEL__ */ 23 24 #define SIGHUP 1 25 #define SIGINT 2 26 #define SIGQUIT 3 27 #define SIGILL 4 28 #define SIGTRAP 5 29 #define SIGABRT 6 30 #define SIGIOT 6 31 #define SIGBUS 7 32 #define SIGFPE 8 33 #define SIGKILL 9 34 #define SIGUSR1 10 35 #define SIGSEGV 11 36 #define SIGUSR2 12 37 #define SIGPIPE 13 38 #define SIGALRM 14 39 #define SIGTERM 15 40 #define SIGSTKFLT 16 41 #define SIGCHLD 17 42 #define SIGCONT 18 43 #define SIGSTOP 19 44 #define SIGTSTP 20 45 #define SIGTTIN 21 46 #define SIGTTOU 22 47 #define SIGURG 23 48 #define SIGXCPU 24 49 #define SIGXFSZ 25 50 #define SIGVTALRM 26 51 #define SIGPROF 27 52 #define SIGWINCH 28 53 #define SIGIO 29 54 #define SIGPOLL SIGIO 55 /* 56 #define SIGLOST 29 57 */ 58 #define SIGPWR 30 59 #define SIGSYS 31 60 #define SIGUNUSED 31 61 62 /* These should not be considered constants from userland. */ 63 #define SIGRTMIN 32 64 #define SIGRTMAX (_NSIG-1) 65 66 /* 67 * SA_FLAGS values: 68 * 69 * SA_NOCLDSTOP flag to turn off SIGCHLD when children stop. 70 * SA_NOCLDWAIT flag on SIGCHLD to inhibit zombies. 71 * SA_SIGINFO deliver the signal with SIGINFO structs 72 * SA_ONSTACK indicates that a registered stack_t will be used. 73 * SA_RESTART flag to get restarting signals (which were the default long ago) 74 * SA_NODEFER prevents the current signal from being masked in the handler. 75 * SA_RESETHAND clears the handler when the signal is delivered. 76 * 77 * SA_ONESHOT and SA_NOMASK are the historical Linux names for the Single 78 * Unix names RESETHAND and NODEFER respectively. 79 */ 80 #define SA_NOCLDSTOP 0x00000001 81 #define SA_NOCLDWAIT 0x00000002 82 #define SA_SIGINFO 0x00000004 83 #define SA_RESTORER 0x04000000 84 #define SA_ONSTACK 0x08000000 85 #define SA_RESTART 0x10000000 86 #define SA_NODEFER 0x40000000 87 #define SA_RESETHAND 0x80000000 88 89 #define SA_NOMASK SA_NODEFER 90 #define SA_ONESHOT SA_RESETHAND 91 92 #define MINSIGSTKSZ 2048 93 #define SIGSTKSZ 8192 94 95 #include <asm-generic/signal-defs.h> 96 97 #ifndef __KERNEL__ 98 /* Here we must cater to libcs that poke about in kernel headers. */ 99 100 struct sigaction { 101 union { 102 __sighandler_t _sa_handler; 103 void (*_sa_sigaction)(int, struct siginfo *, void *); 104 } _u; 105 sigset_t sa_mask; 106 unsigned long sa_flags; 107 void (*sa_restorer)(void); 108 }; 109 110 #define sa_handler _u._sa_handler 111 #define sa_sigaction _u._sa_sigaction 112 113 #endif /* __KERNEL__ */ 114 115 typedef struct sigaltstack { 116 void __user *ss_sp; 117 int ss_flags; 118 size_t ss_size; 119 } stack_t; 120 121 #endif /* _UAPI__ASM_AVR32_SIGNAL_H */ 122