Rev 3042 | Rev 3433 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3042 | Rev 3425 | ||
---|---|---|---|
Line 285... | Line 285... | ||
285 | /** Data passed from/to userspace. */ |
285 | /** Data passed from/to userspace. */ |
286 | ipc_data_t data; |
286 | ipc_data_t data; |
287 | 287 | ||
288 | /** Buffer for IPC_M_DATA_WRITE and IPC_M_DATA_READ. */ |
288 | /** Buffer for IPC_M_DATA_WRITE and IPC_M_DATA_READ. */ |
289 | uint8_t *buffer; |
289 | uint8_t *buffer; |
- | 290 | ||
- | 291 | /* |
|
- | 292 | * The forward operation can masquerade the caller phone. For those |
|
- | 293 | * cases, we must keep it aside so that the answer is processed |
|
- | 294 | * correctly. |
|
- | 295 | */ |
|
- | 296 | phone_t *caller_phone; |
|
290 | } call_t; |
297 | } call_t; |
291 | 298 | ||
292 | extern void ipc_init(void); |
299 | extern void ipc_init(void); |
293 | extern call_t * ipc_wait_for_call(answerbox_t *box, uint32_t usec, int flags); |
300 | extern call_t * ipc_wait_for_call(answerbox_t *, uint32_t, int); |
294 | extern void ipc_answer(answerbox_t *box, call_t *request); |
301 | extern void ipc_answer(answerbox_t *, call_t *); |
295 | extern int ipc_call(phone_t *phone, call_t *call); |
302 | extern int ipc_call(phone_t *, call_t *); |
296 | extern void ipc_call_sync(phone_t *phone, call_t *request); |
303 | extern int ipc_call_sync(phone_t *, call_t *); |
297 | extern void ipc_phone_init(phone_t *phone); |
304 | extern void ipc_phone_init(phone_t *); |
298 | extern void ipc_phone_connect(phone_t *phone, answerbox_t *box); |
305 | extern void ipc_phone_connect(phone_t *, answerbox_t *); |
299 | extern void ipc_call_free(call_t *call); |
306 | extern void ipc_call_free(call_t *); |
300 | extern call_t * ipc_call_alloc(int flags); |
307 | extern call_t * ipc_call_alloc(int); |
301 | extern void ipc_answerbox_init(answerbox_t *box, struct task *task); |
308 | extern void ipc_answerbox_init(answerbox_t *, struct task *); |
302 | extern void ipc_call_static_init(call_t *call); |
309 | extern void ipc_call_static_init(call_t *); |
303 | extern void task_print_list(void); |
310 | extern void task_print_list(void); |
304 | extern int ipc_forward(call_t *call, phone_t *newphone, answerbox_t *oldbox, |
311 | extern int ipc_forward(call_t *, phone_t *, answerbox_t *, int); |
305 | int mode); |
- | |
306 | extern void ipc_cleanup(void); |
312 | extern void ipc_cleanup(void); |
307 | extern int ipc_phone_hangup(phone_t *phone); |
313 | extern int ipc_phone_hangup(phone_t *); |
308 | extern void ipc_backsend_err(phone_t *phone, call_t *call, unative_t err); |
314 | extern void ipc_backsend_err(phone_t *, call_t *, unative_t); |
309 | extern void ipc_print_task(task_id_t taskid); |
315 | extern void ipc_print_task(task_id_t); |
310 | extern int ipc_connect_kbox(task_id_t taskid); |
316 | extern int ipc_connect_kbox(task_id_t); |
311 | 317 | ||
312 | extern answerbox_t *ipc_phone_0; |
318 | extern answerbox_t *ipc_phone_0; |
313 | 319 | ||
314 | #endif |
320 | #endif |
315 | 321 |