1 #include <sys/wait.h> 2 #define T(t) (t*)0; 3 #define F(t,n) {t *y = &x.n;} 4 #define C(n) switch(n){case n:;} f()5static void f() 6 { 7 T(id_t) 8 T(pid_t) 9 T(siginfo_t) 10 C(WEXITSTATUS(0)) 11 C(WIFEXITED(0)) 12 C(WIFSIGNALED(0)) 13 C(WIFSTOPPED(0)) 14 C(WNOHANG) 15 C(WSTOPSIG(0)) 16 C(WTERMSIG(0)) 17 C(WUNTRACED) 18 #ifdef _XOPEN_SOURCE 19 C(WCONTINUED) 20 C(WIFCONTINUED(0)) 21 #endif 22 C(WEXITED) 23 C(WNOWAIT) 24 C(WSTOPPED) 25 {idtype_t x = P_ALL;} 26 {idtype_t x = P_PGID;} 27 {idtype_t x = P_PID;} 28 {pid_t(*p)(int*) = wait;} 29 {int(*p)(idtype_t,id_t,siginfo_t*,int) = waitid;} 30 {pid_t(*p)(pid_t,int*,int) = waitpid;} 31 } 32