Rev 3022 | Rev 4537 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3022 | Rev 4055 | ||
---|---|---|---|
Line 74... | Line 74... | ||
74 | async_send_fast((phoneid), (method), (arg1), (arg2), (arg3), (arg4), \ |
74 | async_send_fast((phoneid), (method), (arg1), (arg2), (arg3), (arg4), \ |
75 | (dataptr)) |
75 | (dataptr)) |
76 | #define async_send_5(phoneid, method, arg1, arg2, arg3, arg4, arg5, dataptr) \ |
76 | #define async_send_5(phoneid, method, arg1, arg2, arg3, arg4, arg5, dataptr) \ |
77 | async_send_slow((phoneid), (method), (arg1), (arg2), (arg3), (arg4), \ |
77 | async_send_slow((phoneid), (method), (arg1), (arg2), (arg3), (arg4), \ |
78 | (arg5), (dataptr)) |
78 | (arg5), (dataptr)) |
79 | 79 | ||
80 | extern aid_t async_send_fast(int phoneid, ipcarg_t method, ipcarg_t arg1, |
80 | extern aid_t async_send_fast(int phoneid, ipcarg_t method, ipcarg_t arg1, |
81 | ipcarg_t arg2, ipcarg_t arg3, ipcarg_t arg4, ipc_call_t *dataptr); |
81 | ipcarg_t arg2, ipcarg_t arg3, ipcarg_t arg4, ipc_call_t *dataptr); |
82 | extern aid_t async_send_slow(int phoneid, ipcarg_t method, ipcarg_t arg1, |
82 | extern aid_t async_send_slow(int phoneid, ipcarg_t method, ipcarg_t arg1, |
83 | ipcarg_t arg2, ipcarg_t arg3, ipcarg_t arg4, ipcarg_t arg5, |
83 | ipcarg_t arg2, ipcarg_t arg3, ipcarg_t arg4, ipcarg_t arg5, |
84 | ipc_call_t *dataptr); |
84 | ipc_call_t *dataptr); |
85 | extern void async_wait_for(aid_t amsgid, ipcarg_t *result); |
85 | extern void async_wait_for(aid_t amsgid, ipcarg_t *result); |
86 | extern int async_wait_timeout(aid_t amsgid, ipcarg_t *retval, |
86 | extern int async_wait_timeout(aid_t amsgid, ipcarg_t *retval, |
87 | suseconds_t timeout); |
87 | suseconds_t timeout); |
88 | 88 | ||
89 | fid_t async_new_connection(ipcarg_t in_phone_hash,ipc_callid_t callid, |
89 | fid_t async_new_connection(ipcarg_t in_phone_hash, ipc_callid_t callid, |
90 | ipc_call_t *call, void (*cthread)(ipc_callid_t,ipc_call_t *)); |
90 | ipc_call_t *call, void (*cthread)(ipc_callid_t, ipc_call_t *)); |
91 | void async_usleep(suseconds_t timeout); |
91 | void async_usleep(suseconds_t timeout); |
92 | void async_create_manager(void); |
92 | void async_create_manager(void); |
93 | void async_destroy_manager(void); |
93 | void async_destroy_manager(void); |
94 | int _async_init(void); |
94 | int _async_init(void); |
95 | 95 | ||
Line 116... | Line 116... | ||
116 | (arg5), NULL, NULL, !in_interrupt_handler()) |
116 | (arg5), NULL, NULL, !in_interrupt_handler()) |
117 | 117 | ||
118 | /* |
118 | /* |
119 | * User-friendly wrappers for async_req_fast() and async_req_slow(). The macros |
119 | * User-friendly wrappers for async_req_fast() and async_req_slow(). The macros |
120 | * are in the form async_req_m_n(), where m is the number of payload arguments |
120 | * are in the form async_req_m_n(), where m is the number of payload arguments |
121 | * and n is the number of return arguments. The macros decidce between the fast |
121 | * and n is the number of return arguments. The macros decide between the fast |
122 | * and slow verion based on m. |
122 | * and slow verion based on m. |
123 | */ |
123 | */ |
124 | #define async_req_0_0(phoneid, method) \ |
124 | #define async_req_0_0(phoneid, method) \ |
125 | async_req_fast((phoneid), (method), 0, 0, 0, 0, NULL, NULL, NULL, NULL, \ |
125 | async_req_fast((phoneid), (method), 0, 0, 0, 0, NULL, NULL, NULL, NULL, \ |
126 | NULL) |
126 | NULL) |