Changes in uspace/lib/c/include/async.h [c721d26:9ef495f] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/c/include/async.h
rc721d26 r9ef495f 48 48 #include <abi/ddi/irq.h> 49 49 #include <abi/ipc/event.h> 50 #include <abi/ipc/interfaces.h> 50 51 51 52 typedef ipc_callid_t aid_t; 53 typedef sysarg_t port_id_t; 52 54 53 55 typedef void *(*async_client_data_ctor_t)(void); 54 56 typedef void (*async_client_data_dtor_t)(void *); 55 57 56 /** Client connection handler58 /** Port connection handler 57 59 * 58 60 * @param callid ID of incoming call or 0 if connection initiated from 59 * inside using async_c onnect_to_me()61 * inside using async_create_callback_port() 60 62 * @param call Incoming call or 0 if connection initiated from inside 61 * @param arg Local argument passed from async_new_connection() or 62 * async_connect_to_me() 63 */ 64 typedef void (*async_client_conn_t)(ipc_callid_t, ipc_call_t *, void *); 63 * using async_create_callback_port() 64 * @param arg Local argument. 65 * 66 */ 67 typedef void (*async_port_handler_t)(ipc_callid_t, ipc_call_t *, void *); 65 68 66 69 /** Notification handler */ … … 80 83 EXCHANGE_ATOMIC = 0, 81 84 85 /** Exchange management via mutual exclusion 86 * 87 * Suitable for any kind of client/server communication, 88 * but can limit parallelism. 89 * 90 */ 91 EXCHANGE_SERIALIZE = 1, 92 82 93 /** Exchange management via phone cloning 83 94 * … … 87 98 * 88 99 */ 89 EXCHANGE_PARALLEL, 90 91 /** Exchange management via mutual exclusion 92 * 93 * Suitable for any kind of client/server communication, 94 * but can limit parallelism. 95 * 96 */ 97 EXCHANGE_SERIALIZE 100 EXCHANGE_PARALLEL = 2 98 101 } exch_mgmt_t; 99 102 … … 147 150 extern void async_forget(aid_t); 148 151 149 extern fid_t async_new_connection(task_id_t, sysarg_t, ipc_callid_t,150 ipc_call_t *, async_client_conn_t, void *);151 152 152 extern void async_usleep(suseconds_t); 153 153 extern void async_create_manager(void); … … 160 160 extern void async_put_client_data_by_id(task_id_t); 161 161 162 extern void async_set_client_connection(async_client_conn_t); 162 extern int async_create_port(iface_t, async_port_handler_t, void *, 163 port_id_t *); 164 extern void async_set_fallback_port_handler(async_port_handler_t, void *); 165 extern int async_create_callback_port(async_exch_t *, iface_t, sysarg_t, 166 sysarg_t, async_port_handler_t, void *, port_id_t *); 167 163 168 extern void async_set_notification_handler_stack_size(size_t); 164 169 … … 343 348 extern async_sess_t *async_connect_me_to(exch_mgmt_t, async_exch_t *, sysarg_t, 344 349 sysarg_t, sysarg_t); 350 extern async_sess_t *async_connect_me_to_iface(async_exch_t *, iface_t, 351 sysarg_t, sysarg_t); 345 352 extern async_sess_t *async_connect_me_to_blocking(exch_mgmt_t, async_exch_t *, 346 353 sysarg_t, sysarg_t, sysarg_t); 354 extern async_sess_t *async_connect_me_to_blocking_iface(async_exch_t *, iface_t, 355 sysarg_t, sysarg_t); 347 356 extern async_sess_t *async_connect_kbox(task_id_t); 348 357 349 extern int async_connect_to_me(async_exch_t *, sysarg_t, sysarg_t, sysarg_t, 350 async_client_conn_t, void *); 358 extern int async_connect_to_me(async_exch_t *, sysarg_t, sysarg_t, sysarg_t); 351 359 352 360 extern int async_hangup(async_sess_t *);
Note:
See TracChangeset
for help on using the changeset viewer.