Ignore:
File:
1 edited

Legend:

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

    raafed15 r5a5269d  
    4343static errno_t request_preprocess(call_t *call, phone_t *phone)
    4444{
    45         uintptr_t src = IPC_GET_ARG1(call->data);
    46         size_t size = IPC_GET_ARG2(call->data);
     45        uspace_addr_t src = ipc_get_arg1(&call->data);
     46        size_t size = ipc_get_arg2(&call->data);
    4747
    4848        if (size > DATA_XFER_LIMIT) {
    49                 int flags = IPC_GET_ARG3(call->data);
     49                int flags = ipc_get_arg3(&call->data);
    5050
    5151                if (flags & IPC_XF_RESTRICT) {
    5252                        size = DATA_XFER_LIMIT;
    53                         IPC_SET_ARG2(call->data, size);
     53                        ipc_set_arg2(&call->data, size);
    5454                } else
    5555                        return ELIMIT;
     
    5959        if (!call->buffer)
    6060                return ENOMEM;
    61         errno_t rc = copy_from_uspace(call->buffer, (void *) src, size);
     61        errno_t rc = copy_from_uspace(call->buffer, src, size);
    6262        if (rc != EOK) {
    6363                /*
     
    7575        assert(answer->buffer);
    7676
    77         if (!IPC_GET_RETVAL(answer->data)) {
     77        if (!ipc_get_retval(&answer->data)) {
    7878                /* The recipient agreed to receive data. */
    79                 uintptr_t dst = (uintptr_t)IPC_GET_ARG1(answer->data);
    80                 size_t size = (size_t)IPC_GET_ARG2(answer->data);
    81                 size_t max_size = (size_t)IPC_GET_ARG2(*olddata);
     79                uspace_addr_t dst = ipc_get_arg1(&answer->data);
     80                size_t size = ipc_get_arg2(&answer->data);
     81                size_t max_size = ipc_get_arg2(olddata);
    8282
    8383                if (size <= max_size) {
    84                         errno_t rc = copy_to_uspace((void *) dst,
     84                        errno_t rc = copy_to_uspace(dst,
    8585                            answer->buffer, size);
    8686                        if (rc)
    87                                 IPC_SET_RETVAL(answer->data, rc);
     87                                ipc_set_retval(&answer->data, rc);
    8888                } else {
    89                         IPC_SET_RETVAL(answer->data, ELIMIT);
     89                        ipc_set_retval(&answer->data, ELIMIT);
    9090                }
    9191        }
Note: See TracChangeset for help on using the changeset viewer.