UCX  1.10
Unified Communication X
async_fwd.h
1 
7 #ifndef UCS_ASYNC_FWD_H
8 #define UCS_ASYNC_FWD_H
9 
10 #include <ucs/config/types.h>
11 #include <ucs/time/time_def.h>
12 #include <ucs/type/status.h>
13 #include <ucs/sys/event_set.h>
14 
15 BEGIN_C_DECLS
16 
19 typedef struct ucs_async_context ucs_async_context_t;
20 
21 
31 typedef void (*ucs_async_event_cb_t)(int id, ucs_event_set_types_t events,
32  void *arg);
33 
34 
51 ucs_status_t ucs_async_set_event_handler(ucs_async_mode_t mode, int event_fd,
52  ucs_event_set_types_t events,
53  ucs_async_event_cb_t cb, void *arg,
54  ucs_async_context_t *async);
55 
56 
72 ucs_status_t ucs_async_add_timer(ucs_async_mode_t mode, ucs_time_t interval,
73  ucs_async_event_cb_t cb, void *arg,
74  ucs_async_context_t *async, int *timer_id_p);
75 
76 
90 ucs_status_t ucs_async_remove_handler(int id, int sync);
91 
92 
103 ucs_status_t ucs_async_modify_handler(int fd, ucs_event_set_types_t events);
104 
105 
119 ucs_status_t ucs_async_context_create(ucs_async_mode_t mode,
120  ucs_async_context_t **async_p);
121 
122 
132 void ucs_async_context_destroy(ucs_async_context_t *async);
133 
134 
142 void ucs_async_poll(ucs_async_context_t *async);
143 
144 
145 void __ucs_async_poll_missed(ucs_async_context_t *async);
146 
147 END_C_DECLS
148 
149 #endif
void ucs_async_poll(ucs_async_context_t *async)
ucs_status_t ucs_async_context_create(ucs_async_mode_t mode, ucs_async_context_t **async_p)
Create an asynchronous execution context.
ucs_status_t ucs_async_set_event_handler(ucs_async_mode_t mode, int event_fd, ucs_event_set_types_t events, ucs_async_event_cb_t cb, void *arg, ucs_async_context_t *async)
ucs_status_t
Status codes.
Definition: status.h:45
ucs_status_t ucs_async_add_timer(ucs_async_mode_t mode, ucs_time_t interval, ucs_async_event_cb_t cb, void *arg, ucs_async_context_t *async, int *timer_id_p)
ucs_status_t ucs_async_remove_handler(int id, int sync)
void ucs_async_context_destroy(ucs_async_context_t *async)
Destroy the asynchronous execution context.
unsigned long ucs_time_t
Definition: time_def.h:23
void(* ucs_async_event_cb_t)(int id, ucs_event_set_types_t events, void *arg)
Definition: async_fwd.h:31
ucs_status_t ucs_async_modify_handler(int fd, ucs_event_set_types_t events)