Rev 2618 | Rev 2622 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2618 | Rev 2619 | ||
---|---|---|---|
Line 188... | Line 188... | ||
188 | { |
188 | { |
189 | return ipc_wait_for_call_timeout(data, SYNCH_NO_TIMEOUT); |
189 | return ipc_wait_for_call_timeout(data, SYNCH_NO_TIMEOUT); |
190 | } |
190 | } |
191 | extern ipc_callid_t ipc_trywait_for_call(ipc_call_t *data); |
191 | extern ipc_callid_t ipc_trywait_for_call(ipc_call_t *data); |
192 | 192 | ||
- | 193 | /* |
|
- | 194 | * User-friendly wrappers for ipc_answer_fast() and ipc_answer_slow(). |
|
- | 195 | * They are in the form of ipc_answer_m(), where m is the number of return |
|
- | 196 | * arguments. The macros decide between the fast and the slow version according |
|
- | 197 | * to m. |
|
- | 198 | */ |
|
193 | #define ipc_answer_fast_0(callid, retval) \ |
199 | #define ipc_answer_0(callid, retval) \ |
194 | ipc_answer_fast((callid), (retval), 0, 0) |
200 | ipc_answer_fast((callid), (retval), 0, 0, 0, 0) |
195 | #define ipc_answer_fast_1(callid, retval, arg1) \ |
201 | #define ipc_answer_1(callid, retval, arg1) \ |
196 | ipc_answer_fast((callid), (retval), (arg1), 0) |
202 | ipc_answer_fast((callid), (retval), (arg1), 0, 0, 0) |
- | 203 | #define ipc_answer_2(callid, retval, arg1, arg2) \ |
|
- | 204 | ipc_answer_fast((callid), (retval), (arg1), (arg2), 0, 0) |
|
- | 205 | #define ipc_answer_3(callid, retval, arg1, arg2, arg3) \ |
|
- | 206 | ipc_answer_fast((callid), (retval), (arg1), (arg2), (arg3), 0) |
|
- | 207 | #define ipc_answer_4(callid, retval, arg1, arg2, arg3, arg4) \ |
|
- | 208 | ipc_answer_fast((callid), (retval), (arg1), (arg2), (arg3), (arg4)) |
|
- | 209 | #define ipc_answer_5(callid, retval, arg1, arg2, arg3, arg4, arg5) \ |
|
- | 210 | ipc_answer_slow((callid), (retval), (arg1), (arg2), (arg3), (arg4), (arg5)) |
|
- | 211 | ||
197 | extern ipcarg_t ipc_answer_fast(ipc_callid_t callid, ipcarg_t retval, |
212 | extern ipcarg_t ipc_answer_fast(ipc_callid_t callid, ipcarg_t retval, |
198 | ipcarg_t arg1, ipcarg_t arg2); |
213 | ipcarg_t arg1, ipcarg_t arg2, ipcarg_t arg3, ipcarg_t arg4); |
199 | extern ipcarg_t ipc_answer(ipc_callid_t callid, ipc_call_t *call); |
214 | extern ipcarg_t ipc_answer_slow(ipc_callid_t callid, ipcarg_t retval, |
- | 215 | ipcarg_t arg1, ipcarg_t arg2, ipcarg_t arg3, ipcarg_t arg4, ipcarg_t arg5); |
|
200 | 216 | ||
201 | /* |
217 | /* |
202 | * User-friendly wrappers for ipc_call_async_fast() and ipc_call_async_slow(). |
218 | * User-friendly wrappers for ipc_call_async_fast() and ipc_call_async_slow(). |
203 | * They are in the form of ipc_call_async_m(), where m is the number of payload |
219 | * They are in the form of ipc_call_async_m(), where m is the number of payload |
204 | * arguments. The macros decide between the fast and the slow version according |
220 | * arguments. The macros decide between the fast and the slow version according |
Line 242... | Line 258... | ||
242 | extern int ipc_register_irq(int inr, int devno, int method, irq_code_t *code); |
258 | extern int ipc_register_irq(int inr, int devno, int method, irq_code_t *code); |
243 | extern int ipc_unregister_irq(int inr, int devno); |
259 | extern int ipc_unregister_irq(int inr, int devno); |
244 | extern int ipc_forward_fast(ipc_callid_t callid, int phoneid, int method, |
260 | extern int ipc_forward_fast(ipc_callid_t callid, int phoneid, int method, |
245 | ipcarg_t arg1); |
261 | ipcarg_t arg1); |
246 | extern int ipc_data_send(int phoneid, void *src, size_t size); |
262 | extern int ipc_data_send(int phoneid, void *src, size_t size); |
247 | extern int ipc_data_receive(ipc_callid_t *callid, ipc_call_t *call, void **dst, |
263 | extern int ipc_data_receive(ipc_callid_t *callid, void **dst, size_t *size); |
248 | size_t *size); |
- | |
249 | extern ipcarg_t ipc_data_deliver(ipc_callid_t callid, ipc_call_t *call, |
264 | extern ipcarg_t ipc_data_deliver(ipc_callid_t callid, void *dst, size_t size); |
250 | void *dst, size_t size); |
- | |
251 | 265 | ||
252 | #endif |
266 | #endif |
253 | 267 | ||
254 | /** @} |
268 | /** @} |
255 | */ |
269 | */ |