| 
    Zephyr Project API
    3.4.0
    
   A Scalable Open Source RTOS 
   | 
 
#include <thread.h>
Data Fields | |
| struct _thread_base | base | 
| struct _callee_saved | callee_saved | 
| void * | init_data | 
| _wait_q_t | join_queue | 
| struct __thread_entry | entry | 
| struct k_thread * | next_thread | 
| void * | custom_data | 
| struct _thread_stack_info | stack_info | 
| struct _mem_domain_info | mem_domain_info | 
| k_thread_stack_t * | stack_obj | 
| void * | syscall_frame | 
| int | swap_retval | 
| void * | switch_handle | 
| struct k_heap * | resource_pool | 
| struct _thread_arch | arch | 
Thread Structure
| struct _thread_arch k_thread::arch | 
arch-specifics: must always be at the end
| struct _thread_base k_thread::base | 
| struct _callee_saved k_thread::callee_saved | 
defined by the architecture, but all archs need these
| void* k_thread::custom_data | 
crude thread-local storage
| struct __thread_entry k_thread::entry | 
thread entry and parameters description
| void* k_thread::init_data | 
static thread init data
| _wait_q_t k_thread::join_queue | 
threads waiting in k_thread_join()
| struct _mem_domain_info k_thread::mem_domain_info | 
memory domain info of the thread
| struct k_thread* k_thread::next_thread | 
next item in list of all threads
| struct k_heap* k_thread::resource_pool | 
resource pool
| struct _thread_stack_info k_thread::stack_info | 
Stack Info
| k_thread_stack_t* k_thread::stack_obj | 
Base address of thread stack
| int k_thread::swap_retval | 
z_swap() return value
| void* k_thread::switch_handle | 
Context handle returned via arch_switch()
| void* k_thread::syscall_frame | 
current syscall frame pointer