Changeset 9097c16a in mainline for uspace/lib/c/include/async.h


Ignore:
Timestamp:
2011-02-04T13:14:14Z (13 years ago)
Author:
Lubos Slovak <lubos.slovak@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
9e7cdf8
Parents:
11797d5 (diff), ff244e6 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merged development

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/include/async.h

    r11797d5 r9097c16a  
    4444
    4545typedef ipc_callid_t aid_t;
    46 typedef void (*async_client_conn_t)(ipc_callid_t callid, ipc_call_t *call);
     46
     47typedef void *(*async_client_data_ctor_t)(void);
     48typedef void (*async_client_data_dtor_t)(void *);
     49
     50typedef void (*async_client_conn_t)(ipc_callid_t, ipc_call_t *);
    4751
    4852extern atomic_t async_futex;
     
    5155
    5256extern int __async_init(void);
    53 extern ipc_callid_t async_get_call_timeout(ipc_call_t *call, suseconds_t usecs);
     57extern ipc_callid_t async_get_call_timeout(ipc_call_t *, suseconds_t);
    5458
    5559static inline ipc_callid_t async_get_call(ipc_call_t *data)
     
    8589            (arg5), (dataptr))
    8690
    87 extern aid_t async_send_fast(int phoneid, sysarg_t method, sysarg_t arg1,
    88     sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, ipc_call_t *dataptr);
    89 extern aid_t async_send_slow(int phoneid, sysarg_t method, sysarg_t arg1,
    90     sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, sysarg_t arg5,
    91     ipc_call_t *dataptr);
    92 extern void async_wait_for(aid_t amsgid, sysarg_t *result);
    93 extern int async_wait_timeout(aid_t amsgid, sysarg_t *retval,
    94     suseconds_t timeout);
    95 
    96 extern fid_t async_new_connection(sysarg_t in_phone_hash, ipc_callid_t callid,
    97     ipc_call_t *call, void (*cthread)(ipc_callid_t, ipc_call_t *));
    98 extern void async_usleep(suseconds_t timeout);
     91extern aid_t async_send_fast(int, sysarg_t, sysarg_t, sysarg_t, sysarg_t,
     92    sysarg_t, ipc_call_t *);
     93extern aid_t async_send_slow(int, sysarg_t, sysarg_t, sysarg_t, sysarg_t,
     94    sysarg_t, sysarg_t, ipc_call_t *);
     95extern void async_wait_for(aid_t, sysarg_t *);
     96extern int async_wait_timeout(aid_t, sysarg_t *, suseconds_t);
     97
     98extern fid_t async_new_connection(sysarg_t, sysarg_t, ipc_callid_t,
     99    ipc_call_t *, void (*)(ipc_callid_t, ipc_call_t *));
     100extern void async_usleep(suseconds_t);
    99101extern void async_create_manager(void);
    100102extern void async_destroy_manager(void);
    101103
    102 extern void async_set_client_connection(async_client_conn_t conn);
    103 extern void async_set_interrupt_received(async_client_conn_t conn);
     104extern void async_set_client_data_constructor(async_client_data_ctor_t);
     105extern void async_set_client_data_destructor(async_client_data_dtor_t);
     106
     107extern void *async_client_data_get(void);
     108
     109extern void async_set_client_connection(async_client_conn_t);
     110extern void async_set_interrupt_received(async_client_conn_t);
    104111
    105112/* Wrappers for simple communication */
     
    243250            (arg5), (rc1), (rc2), (rc3), (rc4), (rc5))
    244251
    245 extern sysarg_t async_req_fast(int phoneid, sysarg_t method, sysarg_t arg1,
    246     sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, sysarg_t *r1, sysarg_t *r2,
    247     sysarg_t *r3, sysarg_t *r4, sysarg_t *r5);
    248 extern sysarg_t async_req_slow(int phoneid, sysarg_t method, sysarg_t arg1,
    249     sysarg_t arg2, sysarg_t arg3, sysarg_t arg4, sysarg_t arg5, sysarg_t *r1,
    250     sysarg_t *r2, sysarg_t *r3, sysarg_t *r4, sysarg_t *r5);
     252extern sysarg_t async_req_fast(int, sysarg_t, sysarg_t, sysarg_t, sysarg_t,
     253    sysarg_t, sysarg_t *, sysarg_t *, sysarg_t *, sysarg_t *, sysarg_t *);
     254extern sysarg_t async_req_slow(int, sysarg_t, sysarg_t, sysarg_t, sysarg_t,
     255    sysarg_t, sysarg_t, sysarg_t *, sysarg_t *, sysarg_t *, sysarg_t *,
     256    sysarg_t *);
    251257
    252258static inline void async_serialize_start(void)
Note: See TracChangeset for help on using the changeset viewer.