diff options
Diffstat (limited to 'conform')
-rw-r--r-- | conform/conformtest.pl | 3 | ||||
-rw-r--r-- | conform/data/pthread.h-data | 134 | ||||
-rw-r--r-- | conform/data/pwd.h-data | 23 | ||||
-rw-r--r-- | conform/data/regex.h-data | 41 | ||||
-rw-r--r-- | conform/data/sched.h-data | 22 | ||||
-rw-r--r-- | conform/data/search.h-data | 28 |
6 files changed, 250 insertions, 1 deletions
diff --git a/conform/conformtest.pl b/conform/conformtest.pl index 80114dd..8a49474 100644 --- a/conform/conformtest.pl +++ b/conform/conformtest.pl @@ -4,7 +4,8 @@ $CC = "gcc"; $CFLAGS = "-I. '-D__attribute__(x)=' -D_XOPEN_SOURCE=500"; # List of the headers we are testing. -@headers = ("poll.h", "nl_types.h", "ndbm.h", "mqueue.h", "monetary.h", +@headers = ("search.h", "sched.h", "regex.h", "pwd.h", "pthread.h", + "poll.h", "nl_types.h", "ndbm.h", "mqueue.h", "monetary.h", "math.h", "locale.h", "libgen.h", "langinfo.h", "iso646.h", "inttypes.h", "iconv.h", "grp.h", "glob.h", "ftw.h", "fnmatch.h", "fmtmsg.h", "float.h", "fcntl.h", "errno.h", "dlfcn.h", "dirent.h", diff --git a/conform/data/pthread.h-data b/conform/data/pthread.h-data new file mode 100644 index 0000000..63091db --- /dev/null +++ b/conform/data/pthread.h-data @@ -0,0 +1,134 @@ +#ifdef ISO +constant PTHREAD_CANCEL_ASYNCHRONOUS +constant PTHREAD_CANCEL_ENABLE +constant PTHREAD_CANCEL_DEFERRED +constant PTHREAD_CANCEL_DISABLE +constant PTHREAD_CANCELED +constant PTHREAD_COND_INITIALIZER +constant PTHREAD_CREATE_DETACHED +constant PTHREAD_CREATE_JOINABLE +constant PTHREAD_EXPLICIT_SCHED +constant PTHREAD_INHERIT_SCHED +constant PTHREAD_ONCE_INIT +constant PTHREAD_PRIO_INHERIT +constant PTHREAD_PRIO_NONE +constant PTHREAD_PRIO_PROTECT +constant PTHREAD_PROCESS_SHARED +constant PTHREAD_PROCESS_PRIVATE +constant PTHREAD_SCOPE_PROCESS +constant PTHREAD_SCOPE_SYSTEM +# ifndef POSIX +constant PTHREAD_MUTEX_DEFAULT +constant PTHREAD_MUTEX_ERRORCHECK +constant PTHREAD_MUTEX_NORMAL +constant PTHREAD_MUTEX_INITIALIZER +constant PTHREAD_MUTEX_RECURSIVE +constant PTHREAD_RWLOCK_INITILIZER +# endif + +type pthread_attr_t +type pthread_cond_t +type pthread_condattr_t +type pthread_key_t +type pthread_mutex_t +type pthread_mutexattr_t +type pthread_once_t +type pthread_rwlock_t +type pthread_rwlockattr_t +type pthread_t + +function int pthread_attr_destroy (pthread_attr_t*) +function int pthread_attr_getdetachstate (const pthread_attr_t*, int*) +# ifndef POSIX +function int pthread_attr_getguardsize (const pthread_attr_t*, size_t*) +# endif +function int pthread_attr_getinheritsched (const pthread_attr_t*, int*) +function int pthread_attr_getschedparam (const pthread_attr_t*, struct sched_param*) +function int pthread_attr_getschedpolicy (const pthread_attr_t*, int*) +function int pthread_attr_getscope (const pthread_attr_t*, int*) +function int pthread_attr_getstackaddr (const pthread_attr_t*, void**) +function int pthread_attr_getstacksize (const pthread_attr_t*, size_t*) +function int pthread_attr_init (pthread_attr_t*) +function int pthread_attr_setdetachstate (pthread_attr_t*, int) +# ifndef POSIX +function int pthread_attr_setguardsize (pthread_attr_t*, size_t) +# endif +function int pthread_attr_setinheritsched (pthread_attr_t*, int) +function int pthread_attr_setschedparam (pthread_attr_t*, const struct sched_param*) +function int pthread_attr_setschedpolicy (pthread_attr_t*, int) +function int pthread_attr_setscope (pthread_attr_t*, int) +function int pthread_attr_setstackaddr (pthread_attr_t*, void*) +function int pthread_attr_setstacksize (pthread_attr_t*, size_t) +function int pthread_cancel (pthread_t) +# function int pthread_cleanup_push (void (*) (void*), void*) +macro pthread_cleanup_push +# function int pthread_cleanup_pop (int) +macro pthread_cleanup_pop +function int pthread_cond_broadcast (pthread_cond_t*) +function int pthread_cond_destroy (pthread_cond_t*) +function int pthread_cond_init (pthread_cond_t, const pthread_condattr_t*) +function int pthread_cond_signal (pthread_cond_t*) +function int pthread_cond_timedwait (pthread_cond_t*, pthread_mutex_t*, const struct timespec*) +function int pthread_cond_wait (pthread_cond_t*, pthread_mutex_t*) +function int pthread_condattr_destroy (pthread_condattr_t*) +function int pthread_condattr_getpshared (const pthread_condattr_t*, int*) +function int pthread_condattr_init (pthread_condattr_t*) +function int pthread_condattr_setpshared (pthread_condattr_t*, int) +function int pthread_create (pthread_t*, const pthread_attr_t*, void *(*) (void*), void*) +function int pthread_deteach (pthread_t) +function int pthread_equal (pthread_t, pthread_t) +function int pthread_exit (void*) +# ifndef POSIX +function int pthread_getconcurrency (void) +# endif +function int pthread_getschedparam (pthread_t, int*, struct sched_param*) +function {void*} pthread_getspecific (pthread_key_t) +function int pthread_join (pthread_t, void**) +function int pthread_key_create (pthread_key_t*, void (*)(void*)) +function int pthread_key_delete (pthread_key_t) +function int pthread_mutex_destroy (pthread_mutex_t*) +function int pthread_mutex_getprioceiling (const pthread_mutex_t*, int*) +function int pthread_mutex_init (pthread_mutex_t*, const pthread_mutexattr_t*) +function int pthread_mutex_lock (pthread_mutex_t*) +function int pthread_mutex_setprioceiling (pthread_mutex_t*, int, int*) +function int pthread_mutex_trylock (pthread_mutex_t*) +function int pthread_mutex_unlock (pthread_mutex_t*) +function int pthread_mutexattr_destroy (pthread_mutexattr_t*) +function int pthread_mutexattr_getprioceiling(const pthread_mutexattr_t*, int*) +function int pthread_mutexattr_getprotocol (const pthread_mutexattr_t*, int*) +function int pthread_mutexattr_getpshared (const pthread_mutexattr_t*, int*) +function int pthread_mutexattr_gettype (const pthread_mutexattr_t*, int*) +function int pthread_mutexattr_init (pthread_mutexattr_t*) +function int pthread_mutexattr_setprioceiling (pthread_mutexattr_t*, int) +function int pthread_mutexattr_setprotocol (pthread_mutexattr_t*, int) +function int pthread_mutexattr_setpshared (pthread_mutexattr_t*, int) +function int pthread_mutexattr_settype (pthread_mutexattr_t*, int) +function int pthread_once (pthread_once_t*, void (*) (void)) +# ifndef POSIX +function int pthread_rwlock_init (pthread_rwlock_t*, const pthread_rwlockattr_t*) +function int pthread_rwlock_rdlock (pthread_rwlock_t*) +function int pthread_rwlock_tryrdlock (pthread_rwlock_t*) +function int pthread_rwlock_trywrlock (pthread_rwlock_t*) +function int pthread_rwlock_unlock (pthread_rwlock_t*) +function int pthread_rwlock_wrlock (pthread_rwlock_t*) +function int pthread_rwlockattr_destroy (pthread_rwlockattr_t*) +function int pthread_rwlockattr_getpshared (const pthread_rwlockattr_t*, int*) +function int pthread_rwlockattr_init (pthread_rwlockatttr*) +function int pthread_rwlockattr_setpsahred (pthread_rwlockattr_t*, int) +#endif +function pthread_t pthread_self (void) +function int pthread_setcancelstate (int, int*) +function int pthread_setcanceltype (int, int*) +#ifndef POSIX +function int pthread_setconcurrency (int) +# endif +function int pthread_setschedparam (pthread_t, int, const struct sched_param*) +function int pthread_setspecific (pthread_key_t, const void*) +function void pthread_testcancel (void) + +allow-header sched.h +allow-header time.h + +allow PTHREAD_* +allow pthread_* +#endif diff --git a/conform/data/pwd.h-data b/conform/data/pwd.h-data new file mode 100644 index 0000000..1c8c7be --- /dev/null +++ b/conform/data/pwd.h-data @@ -0,0 +1,23 @@ +#ifndef ISO +type {struct passwd} +element {struct passwd} {char*} pw_name +element {struct passwd} uid_t pw_uid +element {struct passwd} gid_t pw_gid +element {struct passwd} {char*} pw_dir +element {struct passwd} {char*} pw_shell + +# ifndef POSIX +type uid_t +type gid_t +# endif + +function {struct passwd*} getpwnam (const char*) +function {struct passwd*} getpwuid (uid_t) +function int getpwnam_r (const char*, struct passwd*, char*, size_t, struct passwd**) +function int getpwuid_r (uid_t, struct passwd*, char*, size_t, struct passwd**) +function void endpwent (void) +function {struct passwd*} getpwent (void) +funciton void setpwent (void) + +allow pw_* +#endif diff --git a/conform/data/regex.h-data b/conform/data/regex.h-data new file mode 100644 index 0000000..b6e7f45 --- /dev/null +++ b/conform/data/regex.h-data @@ -0,0 +1,41 @@ +#ifndef ISO +type regex_t +element regex_t re_nsub + +type regoff_t + +type regmatch_t +element regmatch_t regoff_t rm_so +element regmatch_t regoff_t rm_eo + +constant REG_EXTENDED +constant REG_ICASE +constant REG_NOSUB +constant REG_NEWLINE + +constant REG_NOTBOL +constant REG_NOTEOL + +constant REG_NOMATCH +constant REG_BADPAT +constant REG_ECOLLATE +constant REG_ECTYPE +constant REG_EESCAPE +constant REG_ESUBREG +constant REG_EBRACK +constant REG_EPAREN +constant REG_EBRACE +constant REG_BADBR +constant REG_ESPACE +constant REG_BADRPT +constant REG_ENOSYS + +function int regcomp (regex_t*, const char*, int) +function int regexec (const regex_t*, const char*, size_t, regmatch_t[], int) +function size_t regerror (int, const regex_t*, char*, size_t) +function void regfree (regex_t*) + +allow REG_* +allow re_* +allow rm_* +#endif diff --git a/conform/data/sched.h-data b/conform/data/sched.h-data new file mode 100644 index 0000000..8194bcb --- /dev/null +++ b/conform/data/sched.h-data @@ -0,0 +1,22 @@ +#ifndef ISO +type {struct sched_param} +element {struct sched_param} int sched_priority + +constant SCHED_FIFO +constant SCHED_RR +constant SCHED_OTHER + +function int sched_get_priority_max (int) +function int sched_get_priority_min (int) +function int sched_getparam (pid_t, struct sched_param*) +function int sched_getscheduler (pid_t) +function int sched_rr_get_interval (pid_t, struct timespec*) +function int sched_setparam (pid_t, const struct sched_param*) +function int sched_setscheduler (pid_t, int, const struct sched_param*) +function int sched_yield (void) + +allow-header time.h + +allow sched_* +allow SCHED_* +#endif diff --git a/conform/data/search.h-data b/conform/data/search.h-data new file mode 100644 index 0000000..e7c81d3 --- /dev/null +++ b/conform/data/search.h-data @@ -0,0 +1,28 @@ +#if !defined ISO && !defined POSIX +type ENTRY +type {struct entry} +element {struct entry} {char*} key +element {struct entry} {void*} data + +type ACTION +constant FIND +constant ENTER + +type VISIT +constant preorder +constant postorder +constant endorder +constant leaf + +function int hcreate (size_t) +function void hdestroy (void) +function {ENTRY*} hsearch (ENTRY, ACTION) +function void insque (void*, void*) +function {void*} lfind (const void*, const void*, size_t*, size_t, int (*)(const void*, const void*)) +function {void*} lsearch (const void*, void*, size_t*, size_t, int (*)(const void*, const void*)) +function void remque (void*) +function {void*} tdelete (const void*, void**, int(*)(const void*, const void*)) +function {void*} tfind (const void*, void*const*, int(*)(const void*, const void*)) tfind (const void*, void*const*, int(*)(const void*, const void*)) +function {void*} tsearch (const void*, void**, int(*)(const void*, const void*)) +function void twalk (const void*, void (*) (const void*, VISIT, int)) +#endif |