Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/ipc/ops/dataread.c

    raafed15 r5a5269d  
    4343static errno_t request_preprocess(call_t *call, phone_t *phone)
    4444{
    45         size_t size = IPC_GET_ARG2(call->data);
     45        size_t size = ipc_get_arg2(&call->data);
    4646
    4747        if (size > DATA_XFER_LIMIT) {
    48                 int flags = IPC_GET_ARG3(call->data);
     48                int flags = ipc_get_arg3(&call->data);
    4949
    5050                if (flags & IPC_XF_RESTRICT)
    51                         IPC_SET_ARG2(call->data, DATA_XFER_LIMIT);
     51                        ipc_set_arg2(&call->data, DATA_XFER_LIMIT);
    5252                else
    5353                        return ELIMIT;
     
    6161        assert(!answer->buffer);
    6262
    63         if (!IPC_GET_RETVAL(answer->data)) {
     63        if (!ipc_get_retval(&answer->data)) {
    6464                /* The recipient agreed to send data. */
    65                 uintptr_t src = IPC_GET_ARG1(answer->data);
    66                 uintptr_t dst = IPC_GET_ARG1(*olddata);
    67                 size_t max_size = IPC_GET_ARG2(*olddata);
    68                 size_t size = IPC_GET_ARG2(answer->data);
     65                uspace_addr_t src = ipc_get_arg1(&answer->data);
     66                uspace_addr_t dst = ipc_get_arg1(olddata);
     67                size_t max_size = ipc_get_arg2(olddata);
     68                size_t size = ipc_get_arg2(&answer->data);
    6969
    7070                if (size && size <= max_size) {
     
    7373                         * information is not lost.
    7474                         */
    75                         IPC_SET_ARG1(answer->data, dst);
     75                        ipc_set_arg1(&answer->data, dst);
    7676
    7777                        answer->buffer = malloc(size);
    7878                        if (!answer->buffer) {
    79                                 IPC_SET_RETVAL(answer->data, ENOMEM);
     79                                ipc_set_retval(&answer->data, ENOMEM);
    8080                                return EOK;
    8181                        }
    8282                        errno_t rc = copy_from_uspace(answer->buffer,
    83                             (void *) src, size);
     83                            src, size);
    8484                        if (rc) {
    85                                 IPC_SET_RETVAL(answer->data, rc);
     85                                ipc_set_retval(&answer->data, rc);
    8686                                /*
    8787                                 * answer->buffer will be cleaned up in
     
    9191                        }
    9292                } else if (!size) {
    93                         IPC_SET_RETVAL(answer->data, EOK);
     93                        ipc_set_retval(&answer->data, EOK);
    9494                } else {
    95                         IPC_SET_RETVAL(answer->data, ELIMIT);
     95                        ipc_set_retval(&answer->data, ELIMIT);
    9696                }
    9797        }
     
    103103{
    104104        if (answer->buffer) {
    105                 uintptr_t dst = IPC_GET_ARG1(answer->data);
    106                 size_t size = IPC_GET_ARG2(answer->data);
     105                uspace_addr_t dst = ipc_get_arg1(&answer->data);
     106                size_t size = ipc_get_arg2(&answer->data);
    107107                errno_t rc;
    108108
    109                 rc = copy_to_uspace((void *) dst, answer->buffer, size);
     109                rc = copy_to_uspace(dst, answer->buffer, size);
    110110                if (rc)
    111                         IPC_SET_RETVAL(answer->data, rc);
     111                        ipc_set_retval(&answer->data, rc);
    112112        }
    113113
Note: See TracChangeset for help on using the changeset viewer.