|
Zephyr Project API 3.7.0
A Scalable Open Source RTOS
|
#include <stdlib.h>#include <string.h>#include <zephyr/kernel.h>#include <zephyr/posix/time.h>#include <zephyr/posix/unistd.h>#include <zephyr/posix/sched.h>Go to the source code of this file.
Functions | |
| int | pthread_cond_init (pthread_cond_t *cv, const pthread_condattr_t *att) |
| POSIX threading compatibility API. | |
| int | pthread_cond_destroy (pthread_cond_t *cv) |
| POSIX threading compatibility API. | |
| int | pthread_cond_signal (pthread_cond_t *cv) |
| POSIX threading compatibility API. | |
| int | pthread_cond_broadcast (pthread_cond_t *cv) |
| POSIX threading compatibility API. | |
| int | pthread_cond_wait (pthread_cond_t *cv, pthread_mutex_t *mut) |
| POSIX threading compatibility API. | |
| int | pthread_cond_timedwait (pthread_cond_t *cv, pthread_mutex_t *mut, const struct timespec *abstime) |
| POSIX threading compatibility API. | |
| int | pthread_condattr_init (pthread_condattr_t *att) |
| POSIX threading compatibility API. | |
| int | pthread_condattr_destroy (pthread_condattr_t *att) |
| POSIX threading compatibility API. | |
| int | pthread_condattr_getclock (const pthread_condattr_t *ZRESTRICT att, clockid_t *ZRESTRICT clock_id) |
| POSIX threading compatibility API. | |
| int | pthread_condattr_setclock (pthread_condattr_t *att, clockid_t clock_id) |
| POSIX threading compatibility API. | |
| int | pthread_mutex_destroy (pthread_mutex_t *m) |
| POSIX threading compatibility API. | |
| int | pthread_mutex_lock (pthread_mutex_t *m) |
| POSIX threading compatibility API. | |
| int | pthread_mutex_unlock (pthread_mutex_t *m) |
| POSIX threading compatibility API. | |
| int | pthread_mutex_timedlock (pthread_mutex_t *m, const struct timespec *abstime) |
| POSIX threading compatibility API. | |
| int | pthread_mutex_trylock (pthread_mutex_t *m) |
| POSIX threading compatibility API. | |
| int | pthread_mutex_init (pthread_mutex_t *m, const pthread_mutexattr_t *att) |
| POSIX threading compatibility API. | |
| int | pthread_mutexattr_setprotocol (pthread_mutexattr_t *attr, int protocol) |
| POSIX threading compatibility API. | |
| int | pthread_mutexattr_settype (pthread_mutexattr_t *attr, int type) |
| POSIX threading compatibility API. | |
| int | pthread_mutexattr_getprotocol (const pthread_mutexattr_t *attr, int *protocol) |
| POSIX threading compatibility API. | |
| int | pthread_mutexattr_gettype (const pthread_mutexattr_t *attr, int *type) |
| POSIX threading compatibility API. | |
| int | pthread_mutexattr_init (pthread_mutexattr_t *attr) |
| POSIX threading compatibility API. | |
| int | pthread_mutexattr_destroy (pthread_mutexattr_t *attr) |
| POSIX threading compatibility API. | |
| int | pthread_barrier_wait (pthread_barrier_t *b) |
| POSIX threading compatibility API. | |
| int | pthread_barrier_init (pthread_barrier_t *b, const pthread_barrierattr_t *attr, unsigned int count) |
| POSIX threading compatibility API. | |
| int | pthread_barrier_destroy (pthread_barrier_t *b) |
| POSIX threading compatibility API. | |
| int | pthread_barrierattr_init (pthread_barrierattr_t *b) |
| POSIX threading compatibility API. | |
| int | pthread_barrierattr_destroy (pthread_barrierattr_t *b) |
| POSIX threading compatibility API. | |
| int | pthread_barrierattr_setpshared (pthread_barrierattr_t *attr, int pshared) |
| POSIX threading compatibility API. | |
| int | pthread_barrierattr_getpshared (const pthread_barrierattr_t *ZRESTRICT attr, int *ZRESTRICT pshared) |
| POSIX threading compatibility API. | |
| pthread_t | pthread_self (void) |
| Obtain ID of the calling thread. | |
| int | pthread_equal (pthread_t pt1, pthread_t pt2) |
| Compare thread IDs. | |
| int | pthread_rwlockattr_destroy (pthread_rwlockattr_t *attr) |
| Destroy the read-write lock attributes object. | |
| int | pthread_rwlockattr_init (pthread_rwlockattr_t *attr) |
| initialize the read-write lock attributes object. | |
| int | pthread_rwlockattr_getpshared (const pthread_rwlockattr_t *ZRESTRICT attr, int *ZRESTRICT pshared) |
| int | pthread_rwlockattr_setpshared (pthread_rwlockattr_t *attr, int pshared) |
| int | pthread_attr_getguardsize (const pthread_attr_t *ZRESTRICT attr, size_t *ZRESTRICT guardsize) |
| int | pthread_attr_getstacksize (const pthread_attr_t *attr, size_t *stacksize) |
| int | pthread_attr_setguardsize (pthread_attr_t *attr, size_t guardsize) |
| int | pthread_attr_setstacksize (pthread_attr_t *attr, size_t stacksize) |
| int | pthread_attr_setschedpolicy (pthread_attr_t *attr, int policy) |
| int | pthread_attr_getschedpolicy (const pthread_attr_t *attr, int *policy) |
| int | pthread_attr_setdetachstate (pthread_attr_t *attr, int detachstate) |
| int | pthread_attr_getdetachstate (const pthread_attr_t *attr, int *detachstate) |
| int | pthread_attr_init (pthread_attr_t *attr) |
| int | pthread_attr_destroy (pthread_attr_t *attr) |
| int | pthread_attr_getschedparam (const pthread_attr_t *attr, struct sched_param *schedparam) |
| int | pthread_getschedparam (pthread_t pthread, int *policy, struct sched_param *param) |
| int | pthread_attr_getstack (const pthread_attr_t *attr, void **stackaddr, size_t *stacksize) |
| int | pthread_attr_setstack (pthread_attr_t *attr, void *stackaddr, size_t stacksize) |
| int | pthread_attr_getscope (const pthread_attr_t *attr, int *contentionscope) |
| int | pthread_attr_setscope (pthread_attr_t *attr, int contentionscope) |
| int | pthread_attr_getinheritsched (const pthread_attr_t *attr, int *inheritsched) |
| int | pthread_attr_setinheritsched (pthread_attr_t *attr, int inheritsched) |
| FUNC_NORETURN void | pthread_exit (void *retval) |
| int | pthread_join (pthread_t thread, void **status) |
| int | pthread_cancel (pthread_t pthread) |
| int | pthread_detach (pthread_t thread) |
| int | pthread_create (pthread_t *newthread, const pthread_attr_t *attr, void *(*threadroutine)(void *), void *arg) |
| int | pthread_setcancelstate (int state, int *oldstate) |
| int | pthread_setcanceltype (int type, int *oldtype) |
| void | pthread_testcancel (void) |
| int | pthread_attr_setschedparam (pthread_attr_t *attr, const struct sched_param *schedparam) |
| int | pthread_setschedparam (pthread_t pthread, int policy, const struct sched_param *param) |
| int | pthread_setschedprio (pthread_t thread, int prio) |
| int | pthread_rwlock_destroy (pthread_rwlock_t *rwlock) |
| int | pthread_rwlock_init (pthread_rwlock_t *rwlock, const pthread_rwlockattr_t *attr) |
| int | pthread_rwlock_rdlock (pthread_rwlock_t *rwlock) |
| int | pthread_rwlock_timedrdlock (pthread_rwlock_t *rwlock, const struct timespec *abstime) |
| int | pthread_rwlock_timedwrlock (pthread_rwlock_t *rwlock, const struct timespec *abstime) |
| int | pthread_rwlock_tryrdlock (pthread_rwlock_t *rwlock) |
| int | pthread_rwlock_trywrlock (pthread_rwlock_t *rwlock) |
| int | pthread_rwlock_unlock (pthread_rwlock_t *rwlock) |
| int | pthread_rwlock_wrlock (pthread_rwlock_t *rwlock) |
| int | pthread_key_create (pthread_key_t *key, void(*destructor)(void *)) |
| int | pthread_key_delete (pthread_key_t key) |
| int | pthread_setspecific (pthread_key_t key, const void *value) |
| void * | pthread_getspecific (pthread_key_t key) |
| int | pthread_atfork (void(*prepare)(void), void(*parent)(void), void(*child)(void)) |
| int | pthread_getconcurrency (void) |
| int | pthread_setconcurrency (int new_level) |
| int | pthread_setname_np (pthread_t thread, const char *name) |
| Set name of POSIX thread. | |
| int | pthread_getname_np (pthread_t thread, char *name, size_t len) |
| Get name of POSIX thread and store in name buffer that is of size len. | |
| #define PTHREAD_BARRIER_SERIAL_THREAD 1 |
| #define PTHREAD_CANCEL_ASYNCHRONOUS 1 |
| #define PTHREAD_CANCEL_DEFERRED 0 |
| #define PTHREAD_CANCEL_DISABLE 1 |
| #define PTHREAD_CANCEL_ENABLE 0 |
| #define PTHREAD_CANCELED ((void *)-1) |
| #define pthread_cleanup_pop | ( | _ex | ) |
| #define pthread_cleanup_push | ( | _rtn, | |
| _arg | |||
| ) |
| #define PTHREAD_COND_INITIALIZER (-1) |
Declare a condition variable as initialized.
Initialize a condition variable with the default condition variable attributes.
| #define PTHREAD_CREATE_DETACHED 1 |
| #define PTHREAD_CREATE_JOINABLE 0 |
| #define PTHREAD_EXPLICIT_SCHED 1 |
| #define PTHREAD_INHERIT_SCHED 0 |
| #define PTHREAD_MUTEX_DEFAULT PTHREAD_MUTEX_NORMAL |
| #define PTHREAD_MUTEX_ERRORCHECK 2 |
| #define PTHREAD_MUTEX_INITIALIZER (-1) |
Declare a mutex as initialized.
Initialize a mutex with the default mutex attributes.
| #define PTHREAD_MUTEX_NORMAL 0 |
| #define PTHREAD_MUTEX_RECURSIVE 1 |
| #define PTHREAD_ONCE_INIT {0} |
| #define PTHREAD_PRIO_NONE 0 |
| #define PTHREAD_PROCESS_PRIVATE 0 |
| #define PTHREAD_PROCESS_PRIVATE 0 |
| #define PTHREAD_PROCESS_PUBLIC 1 |
| #define PTHREAD_PROCESS_SHARED 1 |
| #define PTHREAD_RWLOCK_INITIALIZER (-1) |
Declare a rwlock as initialized.
Initialize a rwlock with the default rwlock attributes.
| #define PTHREAD_SCOPE_PROCESS 1 |
| #define PTHREAD_SCOPE_SYSTEM 0 |
| #define PTHREAD_STACK_MIN K_KERNEL_STACK_LEN(0) |
| int pthread_atfork | ( | void(*)(void) | prepare, |
| void(*)(void) | parent, | ||
| void(*)(void) | child | ||
| ) |
| int pthread_attr_destroy | ( | pthread_attr_t * | attr | ) |
| int pthread_attr_getdetachstate | ( | const pthread_attr_t * | attr, |
| int * | detachstate | ||
| ) |
| int pthread_attr_getinheritsched | ( | const pthread_attr_t * | attr, |
| int * | inheritsched | ||
| ) |
| int pthread_attr_getschedparam | ( | const pthread_attr_t * | attr, |
| struct sched_param * | schedparam | ||
| ) |
| int pthread_attr_getschedpolicy | ( | const pthread_attr_t * | attr, |
| int * | policy | ||
| ) |
| int pthread_attr_getscope | ( | const pthread_attr_t * | attr, |
| int * | contentionscope | ||
| ) |
| int pthread_attr_getstack | ( | const pthread_attr_t * | attr, |
| void ** | stackaddr, | ||
| size_t * | stacksize | ||
| ) |
| int pthread_attr_getstacksize | ( | const pthread_attr_t * | attr, |
| size_t * | stacksize | ||
| ) |
| int pthread_attr_init | ( | pthread_attr_t * | attr | ) |
| int pthread_attr_setdetachstate | ( | pthread_attr_t * | attr, |
| int | detachstate | ||
| ) |
| int pthread_attr_setguardsize | ( | pthread_attr_t * | attr, |
| size_t | guardsize | ||
| ) |
| int pthread_attr_setinheritsched | ( | pthread_attr_t * | attr, |
| int | inheritsched | ||
| ) |
| int pthread_attr_setschedparam | ( | pthread_attr_t * | attr, |
| const struct sched_param * | schedparam | ||
| ) |
| int pthread_attr_setschedpolicy | ( | pthread_attr_t * | attr, |
| int | policy | ||
| ) |
| int pthread_attr_setscope | ( | pthread_attr_t * | attr, |
| int | contentionscope | ||
| ) |
| int pthread_attr_setstack | ( | pthread_attr_t * | attr, |
| void * | stackaddr, | ||
| size_t | stacksize | ||
| ) |
| int pthread_attr_setstacksize | ( | pthread_attr_t * | attr, |
| size_t | stacksize | ||
| ) |
| int pthread_barrier_destroy | ( | pthread_barrier_t * | b | ) |
POSIX threading compatibility API.
See IEEE 1003.1
| int pthread_barrier_init | ( | pthread_barrier_t * | b, |
| const pthread_barrierattr_t * | attr, | ||
| unsigned int | count | ||
| ) |
POSIX threading compatibility API.
See IEEE 1003.1
| int pthread_barrier_wait | ( | pthread_barrier_t * | b | ) |
POSIX threading compatibility API.
See IEEE 1003.1
| int pthread_barrierattr_destroy | ( | pthread_barrierattr_t * | b | ) |
POSIX threading compatibility API.
See IEEE 1003.1
| int pthread_barrierattr_getpshared | ( | const pthread_barrierattr_t *ZRESTRICT | attr, |
| int *ZRESTRICT | pshared | ||
| ) |
POSIX threading compatibility API.
See IEEE 1003.1
| int pthread_barrierattr_init | ( | pthread_barrierattr_t * | b | ) |
POSIX threading compatibility API.
See IEEE 1003.1
| int pthread_barrierattr_setpshared | ( | pthread_barrierattr_t * | attr, |
| int | pshared | ||
| ) |
POSIX threading compatibility API.
See IEEE 1003.1
| int pthread_cancel | ( | pthread_t | pthread | ) |
| int pthread_cond_broadcast | ( | pthread_cond_t * | cv | ) |
POSIX threading compatibility API.
See IEEE 1003.1
| int pthread_cond_destroy | ( | pthread_cond_t * | cv | ) |
POSIX threading compatibility API.
See IEEE 1003.1
| int pthread_cond_init | ( | pthread_cond_t * | cv, |
| const pthread_condattr_t * | att | ||
| ) |
POSIX threading compatibility API.
See IEEE 1003.1
| int pthread_cond_signal | ( | pthread_cond_t * | cv | ) |
POSIX threading compatibility API.
See IEEE 1003.1
| int pthread_cond_timedwait | ( | pthread_cond_t * | cv, |
| pthread_mutex_t * | mut, | ||
| const struct timespec * | abstime | ||
| ) |
POSIX threading compatibility API.
See IEEE 1003.1
| int pthread_cond_wait | ( | pthread_cond_t * | cv, |
| pthread_mutex_t * | mut | ||
| ) |
POSIX threading compatibility API.
See IEEE 1003.1
| int pthread_condattr_destroy | ( | pthread_condattr_t * | att | ) |
POSIX threading compatibility API.
See IEEE 1003.1
| int pthread_condattr_getclock | ( | const pthread_condattr_t *ZRESTRICT | att, |
| clockid_t *ZRESTRICT | clock_id | ||
| ) |
POSIX threading compatibility API.
See IEEE 1003.1
| int pthread_condattr_init | ( | pthread_condattr_t * | att | ) |
POSIX threading compatibility API.
See IEEE 1003.1.
| int pthread_condattr_setclock | ( | pthread_condattr_t * | att, |
| clockid_t | clock_id | ||
| ) |
POSIX threading compatibility API.
See IEEE 1003.1
| int pthread_create | ( | pthread_t * | newthread, |
| const pthread_attr_t * | attr, | ||
| void *(*)(void *) | threadroutine, | ||
| void * | arg | ||
| ) |
| int pthread_detach | ( | pthread_t | thread | ) |
| FUNC_NORETURN void pthread_exit | ( | void * | retval | ) |
| int pthread_getconcurrency | ( | void | ) |
Get name of POSIX thread and store in name buffer that is of size len.
Non-portable, extension function that conforms with most other definitions of this function.
| thread | POSIX thread to obtain name information |
| name | Destination buffer |
| len | Destination buffer size |
| 0 | Success |
| ESRCH | Thread does not exist |
| EINVAL | Name buffer is NULL |
| Negative | value if kernel function error |
| int pthread_getschedparam | ( | pthread_t | pthread, |
| int * | policy, | ||
| struct sched_param * | param | ||
| ) |
| void * pthread_getspecific | ( | pthread_key_t | key | ) |
| int pthread_join | ( | pthread_t | thread, |
| void ** | status | ||
| ) |
| int pthread_key_create | ( | pthread_key_t * | key, |
| void(*)(void *) | destructor | ||
| ) |
| int pthread_key_delete | ( | pthread_key_t | key | ) |
| int pthread_mutex_destroy | ( | pthread_mutex_t * | m | ) |
POSIX threading compatibility API.
See IEEE 1003.1
| int pthread_mutex_init | ( | pthread_mutex_t * | m, |
| const pthread_mutexattr_t * | att | ||
| ) |
POSIX threading compatibility API.
See IEEE 1003.1
| int pthread_mutex_lock | ( | pthread_mutex_t * | m | ) |
POSIX threading compatibility API.
See IEEE 1003.1
| int pthread_mutex_timedlock | ( | pthread_mutex_t * | m, |
| const struct timespec * | abstime | ||
| ) |
POSIX threading compatibility API.
See IEEE 1003.1
| int pthread_mutex_trylock | ( | pthread_mutex_t * | m | ) |
POSIX threading compatibility API.
See IEEE 1003.1
| int pthread_mutex_unlock | ( | pthread_mutex_t * | m | ) |
POSIX threading compatibility API.
See IEEE 1003.1
| int pthread_mutexattr_destroy | ( | pthread_mutexattr_t * | attr | ) |
POSIX threading compatibility API.
See IEEE 1003.1
Note that pthread attribute structs are currently noops in Zephyr.
| int pthread_mutexattr_getprotocol | ( | const pthread_mutexattr_t * | attr, |
| int * | protocol | ||
| ) |
POSIX threading compatibility API.
See IEEE 1003.1
| int pthread_mutexattr_gettype | ( | const pthread_mutexattr_t * | attr, |
| int * | type | ||
| ) |
POSIX threading compatibility API.
See IEEE 1003.1
| int pthread_mutexattr_init | ( | pthread_mutexattr_t * | attr | ) |
POSIX threading compatibility API.
See IEEE 1003.1
Note that pthread attribute structs are currently noops in Zephyr.
| int pthread_mutexattr_setprotocol | ( | pthread_mutexattr_t * | attr, |
| int | protocol | ||
| ) |
POSIX threading compatibility API.
See IEEE 1003.1
| int pthread_mutexattr_settype | ( | pthread_mutexattr_t * | attr, |
| int | type | ||
| ) |
POSIX threading compatibility API.
See IEEE 1003.1
| int pthread_rwlock_destroy | ( | pthread_rwlock_t * | rwlock | ) |
| int pthread_rwlock_init | ( | pthread_rwlock_t * | rwlock, |
| const pthread_rwlockattr_t * | attr | ||
| ) |
| int pthread_rwlock_rdlock | ( | pthread_rwlock_t * | rwlock | ) |
| int pthread_rwlock_timedrdlock | ( | pthread_rwlock_t * | rwlock, |
| const struct timespec * | abstime | ||
| ) |
| int pthread_rwlock_timedwrlock | ( | pthread_rwlock_t * | rwlock, |
| const struct timespec * | abstime | ||
| ) |
| int pthread_rwlock_tryrdlock | ( | pthread_rwlock_t * | rwlock | ) |
| int pthread_rwlock_trywrlock | ( | pthread_rwlock_t * | rwlock | ) |
| int pthread_rwlock_unlock | ( | pthread_rwlock_t * | rwlock | ) |
| int pthread_rwlock_wrlock | ( | pthread_rwlock_t * | rwlock | ) |
| int pthread_rwlockattr_destroy | ( | pthread_rwlockattr_t * | attr | ) |
Destroy the read-write lock attributes object.
See IEEE 1003.1
| int pthread_rwlockattr_getpshared | ( | const pthread_rwlockattr_t *ZRESTRICT | attr, |
| int *ZRESTRICT | pshared | ||
| ) |
| int pthread_rwlockattr_init | ( | pthread_rwlockattr_t * | attr | ) |
initialize the read-write lock attributes object.
See IEEE 1003.1
| int pthread_rwlockattr_setpshared | ( | pthread_rwlockattr_t * | attr, |
| int | pshared | ||
| ) |
| pthread_t pthread_self | ( | void | ) |
Obtain ID of the calling thread.
The results of calling this API from threads not created with pthread_create() are undefined.
See IEEE 1003.1
| int pthread_setcancelstate | ( | int | state, |
| int * | oldstate | ||
| ) |
| int pthread_setcanceltype | ( | int | type, |
| int * | oldtype | ||
| ) |
| int pthread_setconcurrency | ( | int | new_level | ) |
| int pthread_setname_np | ( | pthread_t | thread, |
| const char * | name | ||
| ) |
Set name of POSIX thread.
Non-portable, extension function that conforms with most other definitions of this function.
| thread | POSIX thread to set name |
| name | Name string |
| 0 | Success |
| ESRCH | Thread does not exist |
| EINVAL | Name buffer is NULL |
| Negative | value if kernel function error |
| int pthread_setschedparam | ( | pthread_t | pthread, |
| int | policy, | ||
| const struct sched_param * | param | ||
| ) |
| int pthread_setschedprio | ( | pthread_t | thread, |
| int | prio | ||
| ) |
| int pthread_setspecific | ( | pthread_key_t | key, |
| const void * | value | ||
| ) |
| void pthread_testcancel | ( | void | ) |