Home | History | Annotate | Line # | Download | only in libpthread
pthread.h revision 1.1.2.2
      1  1.1.2.1  nathanw 
      2  1.1.2.1  nathanw /* Copyright */
      3  1.1.2.1  nathanw 
      4  1.1.2.1  nathanw #ifndef _LIB_PTHREAD_H
      5  1.1.2.1  nathanw #define _LIB_PTHREAD_H
      6  1.1.2.1  nathanw 
      7  1.1.2.1  nathanw 
      8  1.1.2.2  nathanw #include <sys/time.h>	/* For timespec */
      9  1.1.2.2  nathanw #include <signal.h>	/* For sigset_t. XXX perhaps pthread_sigmask should
     10  1.1.2.2  nathanw 			 * be in signal.h instead of here.
     11  1.1.2.2  nathanw 			 */
     12  1.1.2.2  nathanw #include "pthread_types.h"
     13  1.1.2.2  nathanw #include "sched.h"
     14  1.1.2.1  nathanw 
     15  1.1.2.1  nathanw int	pthread_create(pthread_t *thread, const pthread_attr_t *attr,
     16  1.1.2.1  nathanw 	    void *(*startfunc)(void *), void *arg);
     17  1.1.2.1  nathanw void	pthread_exit(void *retval);
     18  1.1.2.1  nathanw int	pthread_join(pthread_t thread, void **valptr);
     19  1.1.2.1  nathanw int	pthread_equal(pthread_t t1, pthread_t t2);
     20  1.1.2.1  nathanw pthread_t	pthread_self(void);
     21  1.1.2.1  nathanw int	pthread_detach(pthread_t thread);
     22  1.1.2.1  nathanw 
     23  1.1.2.1  nathanw int	pthread_kill(pthread_t thread, int sig);
     24  1.1.2.1  nathanw int	pthread_sigmask(int how, const sigset_t *set, sigset_t *oset);
     25  1.1.2.1  nathanw 
     26  1.1.2.1  nathanw int	pthread_attr_destroy(pthread_attr_t *attr);
     27  1.1.2.1  nathanw int	pthread_attr_getdetachstate(pthread_attr_t *attr, int *detachstate);
     28  1.1.2.1  nathanw int	pthread_attr_init(pthread_attr_t *attr);
     29  1.1.2.1  nathanw int	pthread_attr_setdetachstate(pthread_attr_t *attr, int detachstate);
     30  1.1.2.1  nathanw int	pthread_attr_setschedparam(pthread_attr_t *attr,
     31  1.1.2.1  nathanw 	    const struct sched_param *param);
     32  1.1.2.1  nathanw int	pthread_attr_getschedparam(pthread_attr_t *attr,
     33  1.1.2.1  nathanw 	    struct sched_param *param);
     34  1.1.2.1  nathanw 
     35  1.1.2.1  nathanw int	pthread_mutex_init(pthread_mutex_t *mutex,
     36  1.1.2.1  nathanw 	    const pthread_mutexattr_t *attr);
     37  1.1.2.1  nathanw int	pthread_mutex_destroy(pthread_mutex_t *mutex);
     38  1.1.2.1  nathanw int	pthread_mutex_lock(pthread_mutex_t *mutex);
     39  1.1.2.1  nathanw int	pthread_mutex_trylock(pthread_mutex_t *mutex);
     40  1.1.2.1  nathanw int	pthread_mutex_unlock(pthread_mutex_t *mutex);
     41  1.1.2.1  nathanw 
     42  1.1.2.1  nathanw int	pthread_cond_init(pthread_cond_t *cond,
     43  1.1.2.1  nathanw 	    const pthread_condattr_t *attr);
     44  1.1.2.1  nathanw int	pthread_cond_destroy(pthread_cond_t *cond);
     45  1.1.2.1  nathanw int	pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex);
     46  1.1.2.1  nathanw int	pthread_cond_timedwait(pthread_cond_t *cond, pthread_mutex_t *mutex,
     47  1.1.2.1  nathanw 	    const struct timespec *abstime);
     48  1.1.2.1  nathanw int	pthread_cond_signal(pthread_cond_t *cond);
     49  1.1.2.1  nathanw int	pthread_cond_broadacst(pthread_cond_t *cond);
     50  1.1.2.1  nathanw int	pthread_condattr_init(pthread_condattr_t *attr);
     51  1.1.2.1  nathanw int	pthread_condattr_destroy(pthread_condattr_t *attr);
     52  1.1.2.1  nathanw int	pthread_condattr_getpshared(const pthread_condattr_t *attr,
     53  1.1.2.1  nathanw 	    int *pshared);
     54  1.1.2.1  nathanw int	pthread_condattr_setpshared(pthread_condattr_t *attr, int pshared);
     55  1.1.2.1  nathanw 
     56  1.1.2.1  nathanw #define PTHREAD_COND_INITIALIZER	xxxxx
     57  1.1.2.1  nathanw 
     58  1.1.2.1  nathanw #define	PTHREAD_CREATE_JOINABLE	0
     59  1.1.2.1  nathanw #define	PTHREAD_CREATE_DETACHED	1
     60  1.1.2.1  nathanw 
     61  1.1.2.1  nathanw #define PTHREAD_PROCESS_PRIVATE	0
     62  1.1.2.1  nathanw #define PTHREAD_PROCESS_SHARED	1
     63  1.1.2.1  nathanw 
     64  1.1.2.1  nathanw #define	_POSIX_THREADS
     65  1.1.2.1  nathanw 
     66  1.1.2.1  nathanw /* XXX not actually implemented but required to exist */
     67  1.1.2.1  nathanw #define PTHREAD_DESTRUCTOR_ITERATIONS	4	/* Min. required */
     68  1.1.2.1  nathanw #define	PTHREAD_KEYS_MAX	128		/* Min. required */
     69  1.1.2.1  nathanw #define PTHREAD_STACK_MIN	4096 /* XXX Pulled out of my butt */
     70  1.1.2.1  nathanw #define PTHREAD_THREADS_MAX	64		/* Min. required */
     71  1.1.2.1  nathanw 
     72  1.1.2.1  nathanw 
     73  1.1.2.1  nathanw #endif /* _LIB_PTHREAD_H */
     74