X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=src%2Fapi%2Fspawn.c;h=94511eaac5658a4543fe5840848c6d6a3162e27f;hb=87b251552f58323aa76828de607e8e335f3c8467;hp=1f90e74c3df9a2eb6735057e0609b2797393fead;hpb=b80923949db9c815c5a4575147d84b8290fbe4d9;p=libc-test diff --git a/src/api/spawn.c b/src/api/spawn.c index 1f90e74..94511ea 100644 --- a/src/api/spawn.c +++ b/src/api/spawn.c @@ -1,4 +1,5 @@ #include +#include "options.h" #define T(t) (t*)0; #define C(n) switch(n){case n:;} static void f() @@ -11,37 +12,41 @@ T(sigset_t) T(struct sched_param) C(POSIX_SPAWN_RESETIDS) C(POSIX_SPAWN_SETPGROUP) +#ifdef POSIX_PRIORITY_SCHEDULING C(POSIX_SPAWN_SETSCHEDPARAM) C(POSIX_SPAWN_SETSCHEDULER) +#endif C(POSIX_SPAWN_SETSIGDEF) C(POSIX_SPAWN_SETSIGMASK) -int(*p_posix_spawn)(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; -int(*p_posix_spawn_file_actions_addclose)(posix_spawn_file_actions_t*,int) = posix_spawn_file_actions_addclose; -int(*p_posix_spawn_file_actions_adddup2)(posix_spawn_file_actions_t*,int,int) = posix_spawn_file_actions_adddup2; -int(*p_posix_spawn_file_actions_addopen)(posix_spawn_file_actions_t*restrict,int,const char*restrict,int,mode_t) = posix_spawn_file_actions_addopen; -int(*p_posix_spawn_file_actions_destroy)(posix_spawn_file_actions_t*) = posix_spawn_file_actions_destroy; -int(*p_posix_spawn_file_actions_init)(posix_spawn_file_actions_t*) = posix_spawn_file_actions_init; -int(*p_posix_spawnattr_destroy)(posix_spawnattr_t*) = posix_spawnattr_destroy; -int(*p_posix_spawnattr_getflags)(const posix_spawnattr_t*restrict,short*restrict) = posix_spawnattr_getflags; -int(*p_posix_spawnattr_getpgroup)(const posix_spawnattr_t*restrict,pid_t*restrict) = posix_spawnattr_getpgroup; -int(*p_posix_spawnattr_init)(posix_spawnattr_t*) = posix_spawnattr_init; -int(*p_posix_spawnattr_setflags)(posix_spawnattr_t*,short) = posix_spawnattr_setflags; -int(*p_posix_spawnattr_setpgroup)(posix_spawnattr_t*,pid_t) = posix_spawnattr_setpgroup; -int(*p_posix_spawnp)(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; +{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;} +{int(*p)(posix_spawn_file_actions_t*,int) = posix_spawn_file_actions_addclose;} +{int(*p)(posix_spawn_file_actions_t*,int,int) = posix_spawn_file_actions_adddup2;} +{int(*p)(posix_spawn_file_actions_t*restrict,int,const char*restrict,int,mode_t) = posix_spawn_file_actions_addopen;} +{int(*p)(posix_spawn_file_actions_t*) = posix_spawn_file_actions_destroy;} +{int(*p)(posix_spawn_file_actions_t*) = posix_spawn_file_actions_init;} +{int(*p)(posix_spawnattr_t*) = posix_spawnattr_destroy;} +{int(*p)(const posix_spawnattr_t*restrict,short*restrict) = posix_spawnattr_getflags;} +{int(*p)(const posix_spawnattr_t*restrict,pid_t*restrict) = posix_spawnattr_getpgroup;} +{int(*p)(posix_spawnattr_t*) = posix_spawnattr_init;} +{int(*p)(posix_spawnattr_t*,short) = posix_spawnattr_setflags;} +{int(*p)(posix_spawnattr_t*,pid_t) = posix_spawnattr_setpgroup;} +{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;} } #include static void g() { -int(*p_posix_spawnattr_getsigdefault)(const posix_spawnattr_t*restrict,sigset_t*restrict) = posix_spawnattr_getsigdefault; -int(*p_posix_spawnattr_getsigmask)(const posix_spawnattr_t*restrict,sigset_t*restrict) = posix_spawnattr_getsigmask; -int(*p_posix_spawnattr_setsigdefault)(posix_spawnattr_t*restrict,const sigset_t*restrict) = posix_spawnattr_setsigdefault; -int(*p_posix_spawnattr_setsigmask)(posix_spawnattr_t*restrict,const sigset_t*restrict) = posix_spawnattr_setsigmask; +{int(*p)(const posix_spawnattr_t*restrict,sigset_t*restrict) = posix_spawnattr_getsigdefault;} +{int(*p)(const posix_spawnattr_t*restrict,sigset_t*restrict) = posix_spawnattr_getsigmask;} +{int(*p)(posix_spawnattr_t*restrict,const sigset_t*restrict) = posix_spawnattr_setsigdefault;} +{int(*p)(posix_spawnattr_t*restrict,const sigset_t*restrict) = posix_spawnattr_setsigmask;} } +#ifdef POSIX_PRIORITY_SCHEDULING #include static void h() { -int(*p_posix_spawnattr_getschedparam)(const posix_spawnattr_t*restrict,struct sched_param*restrict) = posix_spawnattr_getschedparam; -int(*p_posix_spawnattr_getschedpolicy)(const posix_spawnattr_t*restrict,int*restrict) = posix_spawnattr_getschedpolicy; -int(*p_posix_spawnattr_setschedparam)(posix_spawnattr_t*restrict,const struct sched_param*restrict) = posix_spawnattr_setschedparam; -int(*p_posix_spawnattr_setschedpolicy)(posix_spawnattr_t*,int) = posix_spawnattr_setschedpolicy; +{int(*p)(const posix_spawnattr_t*restrict,struct sched_param*restrict) = posix_spawnattr_getschedparam;} +{int(*p)(const posix_spawnattr_t*restrict,int*restrict) = posix_spawnattr_getschedpolicy;} +{int(*p)(posix_spawnattr_t*restrict,const struct sched_param*restrict) = posix_spawnattr_setschedparam;} +{int(*p)(posix_spawnattr_t*,int) = posix_spawnattr_setschedpolicy;} } +#endif