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 |