12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- /*
- * Copyright (c) 2018 Intel Corporation
- *
- * SPDX-License-Identifier: Apache-2.0
- */
- #ifndef ZEPHYR_INCLUDE_POSIX_PTHREAD_KEY_H_
- #define ZEPHYR_INCLUDE_POSIX_PTHREAD_KEY_H_
- #ifdef CONFIG_PTHREAD_IPC
- #include <sys/slist.h>
- #include <zephyr/types.h>
- #ifdef __cplusplus
- extern "C" {
- #endif
- typedef uint32_t pthread_once_t;
- /* pthread_key */
- typedef void *pthread_key_t;
- typedef struct pthread_key_obj {
- /* List of pthread_key_data objects that contain thread
- * specific data for the key
- */
- sys_slist_t key_data_l;
- /* Optional destructor that is passed to pthread_key_create() */
- void (*destructor)(void *);
- } pthread_key_obj;
- typedef struct pthread_thread_data {
- sys_snode_t node;
- /* Key and thread specific data passed to pthread_setspecific() */
- pthread_key_obj *key;
- void *spec_data;
- } pthread_thread_data;
- typedef struct pthread_key_data {
- sys_snode_t node;
- pthread_thread_data thread_data;
- } pthread_key_data;
- #ifdef __cplusplus
- }
- #endif
- #endif /* CONFIG_PTHREAD_IPC */
- #endif /* ZEPHYR_INCLUDE_POSIX_PTHREAD_KEY_H_*/
|