Subversion Repositories HelenOS-historic

Rev

Rev 1427 | Rev 1452 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. #ifndef _libc_ASYNC_H_
  2. #define _libc_ASYNC_H_
  3.  
  4. #include <ipc/ipc.h>
  5. #include <psthread.h>
  6. #include <time.h>
  7.  
  8. typedef ipc_callid_t aid_t;
  9.  
  10. int async_manager(void);
  11. void async_create_manager(void);
  12. void async_destroy_manager(void);
  13. int _async_init(void);
  14. ipc_callid_t async_get_call(ipc_call_t *data);
  15.  
  16. pstid_t async_new_connection(ipc_callid_t callid, ipc_call_t *call,
  17.                  void (*cthread)(ipc_callid_t,ipc_call_t *));
  18. aid_t async_send_2(int phoneid, ipcarg_t method, ipcarg_t arg1, ipcarg_t arg2,
  19.            ipc_call_t *dataptr);
  20. void async_wait_for(aid_t amsgid, ipcarg_t *result);
  21. int async_wait_timeout(aid_t amsgid, ipcarg_t *retval, suseconds_t timeout);
  22.  
  23.  
  24. /* Should be defined by application */
  25. void client_connection(ipc_callid_t callid, ipc_call_t *call) __attribute__((weak));
  26.  
  27. #endif
  28.