64#ifndef JUNO_THREAD_API_H
65#define JUNO_THREAD_API_H
211 void *pvFailureUserData
#define JUNO_MODULE_ROOT(API_T,...)
Implement a module root struct containing ptApi and failure fields.
Definition module.h:129
void(* JUNO_FAILURE_HANDLER_T)(JUNO_STATUS_T tStatus, const char *pcCustomMessage, JUNO_USER_DATA_T *pvUserData)
Failure handler callback signature.
Definition status.h:110
int32_t JUNO_STATUS_T
Canonical status type for LibJuno functions.
Definition status.h:51
Module system and dependency injection primitives for LibJuno.
Status codes and failure-handling helpers for LibJuno.
Thread module vtable (API struct).
Definition thread_api.h:144
JUNO_STATUS_T(* Free)(JUNO_THREAD_ROOT_T *ptRoot)
Release platform resources held by the Thread module instance.
Definition thread_api.h:181
JUNO_STATUS_T(* Join)(JUNO_THREAD_ROOT_T *ptRoot)
Block until the managed thread exits.
Definition thread_api.h:169
JUNO_STATUS_T(* Stop)(JUNO_THREAD_ROOT_T *ptRoot)
Signal the managed thread to exit cooperatively.
Definition thread_api.h:156
struct JUNO_THREAD_ROOT_TAG JUNO_THREAD_ROOT_T
Forward declaration of the Thread module root struct.
Definition thread_api.h:83
union JUNO_THREAD_TAG JUNO_THREAD_T
Forward declaration of the Thread module union. The full union body is defined in juno/thread_linux....
Definition thread_api.h:94
struct JUNO_THREAD_LINUX_TAG JUNO_THREAD_LINUX_T
Forward declaration of the Linux/POSIX derivation struct.
Definition thread_api.h:89
JUNO_STATUS_T JunoThread_Init(JUNO_THREAD_ROOT_T *ptRoot, const JUNO_THREAD_API_T *ptApi, JUNO_FAILURE_HANDLER_T pfcnFailureHandler, void *pvFailureUserData)
Initialise a Thread module root with a concrete vtable and failure handler.
Definition juno_thread_init.cpp:52
Common module result type aliases used throughout LibJuno.