Pull percpureserve into release branch
[linux-2.6] / arch / sparc64 / solaris / signal.h
1 /* $Id: signal.h,v 1.3 1998/04/12 06:20:33 davem Exp $
2  * signal.h: Signal emulation for Solaris
3  *
4  * Copyright (C) 1997 Jakub Jelinek (jj@sunsite.mff.cuni.cz)
5  */
6     
7 #define SOLARIS_SIGHUP          1
8 #define SOLARIS_SIGINT          2
9 #define SOLARIS_SIGQUIT         3
10 #define SOLARIS_SIGILL          4
11 #define SOLARIS_SIGTRAP         5
12 #define SOLARIS_SIGIOT          6
13 #define SOLARIS_SIGEMT          7
14 #define SOLARIS_SIGFPE          8
15 #define SOLARIS_SIGKILL         9
16 #define SOLARIS_SIGBUS          10
17 #define SOLARIS_SIGSEGV         11
18 #define SOLARIS_SIGSYS          12
19 #define SOLARIS_SIGPIPE         13
20 #define SOLARIS_SIGALRM         14
21 #define SOLARIS_SIGTERM         15
22 #define SOLARIS_SIGUSR1         16
23 #define SOLARIS_SIGUSR2         17
24 #define SOLARIS_SIGCLD          18
25 #define SOLARIS_SIGPWR          19
26 #define SOLARIS_SIGWINCH        20
27 #define SOLARIS_SIGURG          21
28 #define SOLARIS_SIGPOLL         22
29 #define SOLARIS_SIGSTOP         23
30 #define SOLARIS_SIGTSTP         24
31 #define SOLARIS_SIGCONT         25
32 #define SOLARIS_SIGTTIN         26
33 #define SOLARIS_SIGTTOU         27
34 #define SOLARIS_SIGVTALRM       28
35 #define SOLARIS_SIGPROF         29
36 #define SOLARIS_SIGXCPU         30
37 #define SOLARIS_SIGXFSZ         31
38 #define SOLARIS_SIGWAITING      32
39 #define SOLARIS_SIGLWP          33
40 #define SOLARIS_SIGFREEZE       34
41 #define SOLARIS_SIGTHAW         35
42 #define SOLARIS_SIGCANCEL       36
43 #define SOLARIS_SIGRTMIN        37
44 #define SOLARIS_SIGRTMAX        44
45 #define SOLARIS_NSIGNALS        44
46
47
48 #define SOLARIS_SA_ONSTACK      1
49 #define SOLARIS_SA_RESETHAND    2
50 #define SOLARIS_SA_RESTART      4
51 #define SOLARIS_SA_SIGINFO      8
52 #define SOLARIS_SA_NODEFER      16
53 #define SOLARIS_SA_NOCLDWAIT    0x10000
54 #define SOLARIS_SA_NOCLDSTOP    0x20000
55
56 struct sol_siginfo {
57         int     si_signo;
58         int     si_code;
59         int     si_errno;
60         union   {
61                 char    pad[128-3*sizeof(int)];
62                 struct { 
63                         s32     _pid;
64                         union {
65                                 struct {
66                                         s32     _uid;
67                                         s32     _value;
68                                 } _kill;
69                                 struct {
70                                         s32     _utime;
71                                         int     _status;
72                                         s32     _stime;
73                                 } _cld;
74                         } _pdata;
75                 } _proc;
76                 struct { /* SIGSEGV, SIGBUS, SIGILL and SIGFPE */
77                         u32     _addr;
78                         int     _trapno;
79                 } _fault;
80                 struct { /* SIGPOLL, SIGXFSZ */
81                         int     _fd;
82                         s32     _band;
83                 } _file;
84         } _data;
85 };
86
87 #define SOLARIS_WUNTRACED       0x04
88 #define SOLARIS_WNOHANG         0x40
89 #define SOLARIS_WEXITED         0x01
90 #define SOLARIS_WTRAPPED        0x02
91 #define SOLARIS_WSTOPPED        WUNTRACED
92 #define SOLARIS_WCONTINUED      0x08
93 #define SOLARIS_WNOWAIT         0x80
94
95 #define SOLARIS_TRAP_BRKPT      1
96 #define SOLARIS_TRAP_TRACE      2
97 #define SOLARIS_CLD_EXITED      1
98 #define SOLARIS_CLD_KILLED      2
99 #define SOLARIS_CLD_DUMPED      3
100 #define SOLARIS_CLD_TRAPPED     4
101 #define SOLARIS_CLD_STOPPED     5
102 #define SOLARIS_CLD_CONTINUED   6
103 #define SOLARIS_POLL_IN         1
104 #define SOLARIS_POLL_OUT        2
105 #define SOLARIS_POLL_MSG        3
106 #define SOLARIS_POLL_ERR        4
107 #define SOLARIS_POLL_PRI        5
108 #define SOLARIS_POLL_HUP        6