/trunk/uspace/lib/libc/include/ipc/ipc.h |
---|
258,7 → 258,7 |
extern int ipc_register_irq(int inr, int devno, int method, irq_code_t *code); |
extern int ipc_unregister_irq(int inr, int devno); |
extern int ipc_forward_fast(ipc_callid_t callid, int phoneid, int method, |
ipcarg_t arg1); |
ipcarg_t arg1, int mode); |
extern int ipc_data_send(int phoneid, void *src, size_t size); |
extern int ipc_data_receive(ipc_callid_t *callid, void **dst, size_t *size); |
extern ipcarg_t ipc_data_deliver(ipc_callid_t callid, void *dst, size_t size); |
/trunk/uspace/lib/libc/generic/ipc.c |
---|
646,6 → 646,7 |
* @param phoneid Phone handle to use for forwarding. |
* @param method New method for the forwarded call. |
* @param arg1 New value of the first argument for the forwarded call. |
* @param mode Flags specifying mode of the forward operation. |
* |
* @return Zero on success or an error code. |
* |
655,9 → 656,10 |
* verbatim. |
*/ |
int ipc_forward_fast(ipc_callid_t callid, int phoneid, int method, |
ipcarg_t arg1) |
ipcarg_t arg1, int mode) |
{ |
return __SYSCALL4(SYS_IPC_FORWARD_FAST, callid, phoneid, method, arg1); |
return __SYSCALL5(SYS_IPC_FORWARD_FAST, callid, phoneid, method, arg1, |
mode); |
} |
/** Wrapper for making IPC_M_DATA_SEND calls. |
/trunk/uspace/srv/ns/ns.c |
---|
212,7 → 212,8 |
return ENOENT; |
} |
hs = hash_table_get_instance(hlp, hashed_service_t, link); |
return ipc_forward_fast(callid, hs->phone, IPC_GET_ARG2(*call), 0); |
return ipc_forward_fast(callid, hs->phone, IPC_GET_ARG2(*call), 0, |
IPC_FF_NONE); |
} |
/** Compute hash index into NS hash table. |
/trunk/uspace/srv/devmap/devmap.c |
---|
471,7 → 471,7 |
/* FIXME: is this correct method how to pass argument on forwarding ?*/ |
ipc_forward_fast(callid, dev->driver->phone, (ipcarg_t)(dev->handle), |
0); |
0, IPC_FF_NONE); |
return; |
} |