DAOS API (v2.1 - dev)
Loading...
Searching...
No Matches
daos_event.h
1
26#ifndef __DAOS_EVENT_H__
27#define __DAOS_EVENT_H__
28
29#if defined(__cplusplus)
30extern "C" {
31#endif
32
33#include <daos_types.h>
34#include <daos_errno.h>
35
36#if !defined(container_of)
41# define container_of(ptr, type, member) \
42 ((type *)((char *)(ptr)-(char *)(&((type *)0)->member)))
43#endif
44
56int
57daos_eq_create(daos_handle_t *eqh);
58
59#define DAOS_EQ_DESTROY_FORCE 1
69int
70daos_eq_destroy(daos_handle_t eqh, int flags);
71
89int
90daos_eq_poll(daos_handle_t eqh, int wait_running,
91 int64_t timeout, unsigned int nevents, daos_event_t **events);
92
113int
114daos_eq_query(daos_handle_t eqh, daos_eq_query_t query,
115 unsigned int nevents, daos_event_t **events);
116
138int
139daos_event_init(daos_event_t *ev, daos_handle_t eqh, daos_event_t *parent);
140
155int
156daos_event_fini(daos_event_t *ev);
157
169daos_event_next(daos_event_t *parent, daos_event_t *child);
170
189int
190daos_event_test(struct daos_event *ev, int64_t timeout, bool *flag);
191
192typedef int (*daos_event_comp_cb_t)(void *, daos_event_t *, int);
193
206int
207daos_event_register_comp_cb(struct daos_event *ev, daos_event_comp_cb_t cb,
208 void *arg);
209
230int
231daos_event_parent_barrier(struct daos_event *ev);
232
244int
245daos_event_abort(daos_event_t *ev);
246
247#if defined(__cplusplus)
248}
249#endif
250
251#endif /* __DAOS_EVENT_H__ */