29#ifndef SINGLE_THREADED
34typedef unsigned short WOLF_EVENT_FLAG;
36typedef 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,
46typedef 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;
80 WOLF_POLL_FLAG_CHECK_HW = 0x01,
86#ifndef SINGLE_THREADED
96WOLFSSL_API
int wolfEvent_Init(
WOLF_EVENT* event, WOLF_EVENT_TYPE type,
void* context);
97WOLFSSL_API
int wolfEvent_Poll(
WOLF_EVENT* event, WOLF_EVENT_FLAG flags);
103WOLFSSL_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:83
Definition wolfevent.h:52