Changeset View
Changeset View
Standalone View
Standalone View
include/pthread.h
Show First 20 Lines • Show All 138 Lines • ▼ Show 20 Lines | struct _pthread_cleanup_info { | ||||
__uintptr_t pthread_cleanup_pad[8]; | __uintptr_t pthread_cleanup_pad[8]; | ||||
}; | }; | ||||
/* | /* | ||||
* Thread function prototype definitions: | * Thread function prototype definitions: | ||||
*/ | */ | ||||
__BEGIN_DECLS | __BEGIN_DECLS | ||||
int pthread_atfork(void (*)(void), void (*)(void), void (*)(void)); | int pthread_atfork(void (*)(void), void (*)(void), void (*)(void)); | ||||
int pthread_attr_destroy(pthread_attr_t *); | int pthread_attr_destroy(pthread_attr_t *) __nonnull(1); | ||||
int pthread_attr_getstack(const pthread_attr_t * __restrict, | int pthread_attr_getstack(const pthread_attr_t * __restrict, | ||||
void ** __restrict, size_t * __restrict); | void ** __restrict, size_t * __restrict) | ||||
int pthread_attr_getstacksize(const pthread_attr_t *, size_t *); | __nonnull(1, 2, 3); | ||||
int pthread_attr_getstacksize(const pthread_attr_t *, size_t *) | |||||
__nonnull(1, 2); | |||||
int pthread_attr_getguardsize(const pthread_attr_t *, size_t *); | int pthread_attr_getguardsize(const pthread_attr_t *, size_t *); | ||||
int pthread_attr_getstackaddr(const pthread_attr_t *, void **); | int pthread_attr_getstackaddr(const pthread_attr_t *, void **); | ||||
int pthread_attr_getdetachstate(const pthread_attr_t *, int *); | int pthread_attr_getdetachstate(const pthread_attr_t *, int *) | ||||
int pthread_attr_init(pthread_attr_t *); | __nonnull(1, 2); | ||||
int pthread_attr_setstacksize(pthread_attr_t *, size_t); | int pthread_attr_init(pthread_attr_t *) __nonnull(1); | ||||
int pthread_attr_setguardsize(pthread_attr_t *, size_t); | int pthread_attr_setstacksize(pthread_attr_t *, size_t) __nonnull(1); | ||||
int pthread_attr_setstack(pthread_attr_t *, void *, size_t); | int pthread_attr_setguardsize(pthread_attr_t *, size_t) __nonnull(1); | ||||
int pthread_attr_setstack(pthread_attr_t *, void *, size_t) | |||||
__nonnull(1); | |||||
int pthread_attr_setstackaddr(pthread_attr_t *, void *); | int pthread_attr_setstackaddr(pthread_attr_t *, void *); | ||||
int pthread_attr_setdetachstate(pthread_attr_t *, int); | int pthread_attr_setdetachstate(pthread_attr_t *, int) __nonnull(1); | ||||
int pthread_barrier_destroy(pthread_barrier_t *); | int pthread_barrier_destroy(pthread_barrier_t *); | ||||
int pthread_barrier_init(pthread_barrier_t *, | int pthread_barrier_init(pthread_barrier_t *, | ||||
const pthread_barrierattr_t *, unsigned); | const pthread_barrierattr_t *, unsigned); | ||||
int pthread_barrier_wait(pthread_barrier_t *); | int pthread_barrier_wait(pthread_barrier_t *); | ||||
int pthread_barrierattr_destroy(pthread_barrierattr_t *); | int pthread_barrierattr_destroy(pthread_barrierattr_t *); | ||||
int pthread_barrierattr_getpshared(const pthread_barrierattr_t *, | int pthread_barrierattr_getpshared(const pthread_barrierattr_t *, | ||||
int *); | int *); | ||||
int pthread_barrierattr_init(pthread_barrierattr_t *); | int pthread_barrierattr_init(pthread_barrierattr_t *) __nonnull(1); | ||||
int pthread_barrierattr_setpshared(pthread_barrierattr_t *, int); | int pthread_barrierattr_setpshared(pthread_barrierattr_t *, int); | ||||
#define pthread_cleanup_push(cleanup_routine, cleanup_arg) \ | #define pthread_cleanup_push(cleanup_routine, cleanup_arg) \ | ||||
{ \ | { \ | ||||
struct _pthread_cleanup_info __cleanup_info__; \ | struct _pthread_cleanup_info __cleanup_info__; \ | ||||
__pthread_cleanup_push_imp(cleanup_routine, cleanup_arg,\ | __pthread_cleanup_push_imp(cleanup_routine, cleanup_arg,\ | ||||
&__cleanup_info__); \ | &__cleanup_info__); \ | ||||
{ | { | ||||
#define pthread_cleanup_pop(execute) \ | #define pthread_cleanup_pop(execute) \ | ||||
(void)0; \ | (void)0; \ | ||||
} \ | } \ | ||||
__pthread_cleanup_pop_imp(execute); \ | __pthread_cleanup_pop_imp(execute); \ | ||||
} | } | ||||
int pthread_condattr_destroy(pthread_condattr_t *); | int pthread_condattr_destroy(pthread_condattr_t *) __nonnull(1); | ||||
int pthread_condattr_getclock(const pthread_condattr_t *, | int pthread_condattr_getclock(const pthread_condattr_t *, | ||||
clockid_t *); | clockid_t *) __nonnull(1, 2); | ||||
int pthread_condattr_getpshared(const pthread_condattr_t *, int *); | int pthread_condattr_getpshared(const pthread_condattr_t *, int *) | ||||
int pthread_condattr_init(pthread_condattr_t *); | __nonnull(1, 2); | ||||
int pthread_condattr_setclock(pthread_condattr_t *, clockid_t); | int pthread_condattr_init(pthread_condattr_t *) __nonnull(1); | ||||
int pthread_condattr_setpshared(pthread_condattr_t *, int); | int pthread_condattr_setclock(pthread_condattr_t *, clockid_t) | ||||
int pthread_cond_broadcast(pthread_cond_t *); | __nonnull(1); | ||||
int pthread_cond_destroy(pthread_cond_t *); | int pthread_condattr_setpshared(pthread_condattr_t *, int) | ||||
__nonnull(1); | |||||
int pthread_cond_broadcast(pthread_cond_t *) | |||||
__nonnull(1); | |||||
int pthread_cond_destroy(pthread_cond_t *) | |||||
__nonnull(1); | |||||
int pthread_cond_init(pthread_cond_t *, | int pthread_cond_init(pthread_cond_t *, | ||||
const pthread_condattr_t *); | const pthread_condattr_t *) __nonnull(1); | ||||
int pthread_cond_signal(pthread_cond_t *); | int pthread_cond_signal(pthread_cond_t *) __nonnull(1); | ||||
int pthread_cond_timedwait(pthread_cond_t *, | int pthread_cond_timedwait(pthread_cond_t *, | ||||
pthread_mutex_t *__mutex, const struct timespec *) | pthread_mutex_t *__mutex, const struct timespec *) | ||||
__requires_exclusive(*__mutex); | __nonnull(1, 2, 3) __requires_exclusive(*__mutex); | ||||
int pthread_cond_wait(pthread_cond_t *, pthread_mutex_t *__mutex) | int pthread_cond_wait(pthread_cond_t *, pthread_mutex_t *__mutex) | ||||
__requires_exclusive(*__mutex); | __requires_exclusive(*__mutex); | ||||
int pthread_create(pthread_t *, const pthread_attr_t *, | int pthread_create(pthread_t *, const pthread_attr_t *, | ||||
void *(*) (void *), void *); | void *(*) (void *), void *) __nonnull(1, 3); | ||||
int pthread_detach(pthread_t); | int pthread_detach(pthread_t); | ||||
int pthread_equal(pthread_t, pthread_t); | int pthread_equal(pthread_t, pthread_t); | ||||
void pthread_exit(void *) __dead2; | void pthread_exit(void *) __dead2; | ||||
void *pthread_getspecific(pthread_key_t); | void *pthread_getspecific(pthread_key_t); | ||||
int pthread_getcpuclockid(pthread_t, clockid_t *); | int pthread_getcpuclockid(pthread_t, clockid_t *) __nonnull(2); | ||||
int pthread_join(pthread_t, void **); | int pthread_join(pthread_t, void **); | ||||
int pthread_key_create(pthread_key_t *, | int pthread_key_create(pthread_key_t *, | ||||
void (*) (void *)); | void (*) (void *)) __nonnull(1); | ||||
int pthread_key_delete(pthread_key_t); | int pthread_key_delete(pthread_key_t); | ||||
int pthread_mutexattr_init(pthread_mutexattr_t *); | int pthread_mutexattr_init(pthread_mutexattr_t *) __nonnull(1); | ||||
int pthread_mutexattr_destroy(pthread_mutexattr_t *); | int pthread_mutexattr_destroy(pthread_mutexattr_t *) __nonnull(1); | ||||
int pthread_mutexattr_getpshared(const pthread_mutexattr_t *, | int pthread_mutexattr_getpshared(const pthread_mutexattr_t *, | ||||
int *); | int *); | ||||
int pthread_mutexattr_gettype(pthread_mutexattr_t *, int *); | int pthread_mutexattr_gettype(pthread_mutexattr_t *, int *) | ||||
int pthread_mutexattr_settype(pthread_mutexattr_t *, int); | __nonnull(1, 2); | ||||
int pthread_mutexattr_settype(pthread_mutexattr_t *, int) | |||||
__nonnull(1); | |||||
int pthread_mutexattr_setpshared(pthread_mutexattr_t *, int); | int pthread_mutexattr_setpshared(pthread_mutexattr_t *, int); | ||||
int pthread_mutex_destroy(pthread_mutex_t *__mutex) | int pthread_mutex_destroy(pthread_mutex_t *__mutex) | ||||
__requires_unlocked(*__mutex); | __nonnull(1) __requires_unlocked(*__mutex); | ||||
int pthread_mutex_init(pthread_mutex_t *__mutex, | int pthread_mutex_init(pthread_mutex_t *__mutex, | ||||
const pthread_mutexattr_t *) | const pthread_mutexattr_t *) | ||||
__requires_unlocked(*__mutex); | __nonnull(1) __requires_unlocked(*__mutex); | ||||
int pthread_mutex_lock(pthread_mutex_t *__mutex) | int pthread_mutex_lock(pthread_mutex_t *__mutex) | ||||
__locks_exclusive(*__mutex); | __nonnull(1) __locks_exclusive(*__mutex); | ||||
int pthread_mutex_trylock(pthread_mutex_t *__mutex) | int pthread_mutex_trylock(pthread_mutex_t *__mutex) | ||||
__trylocks_exclusive(0, *__mutex); | __nonnull(1) __trylocks_exclusive(0, *__mutex); | ||||
int pthread_mutex_timedlock(pthread_mutex_t *__mutex, | int pthread_mutex_timedlock(pthread_mutex_t *__mutex, | ||||
const struct timespec *) | const struct timespec *) | ||||
__trylocks_exclusive(0, *__mutex); | __nonnull(1, 2) __trylocks_exclusive(0, *__mutex); | ||||
int pthread_mutex_unlock(pthread_mutex_t *__mutex) | int pthread_mutex_unlock(pthread_mutex_t *__mutex) | ||||
__unlocks(*__mutex); | __nonnull(1) __unlocks(*__mutex); | ||||
int pthread_once(pthread_once_t *, void (*) (void)); | int pthread_once(pthread_once_t *, void (*) (void)) __nonnull(1, 2); | ||||
int pthread_rwlock_destroy(pthread_rwlock_t *__rwlock) | int pthread_rwlock_destroy(pthread_rwlock_t *__rwlock) | ||||
__requires_unlocked(*__rwlock); | __nonnull(1) __requires_unlocked(*__rwlock); | ||||
int pthread_rwlock_init(pthread_rwlock_t *__rwlock, | int pthread_rwlock_init(pthread_rwlock_t *__rwlock, | ||||
const pthread_rwlockattr_t *) | const pthread_rwlockattr_t *) | ||||
__requires_unlocked(*__rwlock); | __nonnull(1) __requires_unlocked(*__rwlock); | ||||
int pthread_rwlock_rdlock(pthread_rwlock_t *__rwlock) | int pthread_rwlock_rdlock(pthread_rwlock_t *__rwlock) | ||||
__locks_shared(*__rwlock); | __nonnull(1) __locks_shared(*__rwlock); | ||||
int pthread_rwlock_timedrdlock(pthread_rwlock_t *__rwlock, | int pthread_rwlock_timedrdlock(pthread_rwlock_t *__rwlock, | ||||
const struct timespec *) | const struct timespec *) | ||||
__trylocks_shared(0, *__rwlock); | __nonnull(1, 2) __trylocks_shared(0, *__rwlock); | ||||
int pthread_rwlock_timedwrlock(pthread_rwlock_t *__rwlock, | int pthread_rwlock_timedwrlock(pthread_rwlock_t *__rwlock, | ||||
const struct timespec *) | const struct timespec *) | ||||
__trylocks_exclusive(0, *__rwlock); | __nonnull(1, 2) __trylocks_exclusive(0, *__rwlock); | ||||
int pthread_rwlock_tryrdlock(pthread_rwlock_t *__rwlock) | int pthread_rwlock_tryrdlock(pthread_rwlock_t *__rwlock) | ||||
__trylocks_shared(0, *__rwlock); | __nonnull(1) __trylocks_shared(0, *__rwlock); | ||||
int pthread_rwlock_trywrlock(pthread_rwlock_t *__rwlock) | int pthread_rwlock_trywrlock(pthread_rwlock_t *__rwlock) | ||||
__trylocks_exclusive(0, *__rwlock); | __nonnull(1) __trylocks_exclusive(0, *__rwlock); | ||||
int pthread_rwlock_unlock(pthread_rwlock_t *__rwlock) | int pthread_rwlock_unlock(pthread_rwlock_t *__rwlock) | ||||
__unlocks(*__rwlock); | __nonnull(1) __unlocks(*__rwlock); | ||||
int pthread_rwlock_wrlock(pthread_rwlock_t *__rwlock) | int pthread_rwlock_wrlock(pthread_rwlock_t *__rwlock) | ||||
__locks_exclusive(*__rwlock); | __nonnull(1) __locks_exclusive(*__rwlock); | ||||
int pthread_rwlockattr_destroy(pthread_rwlockattr_t *); | int pthread_rwlockattr_destroy(pthread_rwlockattr_t *) | ||||
__nonnull(1); | |||||
int pthread_rwlockattr_getkind_np(const pthread_rwlockattr_t *, | int pthread_rwlockattr_getkind_np(const pthread_rwlockattr_t *, | ||||
int *); | int *); | ||||
int pthread_rwlockattr_getpshared(const pthread_rwlockattr_t *, | int pthread_rwlockattr_getpshared(const pthread_rwlockattr_t *, | ||||
int *); | int *); | ||||
int pthread_rwlockattr_init(pthread_rwlockattr_t *); | int pthread_rwlockattr_init(pthread_rwlockattr_t *) | ||||
__nonnull(1); | |||||
int pthread_rwlockattr_setkind_np(pthread_rwlockattr_t *, int); | int pthread_rwlockattr_setkind_np(pthread_rwlockattr_t *, int); | ||||
int pthread_rwlockattr_setpshared(pthread_rwlockattr_t *, int); | int pthread_rwlockattr_setpshared(pthread_rwlockattr_t *, int) | ||||
__nonnull(1); | |||||
pthread_t pthread_self(void); | pthread_t pthread_self(void); | ||||
int pthread_setspecific(pthread_key_t, const void *); | int pthread_setspecific(pthread_key_t, const void *); | ||||
int pthread_spin_init(pthread_spinlock_t *__spin, int) | int pthread_spin_init(pthread_spinlock_t *__spin, int) | ||||
__requires_unlocked(*__spin); | __requires_unlocked(*__spin); | ||||
int pthread_spin_destroy(pthread_spinlock_t *__spin) | int pthread_spin_destroy(pthread_spinlock_t *__spin) | ||||
__requires_unlocked(*__spin); | __requires_unlocked(*__spin); | ||||
int pthread_spin_lock(pthread_spinlock_t *__spin) | int pthread_spin_lock(pthread_spinlock_t *__spin) | ||||
Show All 20 Lines | |||||
int pthread_mutex_getprioceiling(pthread_mutex_t *, int *); | int pthread_mutex_getprioceiling(pthread_mutex_t *, int *); | ||||
int pthread_mutex_setprioceiling(pthread_mutex_t *, int, int *); | int pthread_mutex_setprioceiling(pthread_mutex_t *, int, int *); | ||||
int pthread_mutexattr_getprotocol(pthread_mutexattr_t *, int *); | int pthread_mutexattr_getprotocol(pthread_mutexattr_t *, int *); | ||||
int pthread_mutexattr_setprotocol(pthread_mutexattr_t *, int); | int pthread_mutexattr_setprotocol(pthread_mutexattr_t *, int); | ||||
int pthread_attr_getinheritsched(const pthread_attr_t *, int *); | int pthread_attr_getinheritsched(const pthread_attr_t *, int *); | ||||
int pthread_attr_getschedparam(const pthread_attr_t *, | int pthread_attr_getschedparam(const pthread_attr_t *, | ||||
struct sched_param *); | struct sched_param *) __nonnull(1, 2); | ||||
int pthread_attr_getschedpolicy(const pthread_attr_t *, int *); | int pthread_attr_getschedpolicy(const pthread_attr_t *, int *) | ||||
int pthread_attr_getscope(const pthread_attr_t *, int *); | __nonnull(1, 2); | ||||
int pthread_attr_getscope(const pthread_attr_t *, int *) | |||||
__nonnull(1, 2); | |||||
int pthread_attr_setinheritsched(pthread_attr_t *, int); | int pthread_attr_setinheritsched(pthread_attr_t *, int); | ||||
int pthread_attr_setschedparam(pthread_attr_t *, | int pthread_attr_setschedparam(pthread_attr_t *, | ||||
const struct sched_param *); | const struct sched_param *) __nonnull(1, 2); | ||||
int pthread_attr_setschedpolicy(pthread_attr_t *, int); | int pthread_attr_setschedpolicy(pthread_attr_t *, int) __nonnull(1); | ||||
int pthread_attr_setscope(pthread_attr_t *, int); | int pthread_attr_setscope(pthread_attr_t *, int) __nonnull(1); | ||||
int pthread_getschedparam(pthread_t pthread, int *, | int pthread_getschedparam(pthread_t pthread, int *, | ||||
struct sched_param *); | struct sched_param *) __nonnull(2, 3); | ||||
int pthread_setschedparam(pthread_t, int, | int pthread_setschedparam(pthread_t, int, | ||||
const struct sched_param *); | const struct sched_param *) __nonnull(3); | ||||
#if __XSI_VISIBLE | #if __XSI_VISIBLE | ||||
int pthread_getconcurrency(void); | int pthread_getconcurrency(void); | ||||
int pthread_setconcurrency(int); | int pthread_setconcurrency(int); | ||||
#endif | #endif | ||||
void __pthread_cleanup_push_imp(void (*)(void *), void *, | void __pthread_cleanup_push_imp(void (*)(void *), void *, | ||||
struct _pthread_cleanup_info *); | struct _pthread_cleanup_info *); | ||||
void __pthread_cleanup_pop_imp(int); | void __pthread_cleanup_pop_imp(int); | ||||
__END_DECLS | __END_DECLS | ||||
#endif | #endif |