XROAD
xroad_queue.h
Go to the documentation of this file.
1 
6 #pragma once
7 
8 #include <stdint.h>
9 #include <sys/eventfd.h>
10 #include "xroad_common_types.h"
11 
12 #ifdef __cplusplus
13 extern "C"
14 {
15 #endif
16 
17 typedef struct xroad_queue_s xroad_queue_t;
18 
22 typedef struct xroad_queue_callback_s
23 {
24  void* ctx;
32  void (*on_queue)(xroad_queue_t*, void*, size_t, void*);
34 
41 
46 void xroad_queue_destroy(xroad_queue_t* q);
47 
55 xroad_errno_t xroad_queue_push(xroad_queue_t* q, void* val, size_t size);
56 
57 #ifdef __cplusplus
58 }
59 #endif
Definition: xroad_queue.h:23
void(* on_queue)(xroad_queue_t *, void *, size_t, void *)
Definition: xroad_queue.h:32
void * ctx
context, which will be passed in on_event callback
Definition: xroad_queue.h:24
void xroad_queue_destroy(xroad_queue_t *q)
struct xroad_queue_callback_s xroad_queue_callback_t
xroad_queue_t * xroad_queue_create(xroad_queue_callback_t cb)
xroad_errno_t xroad_queue_push(xroad_queue_t *q, void *val, size_t size)