Changeset 87b4baa in mainline for uspace/lib/c/generic/net/modules.c


Ignore:
Timestamp:
2010-12-17T20:16:46Z (14 years ago)
Author:
Vojtech Horky <vojtechhorky@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
424558a
Parents:
463e734 (diff), bbc74af7 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge mainline changes

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/generic/net/modules.c

    r463e734 r87b4baa  
    6767                switch (answer_count) {
    6868                case 0:
    69                         ipc_answer_0(callid, (ipcarg_t) result);
     69                        ipc_answer_0(callid, (sysarg_t) result);
    7070                        break;
    7171                case 1:
    72                         ipc_answer_1(callid, (ipcarg_t) result,
     72                        ipc_answer_1(callid, (sysarg_t) result,
    7373                            IPC_GET_ARG1(*answer));
    7474                        break;
    7575                case 2:
    76                         ipc_answer_2(callid, (ipcarg_t) result,
     76                        ipc_answer_2(callid, (sysarg_t) result,
    7777                            IPC_GET_ARG1(*answer), IPC_GET_ARG2(*answer));
    7878                        break;
    7979                case 3:
    80                         ipc_answer_3(callid, (ipcarg_t) result,
     80                        ipc_answer_3(callid, (sysarg_t) result,
    8181                            IPC_GET_ARG1(*answer), IPC_GET_ARG2(*answer),
    8282                            IPC_GET_ARG3(*answer));
    8383                        break;
    8484                case 4:
    85                         ipc_answer_4(callid, (ipcarg_t) result,
     85                        ipc_answer_4(callid, (sysarg_t) result,
    8686                            IPC_GET_ARG1(*answer), IPC_GET_ARG2(*answer),
    8787                            IPC_GET_ARG3(*answer), IPC_GET_ARG4(*answer));
     
    8989                case 5:
    9090                default:
    91                         ipc_answer_5(callid, (ipcarg_t) result,
     91                        ipc_answer_5(callid, (sysarg_t) result,
    9292                            IPC_GET_ARG1(*answer), IPC_GET_ARG2(*answer),
    9393                            IPC_GET_ARG3(*answer), IPC_GET_ARG4(*answer),
     
    111111 *                      function.
    112112 */
    113 int bind_service(services_t need, ipcarg_t arg1, ipcarg_t arg2, ipcarg_t arg3,
     113int bind_service(services_t need, sysarg_t arg1, sysarg_t arg2, sysarg_t arg3,
    114114    async_client_conn_t client_receiver)
    115115{
     
    134134 *
    135135 */
    136 int bind_service_timeout(services_t need, ipcarg_t arg1, ipcarg_t arg2,
    137     ipcarg_t arg3, async_client_conn_t client_receiver, suseconds_t timeout)
     136int bind_service_timeout(services_t need, sysarg_t arg1, sysarg_t arg2,
     137    sysarg_t arg3, async_client_conn_t client_receiver, suseconds_t timeout)
    138138{
    139139        int rc;
     
    143143        if (phone >= 0) {
    144144                /* Request the bidirectional connection */
    145                 ipcarg_t phonehash;
     145                sysarg_t phonehash;
    146146               
    147147                rc = ipc_connect_to_me(phone, arg1, arg2, arg3, &phonehash);
     
    196196                timeout -= MODULE_WAIT_TIME;
    197197        }
    198 }
    199 
    200 /** Receives data from the other party.
    201  *
    202  * The received data buffer is allocated and returned.
    203  *
    204  * @param[out] data     The data buffer to be filled.
    205  * @param[out] length   The buffer length.
    206  * @return              EOK on success.
    207  * @return              EBADMEM if the data or the length parameter is NULL.
    208  * @return              EINVAL if the client does not send data.
    209  * @return              ENOMEM if there is not enough memory left.
    210  * @return              Other error codes as defined for the
    211  *                      async_data_write_finalize() function.
    212  */
    213 int data_receive(void **data, size_t *length)
    214 {
    215         ipc_callid_t callid;
    216         int rc;
    217 
    218         if (!data || !length)
    219                 return EBADMEM;
    220 
    221         // fetch the request
    222         if (!async_data_write_receive(&callid, length))
    223                 return EINVAL;
    224 
    225         // allocate the buffer
    226         *data = malloc(*length);
    227         if (!*data)
    228                 return ENOMEM;
    229 
    230         // fetch the data
    231         rc = async_data_write_finalize(callid, *data, *length);
    232         if (rc != EOK) {
    233                 free(data);
    234                 return rc;
    235         }
    236 
    237         return EOK;
    238198}
    239199
     
    283243                IPC_SET_RETVAL(*answer, 0);
    284244                // just to be precize
    285                 IPC_SET_METHOD(*answer, 0);
     245                IPC_SET_IMETHOD(*answer, 0);
    286246                IPC_SET_ARG1(*answer, 0);
    287247                IPC_SET_ARG2(*answer, 0);
Note: See TracChangeset for help on using the changeset viewer.