Rev 2618 | Rev 2620 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 2618 | Rev 2619 | ||
|---|---|---|---|
| Line 590... | Line 590... | ||
| 590 | * |
590 | * |
| 591 | * @param callid Hash of the call to be answered. |
591 | * @param callid Hash of the call to be answered. |
| 592 | * @param retval Return value of the answer. |
592 | * @param retval Return value of the answer. |
| 593 | * @param arg1 Service-defined return value. |
593 | * @param arg1 Service-defined return value. |
| 594 | * @param arg2 Service-defined return value. |
594 | * @param arg2 Service-defined return value. |
| - | 595 | * @param arg3 Service-defined return value. |
|
| - | 596 | * @param arg4 Service-defined return value. |
|
| 595 | * |
597 | * |
| 596 | * @return Return 0 on success, otherwise return an error code. |
598 | * @return Return 0 on success, otherwise return an error code. |
| 597 | */ |
599 | */ |
| 598 | unative_t sys_ipc_answer_fast(unative_t callid, unative_t retval, |
600 | unative_t sys_ipc_answer_fast(unative_t callid, unative_t retval, |
| 599 | unative_t arg1, unative_t arg2) |
601 | unative_t arg1, unative_t arg2, unative_t arg3, unative_t arg4) |
| 600 | { |
602 | { |
| 601 | call_t *call; |
603 | call_t *call; |
| 602 | ipc_data_t saved_data; |
604 | ipc_data_t saved_data; |
| 603 | int saveddata = 0; |
605 | int saveddata = 0; |
| 604 | int rc; |
606 | int rc; |
| Line 617... | Line 619... | ||
| 617 | } |
619 | } |
| 618 | 620 | ||
| 619 | IPC_SET_RETVAL(call->data, retval); |
621 | IPC_SET_RETVAL(call->data, retval); |
| 620 | IPC_SET_ARG1(call->data, arg1); |
622 | IPC_SET_ARG1(call->data, arg1); |
| 621 | IPC_SET_ARG2(call->data, arg2); |
623 | IPC_SET_ARG2(call->data, arg2); |
| - | 624 | IPC_SET_ARG3(call->data, arg3); |
|
| - | 625 | IPC_SET_ARG4(call->data, arg4); |
|
| 622 | rc = answer_preprocess(call, saveddata ? &saved_data : NULL); |
626 | rc = answer_preprocess(call, saveddata ? &saved_data : NULL); |
| 623 | 627 | ||
| 624 | ipc_answer(&TASK->answerbox, call); |
628 | ipc_answer(&TASK->answerbox, call); |
| 625 | return rc; |
629 | return rc; |
| 626 | } |
630 | } |
| Line 630... | Line 634... | ||
| 630 | * @param callid Hash of the call to be answered. |
634 | * @param callid Hash of the call to be answered. |
| 631 | * @param data Userspace address of call data with the answer. |
635 | * @param data Userspace address of call data with the answer. |
| 632 | * |
636 | * |
| 633 | * @return Return 0 on success, otherwise return an error code. |
637 | * @return Return 0 on success, otherwise return an error code. |
| 634 | */ |
638 | */ |
| 635 | unative_t sys_ipc_answer(unative_t callid, ipc_data_t *data) |
639 | unative_t sys_ipc_answer_slow(unative_t callid, ipc_data_t *data) |
| 636 | { |
640 | { |
| 637 | call_t *call; |
641 | call_t *call; |
| 638 | ipc_data_t saved_data; |
642 | ipc_data_t saved_data; |
| 639 | int saveddata = 0; |
643 | int saveddata = 0; |
| 640 | int rc; |
644 | int rc; |