/uspace/trunk/libipc/include/ipc.h |
---|
36,7 → 36,7 |
typedef sysarg_t ipc_callid_t; |
extern int ipc_call_sync(int phoneid, int arg1, int arg2); |
extern int ipc_call_sync(int phoneid, int arg1, int arg2, ipc_data_t *resdata); |
extern int ipc_wait_for_call(ipc_data_t *data, int flags); |
/uspace/trunk/libipc/generic/ipc.c |
---|
29,19 → 29,12 |
#include <ipc.h> |
#include <libc.h> |
static inline ipc_callid_t _ipc_call(int phoneid, int arg1, int arg2) |
int ipc_call_sync(int phoneid, int arg1, int arg2, ipc_data_t *resdata) |
{ |
__SYSCALL3(SYS_IPC_CALL, phoneid, arg1, arg2); |
return __SYSCALL4(SYS_IPC_CALL_SYNC, phoneid, arg1, arg2, |
(sysarg_t)resdata); |
} |
int ipc_call_sync(int phoneid, int arg1, int arg2) |
{ |
ipc_data_t resdata; |
_ipc_call(phoneid, arg1, arg2); |
ipc_wait_for_call(&resdata,0); |
} |
/* |
int ipc_call_async() |
{ |