50 lines
1.1 KiB
C
50 lines
1.1 KiB
C
|
|
||
|
#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__ */
|
||
|
|