1 /* Our own header for the programs that use threads. 2 Include this file, instead of "unp.h". */ 3 4 #ifndef __unp_pthread_h 5 #define __unp_pthread_h 6 7 #include "unp.h" 8 9 void Pthread_create(pthread_t *, const pthread_attr_t *, 10 void * (*)(void *), void *); 11 void Pthread_join(pthread_t, void **); 12 void Pthread_detach(pthread_t); 13 void Pthread_kill(pthread_t, int); 14 15 void Pthread_mutexattr_init(pthread_mutexattr_t *); 16 void Pthread_mutexattr_setpshared(pthread_mutexattr_t *, int); 17 void Pthread_mutex_init(pthread_mutex_t *, pthread_mutexattr_t *); 18 void Pthread_mutex_lock(pthread_mutex_t *); 19 void Pthread_mutex_unlock(pthread_mutex_t *); 20 21 void Pthread_cond_broadcast(pthread_cond_t *); 22 void Pthread_cond_signal(pthread_cond_t *); 23 void Pthread_cond_wait(pthread_cond_t *, pthread_mutex_t *); 24 void Pthread_cond_timedwait(pthread_cond_t *, pthread_mutex_t *, 25 const struct timespec *); 26 27 void Pthread_key_create(pthread_key_t *, void (*)(void *)); 28 void Pthread_setspecific(pthread_key_t, const void *); 29 void Pthread_once(pthread_once_t *, void (*)(void)); 30 31 #endif /* __unp_pthread_h */ 32