28#include "events/internal/equeue_platform.h"
40#define EQUEUE_EVENT_SIZE (sizeof(struct equeue_event) + 2*sizeof(void*))
68 unsigned char *buffer;
80 void (*update)(
void *timer,
int ms);
84 equeue_sema_t eventsema;
85 equeue_mutex_t queuelock;
86 equeue_mutex_t memlock;
101int equeue_create(
equeue_t *queue,
size_t size);
102int equeue_create_inplace(
equeue_t *queue,
size_t size,
void *buffer);
103void equeue_destroy(
equeue_t *queue);
114void equeue_dispatch(
equeue_t *queue,
int ms);
137int equeue_call(
equeue_t *queue,
void (*cb)(
void *),
void *data);
138int equeue_call_in(
equeue_t *queue,
int ms,
void (*cb)(
void *),
void *data);
139int equeue_call_every(
equeue_t *queue,
int ms,
void (*cb)(
void *),
void *data);
158void *equeue_alloc(
equeue_t *queue,
size_t size);
159void equeue_dealloc(
equeue_t *queue,
void *event);
166void equeue_event_delay(
void *event,
int ms);
167void equeue_event_period(
void *event,
int ms);
168void equeue_event_dtor(
void *event,
void (*dtor)(
void *));
182int equeue_post(
equeue_t *queue,
void (*cb)(
void *),
void *event);
193void equeue_post_user_allocated(
equeue_t *queue,
void (*cb)(
void *),
void *event);
208bool equeue_cancel(
equeue_t *queue,
int id);
222bool equeue_cancel_user_allocated(
equeue_t *queue,
void *event);
231int equeue_timeleft(
equeue_t *q,
int id);
240int equeue_timeleft_user_allocated(
equeue_t *q,
void *event);
253void equeue_background(
equeue_t *queue,
254 void (*update)(
void *timer,
int ms),
void *timer);