api: ifdef out some posix options
[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 #ifdef X_PS
15 C(POSIX_SPAWN_SETSCHEDPARAM)
16 C(POSIX_SPAWN_SETSCHEDULER)
17 #endif
18 C(POSIX_SPAWN_SETSIGDEF)
19 C(POSIX_SPAWN_SETSIGMASK)
20 {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;}
21 {int(*p)(posix_spawn_file_actions_t*,int) = posix_spawn_file_actions_addclose;}
22 {int(*p)(posix_spawn_file_actions_t*,int,int) = posix_spawn_file_actions_adddup2;}
23 {int(*p)(posix_spawn_file_actions_t*restrict,int,const char*restrict,int,mode_t) = posix_spawn_file_actions_addopen;}
24 {int(*p)(posix_spawn_file_actions_t*) = posix_spawn_file_actions_destroy;}
25 {int(*p)(posix_spawn_file_actions_t*) = posix_spawn_file_actions_init;}
26 {int(*p)(posix_spawnattr_t*) = posix_spawnattr_destroy;}
27 {int(*p)(const posix_spawnattr_t*restrict,short*restrict) = posix_spawnattr_getflags;}
28 {int(*p)(const posix_spawnattr_t*restrict,pid_t*restrict) = posix_spawnattr_getpgroup;}
29 {int(*p)(posix_spawnattr_t*) = posix_spawnattr_init;}
30 {int(*p)(posix_spawnattr_t*,short) = posix_spawnattr_setflags;}
31 {int(*p)(posix_spawnattr_t*,pid_t) = posix_spawnattr_setpgroup;}
32 {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;}
33 }
34 #include <signal.h>
35 static void g()
36 {
37 {int(*p)(const posix_spawnattr_t*restrict,sigset_t*restrict) = posix_spawnattr_getsigdefault;}
38 {int(*p)(const posix_spawnattr_t*restrict,sigset_t*restrict) = posix_spawnattr_getsigmask;}
39 {int(*p)(posix_spawnattr_t*restrict,const sigset_t*restrict) = posix_spawnattr_setsigdefault;}
40 {int(*p)(posix_spawnattr_t*restrict,const sigset_t*restrict) = posix_spawnattr_setsigmask;}
41 }
42 #ifdef X_PS
43 #include <sched.h>
44 static void h()
45 {
46 {int(*p)(const posix_spawnattr_t*restrict,struct sched_param*restrict) = posix_spawnattr_getschedparam;}
47 {int(*p)(const posix_spawnattr_t*restrict,int*restrict) = posix_spawnattr_getschedpolicy;}
48 {int(*p)(posix_spawnattr_t*restrict,const struct sched_param*restrict) = posix_spawnattr_setschedparam;}
49 {int(*p)(posix_spawnattr_t*,int) = posix_spawnattr_setschedpolicy;}
50 }
51 #endif