Rev 1089 | Rev 1259 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1089 | Rev 1091 | ||
---|---|---|---|
Line 33... | Line 33... | ||
33 | #include <libc.h> |
33 | #include <libc.h> |
34 | #include <types.h> |
34 | #include <types.h> |
35 | 35 | ||
36 | typedef sysarg_t ipcarg_t; |
36 | typedef sysarg_t ipcarg_t; |
37 | typedef struct { |
37 | typedef struct { |
38 | sysarg_t args[IPC_CALL_LEN]; |
38 | ipcarg_t args[IPC_CALL_LEN]; |
39 | sysarg_t phoneid; |
39 | ipcarg_t phoneid; |
40 | } ipc_data_t ; |
- | |
41 | typedef struct { |
- | |
42 | unsigned long long taskid; |
- | |
43 | ipc_data_t data; |
- | |
44 | }ipc_call_t; |
40 | } ipc_call_t ; |
45 | typedef sysarg_t ipc_callid_t; |
41 | typedef sysarg_t ipc_callid_t; |
46 | 42 | ||
47 | typedef void (* ipc_async_callback_t)(void *private, |
43 | typedef void (* ipc_async_callback_t)(void *private, int retval, |
48 | int retval, |
- | |
49 | ipc_data_t *data); |
44 | ipc_call_t *data); |
50 | 45 | ||
51 | #define ipc_call_sync_2(phoneid, method, arg1, arg2, res1, res2) ipc_call_sync_3((phoneid), (method), (arg1), (arg2), 0, (res1), (res2), 0) |
46 | #define ipc_call_sync_2(phoneid, method, arg1, arg2, res1, res2) ipc_call_sync_3((phoneid), (method), (arg1), (arg2), 0, (res1), (res2), 0) |
52 | extern int ipc_call_sync_3(int phoneid, ipcarg_t method, ipcarg_t arg1, |
47 | extern int ipc_call_sync_3(int phoneid, ipcarg_t method, ipcarg_t arg1, |
53 | ipcarg_t arg2, ipcarg_t arg3, |
48 | ipcarg_t arg2, ipcarg_t arg3, |
54 | ipcarg_t *result1, ipcarg_t *result2, |
49 | ipcarg_t *result1, ipcarg_t *result2, |
Line 63... | Line 58... | ||
63 | 58 | ||
64 | #define ipc_call_async(phoneid,method,arg1,private, callback) (ipc_call_async_2(phoneid, method, arg1, 0, private, callback)) |
59 | #define ipc_call_async(phoneid,method,arg1,private, callback) (ipc_call_async_2(phoneid, method, arg1, 0, private, callback)) |
65 | void ipc_call_async_2(int phoneid, ipcarg_t method, ipcarg_t arg1, |
60 | void ipc_call_async_2(int phoneid, ipcarg_t method, ipcarg_t arg1, |
66 | ipcarg_t arg2, void *private, |
61 | ipcarg_t arg2, void *private, |
67 | ipc_async_callback_t callback); |
62 | ipc_async_callback_t callback); |
68 | int ipc_connect_to_me(int phoneid, int arg1, int arg2, |
63 | int ipc_connect_to_me(int phoneid, int arg1, int arg2, ipcarg_t *phone); |
69 | unsigned long long *taskid); |
- | |
70 | int ipc_connect_me_to(int phoneid, int arg1, int arg2); |
64 | int ipc_connect_me_to(int phoneid, int arg1, int arg2); |
71 | int ipc_hangup(int phoneid); |
65 | int ipc_hangup(int phoneid); |
72 | 66 | ||
73 | #endif |
67 | #endif |