Zephyr API Documentation 4.0.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_INHERIT 1 |
#define PTHREAD_PRIO_NONE 0 |
#define PTHREAD_PRIO_PROTECT 2 |
#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(* | prepare )(void), |
void(* | parent )(void), | ||
void(* | child )(void) ) |
int pthread_attr_destroy | ( | pthread_attr_t * | attr | ) |
int pthread_attr_getdetachstate | ( | const pthread_attr_t * | attr, |
int * | detachstate ) |
int pthread_attr_getguardsize | ( | const pthread_attr_t *ZRESTRICT | attr, |
size_t *ZRESTRICT | guardsize ) |
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 *(* | threadroutine )(void *), | ||
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(* | destructor )(void *) ) |
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 | ) |