Subversion Repositories HelenOS

Rev

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