Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/inet/src/iplink_srv.c

    rcdd6fc9 rec7902d  
    11/*
    2  * Copyright (c) 2023 Jiri Svoboda
     2 * Copyright (c) 2012 Jiri Svoboda
    33 * All rights reserved.
    44 *
     
    2727 */
    2828
    29 /** @addtogroup libinet
     29/** @addtogroup libc
    3030 * @{
    3131 */
     
    3636
    3737#include <errno.h>
    38 #include <inet/eth_addr.h>
    3938#include <ipc/iplink.h>
    4039#include <stdlib.h>
     
    5251static void iplink_get_mac48_srv(iplink_srv_t *srv, ipc_call_t *icall)
    5352{
    54         eth_addr_t mac;
     53        addr48_t mac;
    5554        errno_t rc = srv->ops->get_mac48(srv, &mac);
    5655        if (rc != EOK) {
     
    6766        }
    6867
    69         if (size != sizeof(eth_addr_t)) {
     68        if (size != sizeof(addr48_t)) {
    7069                async_answer_0(&call, EINVAL);
    7170                async_answer_0(icall, EINVAL);
     
    7473
    7574        rc = async_data_read_finalize(&call, &mac, size);
    76         if (rc != EOK) {
    77                 async_answer_0(&call, rc);
    78                 async_answer_0(icall, rc);
    79                 return;
    80         }
     75        if (rc != EOK)
     76                async_answer_0(&call, rc);
    8177
    8278        async_answer_0(icall, rc);
     
    8783        errno_t rc;
    8884        size_t size;
    89         eth_addr_t mac;
     85        addr48_t mac;
    9086
    9187        ipc_call_t call;
     
    9793        rc = srv->ops->set_mac48(srv, &mac);
    9894        if (rc != EOK) {
    99                 async_answer_0(&call, rc);
    100                 async_answer_0(icall, rc);
    101                 return;
    102         }
    103 
    104         rc = async_data_read_finalize(&call, &mac, sizeof(eth_addr_t));
    105         if (rc != EOK) {
    106                 async_answer_0(&call, rc);
    107                 async_answer_0(icall, rc);
    108                 return;
    109         }
     95                async_answer_0(icall, rc);
     96                return;
     97        }
     98
     99        rc = async_data_read_finalize(&call, &mac, sizeof(addr48_t));
     100        if (rc != EOK)
     101                async_answer_0(&call, rc);
    110102
    111103        async_answer_0(icall, rc);
     
    116108        ipc_call_t call;
    117109        size_t size;
    118 
    119110        if (!async_data_write_receive(&call, &size)) {
    120111                async_answer_0(&call, EREFUSED);
     
    134125                async_answer_0(&call, rc);
    135126                async_answer_0(icall, rc);
    136                 return;
    137127        }
    138128
     
    145135        ipc_call_t call;
    146136        size_t size;
    147 
    148137        if (!async_data_write_receive(&call, &size)) {
    149138                async_answer_0(&call, EREFUSED);
     
    163152                async_answer_0(&call, rc);
    164153                async_answer_0(icall, rc);
    165                 return;
    166154        }
    167155
     
    192180{
    193181        iplink_sdu6_t sdu;
    194         ipc_call_t call;
    195         size_t size;
    196 
     182
     183        ipc_call_t call;
     184        size_t size;
    197185        if (!async_data_write_receive(&call, &size)) {
    198186                async_answer_0(&call, EREFUSED);
     
    201189        }
    202190
    203         if (size != sizeof(eth_addr_t)) {
     191        if (size != sizeof(addr48_t)) {
    204192                async_answer_0(&call, EINVAL);
    205193                async_answer_0(icall, EINVAL);
     
    334322}
    335323
    336 errno_t iplink_ev_change_addr(iplink_srv_t *srv, eth_addr_t *addr)
     324errno_t iplink_ev_change_addr(iplink_srv_t *srv, addr48_t *addr)
    337325{
    338326        if (srv->client_sess == NULL)
     
    344332        aid_t req = async_send_0(exch, IPLINK_EV_CHANGE_ADDR, &answer);
    345333
    346         errno_t rc = async_data_write_start(exch, addr, sizeof(eth_addr_t));
     334        errno_t rc = async_data_write_start(exch, addr, sizeof(addr48_t));
    347335        async_exchange_end(exch);
    348336
Note: See TracChangeset for help on using the changeset viewer.