Rev 1500 | Rev 1552 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 1500 | Rev 1547 | ||
|---|---|---|---|
| Line 44... | Line 44... | ||
| 44 | return async_get_call_timeout(data, 0); |
44 | return async_get_call_timeout(data, 0); |
| 45 | } |
45 | } |
| 46 | 46 | ||
| 47 | aid_t async_send_2(int phoneid, ipcarg_t method, ipcarg_t arg1, ipcarg_t arg2, |
47 | aid_t async_send_2(int phoneid, ipcarg_t method, ipcarg_t arg1, ipcarg_t arg2, |
| 48 | ipc_call_t *dataptr); |
48 | ipc_call_t *dataptr); |
| - | 49 | aid_t async_send_3(int phoneid, ipcarg_t method, ipcarg_t arg1, ipcarg_t arg2, |
|
| - | 50 | ipcarg_t arg3, ipc_call_t *dataptr); |
|
| 49 | void async_wait_for(aid_t amsgid, ipcarg_t *result); |
51 | void async_wait_for(aid_t amsgid, ipcarg_t *result); |
| 50 | int async_wait_timeout(aid_t amsgid, ipcarg_t *retval, suseconds_t timeout); |
52 | int async_wait_timeout(aid_t amsgid, ipcarg_t *retval, suseconds_t timeout); |
| 51 | 53 | ||
| 52 | /** Pseudo-synchronous message sending |
54 | /** Pseudo-synchronous message sending |
| 53 | * |
55 | * |
| Line 66... | Line 68... | ||
| 66 | *r1 = IPC_GET_ARG1(result); |
68 | *r1 = IPC_GET_ARG1(result); |
| 67 | if (r2) |
69 | if (r2) |
| 68 | *r2 = IPC_GET_ARG2(result); |
70 | *r2 = IPC_GET_ARG2(result); |
| 69 | return rc; |
71 | return rc; |
| 70 | } |
72 | } |
| - | 73 | static inline ipcarg_t sync_send_3(int phoneid, ipcarg_t method, ipcarg_t arg1, |
|
| - | 74 | ipcarg_t arg2, ipcarg_t arg3, ipcarg_t *r1, |
|
| - | 75 | ipcarg_t *r2, ipcarg_t *r3) |
|
| - | 76 | { |
|
| - | 77 | ipc_call_t result; |
|
| - | 78 | ipcarg_t rc; |
|
| - | 79 | ||
| - | 80 | aid_t eid = async_send_3(phoneid, method, arg1, arg2, arg3, &result); |
|
| - | 81 | async_wait_for(eid, &rc); |
|
| - | 82 | if (r1) |
|
| - | 83 | *r1 = IPC_GET_ARG1(result); |
|
| - | 84 | if (r2) |
|
| - | 85 | *r2 = IPC_GET_ARG2(result); |
|
| - | 86 | if (r3) |
|
| - | 87 | *r3 = IPC_GET_ARG3(result); |
|
| - | 88 | return rc; |
|
| - | 89 | } |
|
| 71 | 90 | ||
| 72 | 91 | ||
| 73 | pstid_t async_new_connection(ipcarg_t in_phone_hash,ipc_callid_t callid, |
92 | pstid_t async_new_connection(ipcarg_t in_phone_hash,ipc_callid_t callid, |
| 74 | ipc_call_t *call, |
93 | ipc_call_t *call, |
| 75 | void (*cthread)(ipc_callid_t,ipc_call_t *)); |
94 | void (*cthread)(ipc_callid_t,ipc_call_t *)); |