#ifndef __PTHREAD_H__ #define __PTHREAD_H__ typedef uint64_t pthread_t; typedef uint64_t pthread_attr_t; typedef uint64_t pthread_barrier_t; typedef uint64_t pthread_barrierattr_t; typedef uint64_t pthread_mutex_t; typedef uint64_t pthread_mutexattr_t; pthread_t pthread_self(void); int pthread_create(pthread_t *thread, const pthread_attr_t *attr, void *(*start_routine)(void *), void *arg); void pthread_exit(void *value_ptr); int pthread_join(pthread_t thread, void **value_ptr); void pthread_yield(void); /* * Barriers */ int pthread_barrier_init(pthread_barrier_t *barrier, const pthread_barrierattr_t *attr, unsigned count); int pthread_barrier_destroy(pthread_barrier_t *barrier); int pthread_barrier_wait(pthread_barrier_t *barrier); /* * Mutex */ int pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t *attr); int pthread_mutex_destroy(pthread_mutex_t *mutex); int pthread_mutex_lock(pthread_mutex_t *mutex); int pthread_mutex_trylock(pthread_mutex_t *mutex); int pthread_mutex_unlock(pthread_mutex_t *mutex); /* * Reader/Writer Lock */ /* * Condition Variables */ #endif /* __PTHREAD_H__ */