1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320
|
macro-constant SIG_DFL {void(*)(int)}
macro-constant SIG_ERR {void(*)(int)}
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX && !defined POSIX2008
macro-constant SIG_HOLD {void(*)(int)}
#endif
macro-constant SIG_IGN {void(*)(int)}
type sig_atomic_t
#if !defined ISO && !defined ISO99 && !defined ISO11
type sigset_t
#endif
#if !defined ISO && !defined ISO99 && !defined ISO11 && !defined POSIX
type pid_t
#elif defined POSIX
# define pid_t __pid_t
# define uid_t __uid_t
#endif
#if defined XOPEN2K8 || defined POSIX2008
type size_t
type pthread_t
type uid_t
type mcontext_t
type ucontext_t
element ucontext_t {ucontext_t*} uc_link
// Bug 21634: uc_sigmask has wrong type.
xfail[ia64-linux]-element ucontext_t sigset_t uc_sigmask
element ucontext_t stack_t uc_stack
// Bug 21635: uc_mcontext has wrong type.
xfail[powerpc32-linux]-element ucontext_t mcontext_t uc_mcontext
type {struct timespec}
element {struct timespec} __time_t tv_sec
// Bug 16437: tv_nsec has wrong type.
xfail[x86_64-x32-linux]-element {struct timespec} long tv_nsec
#endif
#if defined POSIX || defined UNIX98 || defined XOPEN2K || defined XOPEN2K8 || defined POSIX2008
element {union sigval} int sival_int
element {union sigval} {void*} sival_ptr
type {struct sigevent}
// Test the elements of the sigevent_t structure.
element {struct sigevent} int sigev_notify
element {struct sigevent} int sigev_signo
element {struct sigevent} {union sigval} sigev_value
element {struct sigevent} {void(*} sigev_notify_function )(union sigval)
element {struct sigevent} {pthread_attr_t*} sigev_notify_attributes
constant SIGEV_NONE
constant SIGEV_SIGNAL
constant SIGEV_THREAD
type {union sigval}
macro SIGRTMIN
macro SIGRTMAX
#endif
macro-int-constant SIGABRT {int} > 0
macro-int-constant SIGFPE {int} > 0
macro-int-constant SIGILL {int} > 0
macro-int-constant SIGINT {int} > 0
macro-int-constant SIGSEGV {int} > 0
macro-int-constant SIGTERM {int} > 0
function void (*signal (int, void(*)(int)))(int)
function int raise (int)
#if !defined ISO && !defined ISO99 && !defined ISO11
macro-int-constant SIGALRM {int} > 0
macro-int-constant SIGHUP {int} > 0
macro-int-constant SIGKILL {int} > 0
macro-int-constant SIGPIPE {int} > 0
macro-int-constant SIGQUIT {int} > 0
macro-int-constant SIGUSR1 {int} > 0
macro-int-constant SIGUSR2 {int} > 0
macro-int-constant SIGCHLD {int} > 0
macro-int-constant SIGCONT {int} > 0
macro-int-constant SIGSTOP {int} > 0
macro-int-constant SIGTSTP {int} > 0
macro-int-constant SIGTTIN {int} > 0
macro-int-constant SIGTTOU {int} > 0
# ifndef XPG4
macro-int-constant SIGBUS {int} > 0
# endif
# if !defined POSIX && !defined XPG4
macro-int-constant SIGPOLL {int} > 0
macro-int-constant SIGPROF {int} > 0
macro-int-constant SIGSYS {int} > 0
# endif
# if !defined POSIX && !defined XPG4 && !defined POSIX2008
macro-int-constant SIGTRAP {int} > 0
# endif
# if !defined POSIX && !defined XPG4
macro-int-constant SIGURG {int} > 0
macro-int-constant SIGVTALRM {int} > 0
macro-int-constant SIGXCPU {int} > 0
macro-int-constant SIGXFSZ {int} > 0
# endif
type {struct sigaction}
element {struct sigaction} {void(*} sa_handler )(int)
element {struct sigaction} sigset_t sa_mask
element {struct sigaction} int sa_flags
# ifndef XPG4
element {struct sigaction} {void(*} sa_sigaction )(int, siginfo_t*, void*)
# endif
constant SA_NOCLDSTOP
# ifndef XPG4
// Bug 23089: hurd: missing siginfo support.
xfail[i386-gnu]-constant SA_SIGINFO
# endif
constant SIG_BLOCK
constant SIG_UNBLOCK
constant SIG_SETMASK
# if !defined XPG4 && !defined POSIX && !defined POSIX2008
constant SA_ONSTACK
# endif
# if !defined XPG4 && !defined POSIX
constant SA_RESETHAND
constant SA_RESTART
// Bug 23090: hurd: missing SA_NOCLDWAIT support.
xfail[i386-gnu]-constant SA_NOCLDWAIT
constant SA_NODEFER
# endif
# if !defined XPG4 && !defined POSIX && !defined POSIX2008
constant SS_ONSTACK
constant SS_DISABLE
constant MINSIGSTKSZ
constant SIGSTKSZ
# endif
# if !defined XPG4 && !defined POSIX
type ucontext_t
element ucontext_t {ucontext_t*} uc_link
// Bug 21634: uc_sigmask has wrong type.
xfail[ia64-linux]-element ucontext_t sigset_t uc_sigmask
element ucontext_t stack_t uc_stack
// Bug 21635: uc_mcontext has wrong type.
xfail[powerpc32-linux]-element ucontext_t mcontext_t uc_mcontext
type stack_t
element stack_t {void*} ss_sp
element stack_t size_t ss_size
element stack_t int ss_flags
# if !defined XOPEN2K8 && !defined POSIX2008
type {struct sigstack}
element {struct sigstack} int ss_onstack
element {struct sigstack} {void*} ss_sp
# endif
# endif
# ifndef XPG4
type siginfo_t
element siginfo_t int si_signo
# if !defined POSIX && !defined POSIX2008
element siginfo_t int si_errno
# endif
element siginfo_t int si_code
# ifndef POSIX
element siginfo_t pid_t si_pid
element siginfo_t uid_t si_uid
element siginfo_t {void*} si_addr
element siginfo_t int si_status
// Bug 23821: si_band has type int on sparc64.
xfail[sparc64-linux]-element siginfo_t long si_band
# endif
# ifndef XPG42
element siginfo_t {union sigval} si_value
# endif
# endif
# if !defined POSIX && !defined XPG4
constant ILL_ILLOPC
constant ILL_ILLOPN
constant ILL_ILLADR
constant ILL_ILLTRP
constant ILL_PRVOPC
constant ILL_PRVREG
constant ILL_COPROC
constant ILL_BADSTK
constant FPE_INTDIV
constant FPE_INTOVF
constant FPE_FLTDIV
constant FPE_FLTOVF
constant FPE_FLTUND
constant FPE_FLTRES
constant FPE_FLTINV
constant FPE_FLTSUB
constant SEGV_MAPERR
constant SEGV_ACCERR
constant BUS_ADRALN
constant BUS_ADRERR
constant BUS_OBJERR
constant CLD_EXITED
constant CLD_KILLED
constant CLD_DUMPED
constant CLD_TRAPPED
constant CLD_STOPPED
constant CLD_CONTINUED
constant POLL_IN
constant POLL_OUT
constant POLL_MSG
constant POLL_ERR
constant POLL_PRI
constant POLL_HUP
# endif
# if !defined POSIX && !defined XPG4 && !defined POSIX2008
constant TRAP_BRKPT
constant TRAP_TRACE
# endif
# if !defined XPG4 && !defined XPG42
constant SI_USER
constant SI_QUEUE
constant SI_TIMER
constant SI_ASYNCIO
constant SI_MESGQ
# endif
# if !defined XPG4 && !defined XOPEN2K8 && !defined POSIX && !defined POSIX2008
function void (*bsd_signal (int, void(*)(int)))(int)
# endif
function int kill (pid_t, int)
# if !defined XPG4 && !defined POSIX && !defined POSIX2008
function int killpg (pid_t, int)
# endif
# if !defined XPG4 && !defined XPG42
function int pthread_kill (pthread_t, int)
function int pthread_sigmask (int, const sigset_t*, sigset_t*)
# endif
function int sigaction (int, const struct sigaction*, struct sigaction*)
function int sigaddset (sigset_t*, int)
# if !defined XPG4 && !defined POSIX && !defined POSIX2008
function int sigaltstack (const stack_t*, stack_t*)
# endif
function int sigdelset (sigset_t*, int)
function int sigemptyset (sigset_t*)
function int sigfillset (sigset_t*)
# if !defined XPG4 && !defined POSIX && !defined POSIX2008
function int sighold (int)
function int sigignore (int)
function int siginterrupt (int, int)
# endif
function int sigismember (const sigset_t*, int)
#if !defined XPG4 && !defined POSIX && !defined POSIX2008
function int sigpause (int)
# endif
function int sigpending (sigset_t*)
function int sigprocmask (int, const sigset_t*, sigset_t*)
# if !defined XPG4 && !defined XPG42
function int sigqueue (pid_t, int, const union sigval)
# endif
# if !defined XPG4 && !defined POSIX && !defined POSIX2008
function int sigrelse (int)
function void (*sigset (int, void(*)(int)))(int)
# endif
# if defined XPG42 || defined UNIX98
function int sigstack (struct sigstack*, struct sigstack*)
# endif
function int sigsuspend (const sigset_t*)
# if !defined XPG4 && !defined XPG42
function int sigtimedwait (const sigset_t*, siginfo_t*, const struct timespec*)
# endif
# if !defined XPG4 && !defined XPG42
function int sigwait (const sigset_t*, int*)
function int sigwaitinfo (const sigset_t*, siginfo_t*)
# endif
# if defined XOPEN2K8 || defined POSIX2008
function void psiginfo (const siginfo_t*, const char*)
function void psignal (int, const char*)
# endif
// The following expressions are not entirely correct but the current
// poorfnmatch implementation doesn't grok the right form.
allow sa_*
allow SA_*
# ifndef XPG4
allow si_*
allow SI_*
# endif
# if !defined XPG4 && !defined XPG42
allow sigev_*
allow SIGEV_*
allow sival_*
# endif
# if !defined POSIX && !defined XPG4 && !defined XPG42
allow uc_*
# endif
# if !defined POSIX && !defined XPG4
allow BUS_*
allow CLD_*
allow FPE_*
allow ILL_*
allow POLL_*
allow SEGV_*
# endif
# if !defined POSIX && !defined XPG4 && !defined POSIX2008
allow SS_*
allow SV_*
allow TRAP_*
allow ss_*
allow sv_*
# endif
allow *_t
allow-header time.h
#endif
allow SIG[ABCDEFGHIJKLMNOPQRSTUVWXYZ]*
allow SIG_*
|