api: shorten function checks (and put each into a different scope)
[libc-test] / src / api / spawn.c
1 #include <spawn.h>
2 #define T(t) (t*)0;
3 #define C(n) switch(n){case n:;}
4 static void f()
5 {
6 T(posix_spawnattr_t)
7 T(posix_spawn_file_actions_t)
8 T(mode_t)
9 T(pid_t)
10 T(sigset_t)
11 T(struct sched_param)
12 C(POSIX_SPAWN_RESETIDS)
13 C(POSIX_SPAWN_SETPGROUP)
14 C(POSIX_SPAWN_SETSCHEDPARAM)
15 C(POSIX_SPAWN_SETSCHEDULER)
16 C(POSIX_SPAWN_SETSIGDEF)
17 C(POSIX_SPAWN_SETSIGMASK)
18 {int(*p)(pid_t*restrict,const char*restrict,const posix_spawn_file_actions_t*,const posix_spawnattr_t*restrict,char*const[restrict],char*const[restrict]) = posix_spawn;}
19 {int(*p)(posix_spawn_file_actions_t*,int) = posix_spawn_file_actions_addclose;}
20 {int(*p)(posix_spawn_file_actions_t*,int,int) = posix_spawn_file_actions_adddup2;}
21 {int(*p)(posix_spawn_file_actions_t*restrict,int,const char*restrict,int,mode_t) = posix_spawn_file_actions_addopen;}
22 {int(*p)(posix_spawn_file_actions_t*) = posix_spawn_file_actions_destroy;}
23 {int(*p)(posix_spawn_file_actions_t*) = posix_spawn_file_actions_init;}
24 {int(*p)(posix_spawnattr_t*) = posix_spawnattr_destroy;}
25 {int(*p)(const posix_spawnattr_t*restrict,short*restrict) = posix_spawnattr_getflags;}
26 {int(*p)(const posix_spawnattr_t*restrict,pid_t*restrict) = posix_spawnattr_getpgroup;}
27 {int(*p)(posix_spawnattr_t*) = posix_spawnattr_init;}
28 {int(*p)(posix_spawnattr_t*,short) = posix_spawnattr_setflags;}
29 {int(*p)(posix_spawnattr_t*,pid_t) = posix_spawnattr_setpgroup;}
30 {int(*p)(pid_t*restrict,const char*restrict,const posix_spawn_file_actions_t*,const posix_spawnattr_t*restrict,char*const[restrict],char*const[restrict]) = posix_spawnp;}
31 }
32 #include <signal.h>
33 static void g()
34 {
35 {int(*p)(const posix_spawnattr_t*restrict,sigset_t*restrict) = posix_spawnattr_getsigdefault;}
36 {int(*p)(const posix_spawnattr_t*restrict,sigset_t*restrict) = posix_spawnattr_getsigmask;}
37 {int(*p)(posix_spawnattr_t*restrict,const sigset_t*restrict) = posix_spawnattr_setsigdefault;}
38 {int(*p)(posix_spawnattr_t*restrict,const sigset_t*restrict) = posix_spawnattr_setsigmask;}
39 }
40 #include <sched.h>
41 static void h()
42 {
43 {int(*p)(const posix_spawnattr_t*restrict,struct sched_param*restrict) = posix_spawnattr_getschedparam;}
44 {int(*p)(const posix_spawnattr_t*restrict,int*restrict) = posix_spawnattr_getschedpolicy;}
45 {int(*p)(posix_spawnattr_t*restrict,const struct sched_param*restrict) = posix_spawnattr_setschedparam;}
46 {int(*p)(posix_spawnattr_t*,int) = posix_spawnattr_setschedpolicy;}
47 }