- Timestamp:
- 2007-11-24T14:19:10Z (18 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 9201f47
- Parents:
- 0cc4313
- Location:
- kernel/generic
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/include/ipc/ipc.h
r0cc4313 rd40a8ff 98 98 #define PHONE_NS 0 99 99 100 /* Forwarding flags. */ 101 #define IPC_FF_NONE 0 102 100 103 /* System-specific methods - only through special syscalls 101 104 * These methods have special behaviour … … 276 279 extern void ipc_call_static_init(call_t *call); 277 280 extern void task_print_list(void); 278 extern int ipc_forward(call_t *call, phone_t *newphone, answerbox_t *oldbox); 281 extern int ipc_forward(call_t *call, phone_t *newphone, answerbox_t *oldbox, 282 int mode); 279 283 extern void ipc_cleanup(void); 280 284 extern int ipc_phone_hangup(phone_t *phone); -
kernel/generic/include/ipc/sysipc.h
r0cc4313 rd40a8ff 53 53 int nonblocking); 54 54 unative_t sys_ipc_forward_fast(unative_t callid, unative_t phoneid, 55 unative_t method, unative_t arg1 );55 unative_t method, unative_t arg1, int mode); 56 56 unative_t sys_ipc_hangup(int phoneid); 57 57 unative_t sys_ipc_register_irq(inr_t inr, devno_t devno, unative_t method, -
kernel/generic/src/ipc/ipc.c
r0cc4313 rd40a8ff 330 330 * @param newphone Phone structure to target answerbox. 331 331 * @param oldbox Old answerbox structure. 332 * @param mode Flags that specify mode of the forward operation. 332 333 * 333 334 * @return Return 0 if forwarding succeeded or an error code if … … 337 338 * the original caller is notified automatically with EFORWARD. 338 339 */ 339 int ipc_forward(call_t *call, phone_t *newphone, answerbox_t *oldbox )340 int ipc_forward(call_t *call, phone_t *newphone, answerbox_t *oldbox, int mode) 340 341 { 341 342 spinlock_lock(&oldbox->lock); -
kernel/generic/src/ipc/sysipc.c
r0cc4313 rd40a8ff 538 538 * @param method New method to use for the forwarded call. 539 539 * @param arg1 New value of the first argument for the forwarded call. 540 * @param mode Flags that specify mode of the forward operation. 540 541 * 541 542 * @return Return 0 on succes, otherwise return an error code. … … 547 548 * new method and argument is not set and these values are ignored. 548 549 * 549 * Warning: If implementing non-fast version, make sure that 550 * ARG3 is not rewritten for certain system IPC 550 * Warning: When implementing support for changing additional payload 551 * arguments, make sure that ARG3 is not rewritten for certain 552 * system IPC 551 553 */ 552 554 unative_t sys_ipc_forward_fast(unative_t callid, unative_t phoneid, 553 unative_t method, unative_t arg1 )555 unative_t method, unative_t arg1, int mode) 554 556 { 555 557 call_t *call; … … 592 594 } 593 595 594 return ipc_forward(call, phone, &TASK->answerbox );596 return ipc_forward(call, phone, &TASK->answerbox, mode); 595 597 } 596 598
Note:
See TracChangeset
for help on using the changeset viewer.