Rev 1088 | Rev 1258 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 1088 | Rev 1090 | ||
|---|---|---|---|
| Line 37... | Line 37... | ||
| 37 | #define IPC_MAX_ASYNC_CALLS 4 |
37 | #define IPC_MAX_ASYNC_CALLS 4 |
| 38 | 38 | ||
| 39 | /* Flags for calls */ |
39 | /* Flags for calls */ |
| 40 | #define IPC_CALL_ANSWERED (1<<0) /**< This is answer to a call */ |
40 | #define IPC_CALL_ANSWERED (1<<0) /**< This is answer to a call */ |
| 41 | #define IPC_CALL_STATIC_ALLOC (1<<1) /**< This call will not be freed on error */ |
41 | #define IPC_CALL_STATIC_ALLOC (1<<1) /**< This call will not be freed on error */ |
| 42 | #define IPC_CALL_DISPATCHED (1<<2) /**< Call is in dispatch queue */ |
- | |
| 43 | #define IPC_CALL_DISCARD_ANSWER (1<<3) /**< Answer will not be passed to |
42 | #define IPC_CALL_DISCARD_ANSWER (1<<2) /**< Answer will not be passed to |
| 44 | * userspace, will be discarded */ |
43 | * userspace, will be discarded */ |
| 45 | #define IPC_CALL_FORWARDED (1<<4) /* Call was forwarded */ |
44 | #define IPC_CALL_FORWARDED (1<<3) /* Call was forwarded */ |
| - | 45 | #define IPC_CALL_CONN_ME_TO (1<<4) /* Identify connect_me_to */ |
|
| 46 | 46 | ||
| 47 | /* Flags for ipc_wait_for_call */ |
47 | /* Flags for ipc_wait_for_call */ |
| 48 | #define IPC_WAIT_NONBLOCKING 1 |
48 | #define IPC_WAIT_NONBLOCKING 1 |
| 49 | 49 | ||
| 50 | /* Flags of callid (the addresses are aligned at least to 4, |
50 | /* Flags of callid (the addresses are aligned at least to 4, |
| Line 180... | Line 180... | ||
| 180 | /* The caller box is different from sender->answerbox |
180 | /* The caller box is different from sender->answerbox |
| 181 | * for synchronous calls |
181 | * for synchronous calls |
| 182 | */ |
182 | */ |
| 183 | answerbox_t *callerbox; |
183 | answerbox_t *callerbox; |
| 184 | 184 | ||
| - | 185 | __native private; /**< Private data to internal IPC */ |
|
| - | 186 | ||
| 185 | ipc_data_t data; |
187 | ipc_data_t data; /**< Data passed from/to userspace */ |
| 186 | }call_t; |
188 | }call_t; |
| 187 | 189 | ||
| 188 | extern void ipc_init(void); |
190 | extern void ipc_init(void); |
| 189 | extern call_t * ipc_wait_for_call(answerbox_t *box, int flags); |
191 | extern call_t * ipc_wait_for_call(answerbox_t *box, int flags); |
| 190 | extern void ipc_answer(answerbox_t *box, call_t *request); |
192 | extern void ipc_answer(answerbox_t *box, call_t *request); |
| Line 196... | Line 198... | ||
| 196 | extern call_t * ipc_call_alloc(void); |
198 | extern call_t * ipc_call_alloc(void); |
| 197 | extern void ipc_answerbox_init(answerbox_t *box); |
199 | extern void ipc_answerbox_init(answerbox_t *box); |
| 198 | extern void ipc_call_static_init(call_t *call); |
200 | extern void ipc_call_static_init(call_t *call); |
| 199 | extern void task_print_list(void); |
201 | extern void task_print_list(void); |
| 200 | extern int ipc_forward(call_t *call, phone_t *newphone, answerbox_t *oldbox); |
202 | extern int ipc_forward(call_t *call, phone_t *newphone, answerbox_t *oldbox); |
| 201 | - | ||
| 202 | extern answerbox_t *ipc_phone_0; |
- | |
| 203 | extern void ipc_cleanup(task_t *task); |
203 | extern void ipc_cleanup(task_t *task); |
| 204 | extern int ipc_phone_hangup(phone_t *phone); |
204 | extern int ipc_phone_hangup(phone_t *phone); |
| - | 205 | extern void ipc_backsend_err(phone_t *phone, call_t *call, __native err); |
|
| - | 206 | ||
| - | 207 | extern answerbox_t *ipc_phone_0; |
|
| 205 | 208 | ||
| 206 | #endif |
209 | #endif |
| 207 | 210 | ||
| 208 | #endif |
211 | #endif |