92 void (*postAbsolute)(
void *
Obj, int64_t EvId, int64_t T);
93 void (*postRelative)(
void *
Obj, int64_t EvId, int64_t T);
94 void (*postOnStack)(
void *
Obj, int64_t EvId);
96 #define TEMU_EVENT_IFACE_TYPE "EventIface"
110 void (*Ev)(
void*,
void*));
273 #define TEMU_ASYNC_CYCLIC 1
274 #define TEMU_ASYNC_READ (1 << 1)
275 #define TEMU_ASYNC_WRITE (1 << 2)
307 unsigned Flags,
void (*CB)(
void*),
struct temu_EventQueue temu_EventQueue
TEMU_API int temu_asyncTimerAdd(void *Q, double T, unsigned Flags, void(*CB)(void *), void *Data)
void(* temu_ThreadSafeCb)(void *)
TEMU_API uint64_t temu_eventQueueGetFreq(void *Q)
TEMU_API int64_t temu_eventPublishStruct(const char *EvName, temu_Event *Ev, void *Obj, void(*Func)(temu_Event *))
TEMU_API int64_t temu_eventGetCycles(void *Q, int64_t EvID)
TEMU_API int temu_eventSetRealTime(int64_t EvID)
TEMU_API int temu_eventIsScheduled(int64_t EvID)
TEMU_API void temu_eventDepublish(int64_t EvID)
void(* Func)(struct temu_Event *)
TEMU_API void temu_eventPostStack(void *Q, int64_t EvID, temu_SyncEvent Sync)
TEMU_API void temu_eventPostAsync(void *Q, temu_ThreadSafeCb CB, void *Data, temu_SyncEvent Sync)
TEMU_API int temu_asyncSocketAdd(void *Q, int Sock, unsigned Flags, void(*CB)(void *), void *Data)
TEMU_API void * temu_allocateEventQueue(void)
Allocate event queue.
TEMU_API int64_t temu_eventGetNanos(void *Q, int64_t EvID)
TEMU_API int64_t temu_eventGetOldStyleID(void(*Ev)(void *, void *), void *Sender)
TEMU_API void temu_eventPostNanos(void *Q, int64_t EvID, int64_t Delta, temu_SyncEvent Sync)
#define TEMU_IFACE_REFERENCE_TYPE(N)
TEMU_API int64_t temu_eventPublishOldStyle(const char *Name, void *Obj, void(*Ev)(void *, void *))
TEMU_API void temu_postCallbackInQueue(void *Queue, temu_ThreadSafeCb Cb, void *Arg)
Post an event directly into a queue object.
TEMU_API double temu_eventGetSecs(void *Q, int64_t EvID)
TEMU_API void temu_eventSetPeriodCycles(int64_t EvID, int64_t Period)
TEMU_API int64_t temu_eventPublish(const char *EvName, void *Obj, void(*Func)(temu_Event *))
struct temu_Event temu_Event
TEMU_API void temu_asyncSocketRemove(int Fd, unsigned Flags)
TEMU_API void temu_eventDeschedule(int64_t EvID)
TEMU_API void temu_disposeEventQueue(void *Queue)
Dispose event queue.
TEMU_API void temu_eventPostCycles(void *Q, int64_t EvID, int64_t Delta, temu_SyncEvent Sync)
TEMU_API void temu_eventSetRTPeriodNanos(int64_t EvID, int64_t Period)
TEMU_API void temu_removeCallbackInQueue(void *Queue, temu_ThreadSafeCb Cb, void *Arg)
Remove an event from a queue object.
TEMU_API void temu_eventPostSecs(void *Q, int64_t EvID, double Delta, temu_SyncEvent Sync)
TEMU_API void temu_asyncTimerRemove(int Fd)
TEMU_API void temu_eventSetRTTime(int64_t EvID, int64_t Time)