Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 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 |