Rev 1757 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1757 | Rev 1780 | ||
---|---|---|---|
Line 59... | Line 59... | ||
59 | static slab_cache_t *ipc_call_slab; |
59 | static slab_cache_t *ipc_call_slab; |
60 | 60 | ||
61 | /* Initialize new call */ |
61 | /* Initialize new call */ |
62 | static void _ipc_call_init(call_t *call) |
62 | static void _ipc_call_init(call_t *call) |
63 | { |
63 | { |
64 | memsetb((__address)call, sizeof(*call), 0); |
64 | memsetb((uintptr_t)call, sizeof(*call), 0); |
65 | call->callerbox = &TASK->answerbox; |
65 | call->callerbox = &TASK->answerbox; |
66 | call->sender = TASK; |
66 | call->sender = TASK; |
67 | } |
67 | } |
68 | 68 | ||
69 | /** Allocate & initialize call structure |
69 | /** Allocate & initialize call structure |
Line 183... | Line 183... | ||
183 | /** Simulate sending back a message |
183 | /** Simulate sending back a message |
184 | * |
184 | * |
185 | * Most errors are better handled by forming a normal backward |
185 | * Most errors are better handled by forming a normal backward |
186 | * message and sending it as a normal answer. |
186 | * message and sending it as a normal answer. |
187 | */ |
187 | */ |
188 | void ipc_backsend_err(phone_t *phone, call_t *call, __native err) |
188 | void ipc_backsend_err(phone_t *phone, call_t *call, unative_t err) |
189 | { |
189 | { |
190 | call->data.phone = phone; |
190 | call->data.phone = phone; |
191 | atomic_inc(&phone->active_calls); |
191 | atomic_inc(&phone->active_calls); |
192 | IPC_SET_RETVAL(call->data, err); |
192 | IPC_SET_RETVAL(call->data, err); |
193 | _ipc_answer_free_call(call); |
193 | _ipc_answer_free_call(call); |
Line 306... | Line 306... | ||
306 | * @param flags Select mode of sleep operation. See documentation for waitq_sleep_timeout()i |
306 | * @param flags Select mode of sleep operation. See documentation for waitq_sleep_timeout()i |
307 | * for description of its special meaning. |
307 | * for description of its special meaning. |
308 | * @return Recived message address |
308 | * @return Recived message address |
309 | * - to distinguish between call and answer, look at call->flags |
309 | * - to distinguish between call and answer, look at call->flags |
310 | */ |
310 | */ |
311 | call_t * ipc_wait_for_call(answerbox_t *box, __u32 usec, int flags) |
311 | call_t * ipc_wait_for_call(answerbox_t *box, uint32_t usec, int flags) |
312 | { |
312 | { |
313 | call_t *request; |
313 | call_t *request; |
314 | ipl_t ipl; |
314 | ipl_t ipl; |
315 | int rc; |
315 | int rc; |
316 | 316 |