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; |