3 #define F(t,n) {t *y = &x.n;}
4 #define C(n) switch(n){case n:;}
8 {void(*x)(int) = SIG_DFL;}
9 {void(*x)(int) = SIG_ERR;}
10 {void(*x)(int) = SIG_IGN;}
11 #ifdef _POSIX_C_SOURCE
12 {void(*x)(int) = SIG_HOLD;}
24 F(union sigval,sigev_value)
25 {void (**y)(union sigval) = &x.sigev_notify_function;}
26 F(pthread_attr_t*,sigev_notify_attributes)
45 #ifdef _POSIX_C_SOURCE
70 {void (**y)(int) = &x.sa_handler;}
73 {void (**y)(int, siginfo_t *, void *) = &x.sa_sigaction;}
94 F(ucontext_t*,uc_link)
95 F(sigset_t,uc_sigmask)
97 F(mcontext_t,uc_mcontext)
116 F(union sigval,si_value)
154 {int(*p)(pid_t,int) = kill;}
155 {int(*p)(pid_t,int) = killpg;}
156 {void(*p)(const siginfo_t*,const char*) = psiginfo;}
157 {void(*p)(int,const char*) = psignal;}
158 {int(*p)(pthread_t,int) = pthread_kill;}
159 {int(*p)(int,const sigset_t*restrict,sigset_t*restrict) = pthread_sigmask;}
160 {int(*p)(int,const struct sigaction*restrict,struct sigaction*restrict) = sigaction;}
161 {int(*p)(sigset_t*,int) = sigaddset;}
162 {int(*p)(const stack_t*restrict,stack_t*restrict) = sigaltstack;}
163 {int(*p)(sigset_t*,int) = sigdelset;}
164 {int(*p)(sigset_t*) = sigemptyset;}
165 {int(*p)(sigset_t*) = sigfillset;}
166 {int(*p)(int) = sighold;}
167 {int(*p)(int) = sigignore;}
168 {int(*p)(int,int) = siginterrupt;}
169 {int(*p)(const sigset_t*,int) = sigismember;}
170 {int(*p)(int) = sigpause;}
171 {int(*p)(sigset_t*) = sigpending;}
172 {int(*p)(int,const sigset_t*restrict,sigset_t*restrict) = sigprocmask;}
173 {int(*p)(pid_t,int,const union sigval) = sigqueue;}
174 {int(*p)(int) = sigrelse;}
175 {void(*(*p)(int,void(*)(int)))(int) = sigset;}
176 {int(*p)(const sigset_t*) = sigsuspend;}
177 {int(*p)(const sigset_t*restrict,siginfo_t*restrict,const struct timespec*restrict) = sigtimedwait;}
178 {int(*p)(const sigset_t*restrict,int*restrict) = sigwait;}
179 {int(*p)(const sigset_t*restrict,siginfo_t*restrict) = sigwaitinfo;}
181 {int(*p)(int) = raise;}
182 {void(*(*p)(int,void(*)(int)))(int) = signal;}