22 #ifndef _WOLF_EVENT_H_ 23 #define _WOLF_EVENT_H_ 29 #ifndef SINGLE_THREADED 34 typedef unsigned short WOLF_EVENT_FLAG;
36 typedef enum WOLF_EVENT_TYPE {
38 #ifdef WOLFSSL_ASYNC_CRYPT 39 WOLF_EVENT_TYPE_ASYNC_WOLFSSL,
40 WOLF_EVENT_TYPE_ASYNC_WOLFCRYPT,
41 WOLF_EVENT_TYPE_ASYNC_FIRST = WOLF_EVENT_TYPE_ASYNC_WOLFSSL,
42 WOLF_EVENT_TYPE_ASYNC_LAST = WOLF_EVENT_TYPE_ASYNC_WOLFCRYPT,
46 typedef enum WOLF_EVENT_STATE {
47 WOLF_EVENT_STATE_READY,
48 WOLF_EVENT_STATE_PENDING,
49 WOLF_EVENT_STATE_DONE,
60 #ifdef WOLFSSL_ASYNC_CRYPT 61 struct WC_ASYNC_DEV* async;
66 #ifdef WOLFSSL_NITROX_DEBUG 70 #ifndef WC_NO_ASYNC_THREADING 76 WOLF_EVENT_STATE state;
79 enum WOLF_POLL_FLAGS {
80 WOLF_POLL_FLAG_CHECK_HW = 0x01,
86 #ifndef SINGLE_THREADED 93 #ifdef HAVE_WOLF_EVENT 96 WOLFSSL_API
int wolfEvent_Init(
WOLF_EVENT* event, WOLF_EVENT_TYPE type,
void* context);
97 WOLFSSL_API
int wolfEvent_Poll(
WOLF_EVENT* event, WOLF_EVENT_FLAG flags);
103 WOLFSSL_API
int wolfEventQueue_Poll(
WOLF_EVENT_QUEUE* queue,
void* context_filter,
104 WOLF_EVENT** events,
int maxEvents, WOLF_EVENT_FLAG flags,
int* eventCount);
Definition: wolfevent.h:52
Definition: wolfevent.h:83