diff options
Diffstat (limited to 'man-pages-posix-2003/man0p/pthread.h.0p')
-rw-r--r-- | man-pages-posix-2003/man0p/pthread.h.0p | 385 |
1 files changed, 385 insertions, 0 deletions
diff --git a/man-pages-posix-2003/man0p/pthread.h.0p b/man-pages-posix-2003/man0p/pthread.h.0p new file mode 100644 index 0000000..4a0ef14 --- /dev/null +++ b/man-pages-posix-2003/man0p/pthread.h.0p @@ -0,0 +1,385 @@ +.\" Copyright (c) 2001-2003 The Open Group, All Rights Reserved +.TH "<pthread.h>" 0P 2003 "IEEE/The Open Group" "POSIX Programmer's Manual" +.\" <pthread.h> +.SH NAME +pthread.h \- threads +.SH SYNOPSIS +.LP +\fB#include <pthread.h> \fP +.SH DESCRIPTION +.LP +The \fI<pthread.h>\fP header shall define the following symbols: +.LP +.sp +.sp +PTHREAD_BARRIER_SERIAL_THREAD +.br +.sp +PTHREAD_CANCEL_ASYNCHRONOUS +.br +PTHREAD_CANCEL_ENABLE +.br +PTHREAD_CANCEL_DEFERRED +.br +PTHREAD_CANCEL_DISABLE +.br +PTHREAD_CANCELED +.br +PTHREAD_COND_INITIALIZER +.br +PTHREAD_CREATE_DETACHED +.br +PTHREAD_CREATE_JOINABLE +.br +PTHREAD_EXPLICIT_SCHED +.br +PTHREAD_INHERIT_SCHED +.br +.sp +PTHREAD_MUTEX_DEFAULT +.br +PTHREAD_MUTEX_ERRORCHECK +.br +.sp +PTHREAD_MUTEX_INITIALIZER +.br +.sp +PTHREAD_MUTEX_NORMAL +.br +PTHREAD_MUTEX_RECURSIVE +.br +.sp +PTHREAD_ONCE_INIT +.br +.sp +PTHREAD_PRIO_INHERIT +.br +.sp +.sp +PTHREAD_PRIO_NONE +.br +.sp +.sp +PTHREAD_PRIO_PROTECT +.br +.sp +PTHREAD_PROCESS_SHARED +.br +PTHREAD_PROCESS_PRIVATE +.br +.sp +PTHREAD_SCOPE_PROCESS +.br +PTHREAD_SCOPE_SYSTEM +.br +.sp +.LP +The following types shall be defined as described in \fI<sys/types.h>\fP +: +.LP +.sp +\fBpthread_attr_t\fP +.br +.sp +\fBpthread_barrier_t\fP +.br +\fBpthread_barrierattr_t\fP +.br +.sp +\fBpthread_cond_t\fP +.br +\fBpthread_condattr_t\fP +.br +\fBpthread_key_t\fP +.br +\fBpthread_mutex_t\fP +.br +\fBpthread_mutexattr_t\fP +.br +\fBpthread_once_t\fP +.br +\fBpthread_rwlock_t\fP +.br +\fBpthread_rwlockattr_t\fP +.br +.sp +\fBpthread_spinlock_t\fP +.br +.sp +\fBpthread_t\fP +.br +.LP +The following shall be declared as functions and may also be defined +as macros. Function prototypes shall be provided. +.sp +.RS +.nf + +\fBint pthread_atfork(void (*)(void), void (*)(void), + void(*)(void)); +int pthread_attr_destroy(pthread_attr_t *); +int pthread_attr_getdetachstate(const pthread_attr_t *, int *); + +int pthread_attr_getguardsize(const pthread_attr_t *restrict, + size_t *restrict); + + +int pthread_attr_getinheritsched(const pthread_attr_t *restrict, + int *restrict); + +int pthread_attr_getschedparam(const pthread_attr_t *restrict, + struct sched_param *restrict); + +int pthread_attr_getschedpolicy(const pthread_attr_t *restrict, + int *restrict); + + +int pthread_attr_getscope(const pthread_attr_t *restrict, + int *restrict); + + +int pthread_attr_getstack(const pthread_attr_t *restrict, + void **restrict, size_t *restrict); + + +int pthread_attr_getstackaddr(const pthread_attr_t *restrict, + void **restrict); + + +int pthread_attr_getstacksize(const pthread_attr_t *restrict, + size_t *restrict); + +int pthread_attr_init(pthread_attr_t *); +int pthread_attr_setdetachstate(pthread_attr_t *, int); + +int pthread_attr_setguardsize(pthread_attr_t *, size_t); + + +int pthread_attr_setinheritsched(pthread_attr_t *, int); + +int pthread_attr_setschedparam(pthread_attr_t *restrict, + const struct sched_param *restrict); + +int pthread_attr_setschedpolicy(pthread_attr_t *, int); +int pthread_attr_setscope(pthread_attr_t *, int); + + +int pthread_attr_setstack(pthread_attr_t *, void *, size_t); + + +int pthread_attr_setstackaddr(pthread_attr_t *, void *); + + +int pthread_attr_setstacksize(pthread_attr_t *, size_t); + + +int pthread_barrier_destroy(pthread_barrier_t *); +int pthread_barrier_init(pthread_barrier_t *restrict, + const pthread_barrierattr_t *restrict, unsigned); +int pthread_barrier_wait(pthread_barrier_t *); +int pthread_barrierattr_destroy(pthread_barrierattr_t *); + + +int pthread_barrierattr_getpshared( + const pthread_barrierattr_t *restrict, int *restrict); + + +int pthread_barrierattr_init(pthread_barrierattr_t *); + + +int pthread_barrierattr_setpshared(pthread_barrierattr_t *, int); + +int pthread_cancel(pthread_t); +void pthread_cleanup_push(void (*)(void *), void *); +void pthread_cleanup_pop(int); +int pthread_cond_broadcast(pthread_cond_t *); +int pthread_cond_destroy(pthread_cond_t *); +int pthread_cond_init(pthread_cond_t *restrict, + const pthread_condattr_t *restrict); +int pthread_cond_signal(pthread_cond_t *); +int pthread_cond_timedwait(pthread_cond_t *restrict, + pthread_mutex_t *restrict, const struct timespec *restrict); +int pthread_cond_wait(pthread_cond_t *restrict, + pthread_mutex_t *restrict); +int pthread_condattr_destroy(pthread_condattr_t *); + +int pthread_condattr_getclock(const pthread_condattr_t *restrict, + clockid_t *restrict); + + +int pthread_condattr_getpshared(const pthread_condattr_t *restrict, + int *restrict); + +int pthread_condattr_init(pthread_condattr_t *); + +int pthread_condattr_setclock(pthread_condattr_t *, clockid_t); + + +int pthread_condattr_setpshared(pthread_condattr_t *, int); + +int pthread_create(pthread_t *restrict, const pthread_attr_t *restrict, + void *(*)(void *), void *restrict); +int pthread_detach(pthread_t); +int pthread_equal(pthread_t, pthread_t); +void pthread_exit(void *); + +int pthread_getconcurrency(void); + + +int pthread_getcpuclockid(pthread_t, clockid_t *); + + +int pthread_getschedparam(pthread_t, int *restrict, + struct sched_param *restrict); + +void *pthread_getspecific(pthread_key_t); +int pthread_join(pthread_t, void **); +int pthread_key_create(pthread_key_t *, void (*)(void *)); +int pthread_key_delete(pthread_key_t); +int pthread_mutex_destroy(pthread_mutex_t *); + +int pthread_mutex_getprioceiling(const pthread_mutex_t *restrict, + int *restrict); + +int pthread_mutex_init(pthread_mutex_t *restrict, + const pthread_mutexattr_t *restrict); +int pthread_mutex_lock(pthread_mutex_t *); + +int pthread_mutex_setprioceiling(pthread_mutex_t *restrict, int, + int *restrict); + + +int pthread_mutex_timedlock(pthread_mutex_t *, + const struct timespec *); + +int pthread_mutex_trylock(pthread_mutex_t *); +int pthread_mutex_unlock(pthread_mutex_t *); +int pthread_mutexattr_destroy(pthread_mutexattr_t *); + +int pthread_mutexattr_getprioceiling( + const pthread_mutexattr_t *restrict, int *restrict); + + +int pthread_mutexattr_getprotocol(const pthread_mutexattr_t *restrict, + int *restrict); + + +int pthread_mutexattr_getpshared(const pthread_mutexattr_t *restrict, + int *restrict); + + +int pthread_mutexattr_gettype(const pthread_mutexattr_t *restrict, + int *restrict); + +int pthread_mutexattr_init(pthread_mutexattr_t *); + +int pthread_mutexattr_setprioceiling(pthread_mutexattr_t *, int); + + +int pthread_mutexattr_setprotocol(pthread_mutexattr_t *, int); + + +int pthread_mutexattr_setpshared(pthread_mutexattr_t *, int); + + +int pthread_mutexattr_settype(pthread_mutexattr_t *, int); + +int pthread_once(pthread_once_t *, void (*)(void)); +int pthread_rwlock_destroy(pthread_rwlock_t *); +int pthread_rwlock_init(pthread_rwlock_t *restrict, + const pthread_rwlockattr_t *restrict); +int pthread_rwlock_rdlock(pthread_rwlock_t *); + +int pthread_rwlock_timedrdlock(pthread_rwlock_t *restrict, + const struct timespec *restrict); +int pthread_rwlock_timedwrlock(pthread_rwlock_t *restrict, + const struct timespec *restrict); + +int pthread_rwlock_tryrdlock(pthread_rwlock_t *); +int pthread_rwlock_trywrlock(pthread_rwlock_t *); +int pthread_rwlock_unlock(pthread_rwlock_t *); +int pthread_rwlock_wrlock(pthread_rwlock_t *); +int pthread_rwlockattr_destroy(pthread_rwlockattr_t *); + +int pthread_rwlockattr_getpshared( + const pthread_rwlockattr_t *restrict, int *restrict); + +int pthread_rwlockattr_init(pthread_rwlockattr_t *); + +int pthread_rwlockattr_setpshared(pthread_rwlockattr_t *, int); + +pthread_t + pthread_self(void); +int pthread_setcancelstate(int, int *); +int pthread_setcanceltype(int, int *); + +int pthread_setconcurrency(int); + + +int pthread_setschedparam(pthread_t, int, + const struct sched_param *); + + +int pthread_setschedprio(pthread_t, int); + +int pthread_setspecific(pthread_key_t, const void *); + +int pthread_spin_destroy(pthread_spinlock_t *); +int pthread_spin_init(pthread_spinlock_t *, int); +int pthread_spin_lock(pthread_spinlock_t *); +int pthread_spin_trylock(pthread_spinlock_t *); +int pthread_spin_unlock(pthread_spinlock_t *); + +void pthread_testcancel(void); +\fP +.fi +.RE +.LP +Inclusion of the \fI<pthread.h>\fP header shall make symbols defined +in the headers \fI<sched.h>\fP and \fI<time.h>\fP visible. +.LP +\fIThe following sections are informative.\fP +.SH APPLICATION USAGE +.LP +None. +.SH RATIONALE +.LP +None. +.SH FUTURE DIRECTIONS +.LP +None. +.SH SEE ALSO +.LP +\fI<sched.h>\fP, \fI<sys/types.h>\fP, \fI<time.h>\fP, the System +Interfaces volume of IEEE\ Std\ 1003.1-2001, \fIpthread_attr_getguardsize\fP(), +\fIpthread_attr_init\fP(), \fIpthread_attr_setscope\fP(), \fIpthread_barrier_destroy\fP(), +\fIpthread_barrier_init\fP(), \fIpthread_barrier_wait\fP(), \fIpthread_barrierattr_destroy\fP(), +\fIpthread_barrierattr_getpshared\fP(), \fIpthread_barrierattr_init\fP(), +\fIpthread_barrierattr_setpshared\fP(), \fIpthread_cancel\fP(), \fIpthread_cleanup_pop\fP(), +\fIpthread_cond_init\fP(), \fIpthread_cond_signal\fP(), \fIpthread_cond_wait\fP(), +\fIpthread_condattr_getclock\fP(), \fIpthread_condattr_init\fP(), +\fIpthread_condattr_setclock\fP(), \fIpthread_create\fP(), \fIpthread_detach\fP(), +\fIpthread_equal\fP(), \fIpthread_exit\fP(), +\fIpthread_getconcurrency\fP(), \fIpthread_getcpuclockid\fP(), \fIpthread_getschedparam\fP(), +\fIpthread_join\fP(), \fIpthread_key_create\fP(), \fIpthread_key_delete\fP(), +\fIpthread_mutex_init\fP(), \fIpthread_mutex_lock\fP(), \fIpthread_mutex_setprioceiling\fP(), +\fIpthread_mutex_timedlock\fP(), \fIpthread_mutexattr_init\fP(), \fIpthread_mutexattr_gettype\fP(), +\fIpthread_mutexattr_setprotocol\fP(), \fIpthread_once\fP(), \fIpthread_rwlock_destroy\fP(), +\fIpthread_rwlock_init\fP(), \fIpthread_rwlock_rdlock\fP(), \fIpthread_rwlock_timedrdlock\fP(), +\fIpthread_rwlock_timedwrlock\fP(), \fIpthread_rwlock_tryrdlock\fP(), +\fIpthread_rwlock_trywrlock\fP(), \fIpthread_rwlock_unlock\fP(), \fIpthread_rwlock_wrlock\fP(), +\fIpthread_rwlockattr_destroy\fP(), \fIpthread_rwlockattr_getpshared\fP(), +\fIpthread_rwlockattr_init\fP(), \fIpthread_rwlockattr_setpshared\fP(), +\fIpthread_self\fP(), \fIpthread_setcancelstate\fP(), \fIpthread_setspecific\fP(), +\fIpthread_spin_destroy\fP(), \fIpthread_spin_init\fP(), \fIpthread_spin_lock\fP(), +\fIpthread_spin_trylock\fP(), \fIpthread_spin_unlock\fP() +.SH COPYRIGHT +Portions of this text are reprinted and reproduced in electronic form +from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology +-- Portable Operating System Interface (POSIX), The Open Group Base +Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of +Electrical and Electronics Engineers, Inc and The Open Group. In the +event of any discrepancy between this version and the original IEEE and +The Open Group Standard, the original IEEE and The Open Group Standard +is the referee document. The original Standard can be obtained online at +http://www.opengroup.org/unix/online.html . |