Rev 3370 | Rev 3438 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3370 | Rev 3395 | ||
---|---|---|---|
Line 258... | Line 258... | ||
258 | } answerbox_t; |
258 | } answerbox_t; |
259 | 259 | ||
260 | typedef struct { |
260 | typedef struct { |
261 | unative_t args[IPC_CALL_LEN]; |
261 | unative_t args[IPC_CALL_LEN]; |
262 | phone_t *phone; |
262 | phone_t *phone; |
263 | /* |
- | |
264 | * The forward operation can masquerade the caller phone. For those |
- | |
265 | * cases, we must keep it aside so that the answer is processed |
- | |
266 | * correctly. |
- | |
267 | */ |
- | |
268 | phone_t *caller_phone; |
- | |
269 | } ipc_data_t; |
263 | } ipc_data_t; |
270 | 264 | ||
271 | typedef struct { |
265 | typedef struct { |
272 | link_t link; |
266 | link_t link; |
273 | 267 | ||
Line 285... | Line 279... | ||
285 | /** Data passed from/to userspace. */ |
279 | /** Data passed from/to userspace. */ |
286 | ipc_data_t data; |
280 | ipc_data_t data; |
287 | 281 | ||
288 | /** Buffer for IPC_M_DATA_WRITE and IPC_M_DATA_READ. */ |
282 | /** Buffer for IPC_M_DATA_WRITE and IPC_M_DATA_READ. */ |
289 | uint8_t *buffer; |
283 | uint8_t *buffer; |
- | 284 | ||
- | 285 | /* |
|
- | 286 | * The forward operation can masquerade the caller phone. For those |
|
- | 287 | * cases, we must keep it aside so that the answer is processed |
|
- | 288 | * correctly. |
|
- | 289 | */ |
|
- | 290 | phone_t *caller_phone; |
|
290 | } call_t; |
291 | } call_t; |
291 | 292 | ||
292 | extern void ipc_init(void); |
293 | extern void ipc_init(void); |
293 | extern call_t * ipc_wait_for_call(answerbox_t *, uint32_t, int); |
294 | extern call_t * ipc_wait_for_call(answerbox_t *, uint32_t, int); |
294 | extern void ipc_answer(answerbox_t *, call_t *); |
295 | extern void ipc_answer(answerbox_t *, call_t *); |