Subversion Repositories HelenOS-historic

Rev

Rev 1365 | Rev 1489 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1365 Rev 1392
Line 31... Line 31...
31
 
31
 
32
#include <kernel/ipc/ipc.h>
32
#include <kernel/ipc/ipc.h>
33
#include <kernel/ipc/irq.h>
33
#include <kernel/ipc/irq.h>
34
#include <libc.h>
34
#include <libc.h>
35
#include <types.h>
35
#include <types.h>
-
 
36
#include <kernel/synch/synch.h>
36
 
37
 
37
typedef sysarg_t ipcarg_t;
38
typedef sysarg_t ipcarg_t;
38
typedef struct {
39
typedef struct {
39
    ipcarg_t args[IPC_CALL_LEN];
40
    ipcarg_t args[IPC_CALL_LEN];
40
    ipcarg_t in_phone_hash;
41
    ipcarg_t in_phone_hash;
Line 51... Line 52...
51
               ipcarg_t *result3);
52
               ipcarg_t *result3);
52
 
53
 
53
 
54
 
54
extern int ipc_call_sync(int phoneid, ipcarg_t method, ipcarg_t arg1,
55
extern int ipc_call_sync(int phoneid, ipcarg_t method, ipcarg_t arg1,
55
             ipcarg_t *result);
56
             ipcarg_t *result);
56
extern ipc_callid_t ipc_wait_for_call(ipc_call_t *data);
57
extern ipc_callid_t ipc_wait_cycle(ipc_call_t *call, uint32_t usec, int flags);
57
extern ipc_callid_t ipc_wait_for_call_timeout(ipc_call_t *data, uint32_t usec);
58
extern ipc_callid_t ipc_wait_for_call_timeout(ipc_call_t *data, uint32_t usec);
-
 
59
static inline ipc_callid_t ipc_wait_for_call(ipc_call_t *data)
-
 
60
{
-
 
61
    return ipc_wait_for_call_timeout(data, SYNCH_NO_TIMEOUT);
-
 
62
}
58
extern ipc_callid_t ipc_trywait_for_call(ipc_call_t *data);
63
extern ipc_callid_t ipc_trywait_for_call(ipc_call_t *data);
59
 
64
 
60
extern ipcarg_t ipc_answer_fast(ipc_callid_t callid, ipcarg_t retval, ipcarg_t arg1,
65
extern ipcarg_t ipc_answer_fast(ipc_callid_t callid, ipcarg_t retval, ipcarg_t arg1,
61
               ipcarg_t arg2);
66
               ipcarg_t arg2);
62
extern ipcarg_t ipc_answer(ipc_callid_t callid, ipc_call_t *call);
67
extern ipcarg_t ipc_answer(ipc_callid_t callid, ipc_call_t *call);
Line 69... Line 74...
69
extern int ipc_connect_me_to(int phoneid, int arg1, int arg2);
74
extern int ipc_connect_me_to(int phoneid, int arg1, int arg2);
70
extern int ipc_hangup(int phoneid);
75
extern int ipc_hangup(int phoneid);
71
extern int ipc_register_irq(int irq, irq_code_t *code);
76
extern int ipc_register_irq(int irq, irq_code_t *code);
72
extern int ipc_unregister_irq(int irq);
77
extern int ipc_unregister_irq(int irq);
73
extern int ipc_forward_fast(ipc_callid_t callid, int phoneid, int method, ipcarg_t arg1);
78
extern int ipc_forward_fast(ipc_callid_t callid, int phoneid, int method, ipcarg_t arg1);
74
extern void _ipc_init(void);
-
 
75
 
79
 
76
#endif
80
#endif