Ignore:
File:
1 edited

Legend:

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

    rec7902d rcdd6fc9  
    11/*
    2  * Copyright (c) 2012 Jiri Svoboda
     2 * Copyright (c) 2023 Jiri Svoboda
    33 * All rights reserved.
    44 *
     
    2727 */
    2828
    29 /** @addtogroup libc
     29/** @addtogroup libinet
    3030 * @{
    3131 */
     
    3636
    3737#include <errno.h>
     38#include <inet/eth_addr.h>
    3839#include <ipc/iplink.h>
    3940#include <stdlib.h>
     
    5152static void iplink_get_mac48_srv(iplink_srv_t *srv, ipc_call_t *icall)
    5253{
    53         addr48_t mac;
     54        eth_addr_t mac;
    5455        errno_t rc = srv->ops->get_mac48(srv, &mac);
    5556        if (rc != EOK) {
     
    6667        }
    6768
    68         if (size != sizeof(addr48_t)) {
     69        if (size != sizeof(eth_addr_t)) {
    6970                async_answer_0(&call, EINVAL);
    7071                async_answer_0(icall, EINVAL);
     
    7374
    7475        rc = async_data_read_finalize(&call, &mac, size);
    75         if (rc != EOK)
    76                 async_answer_0(&call, rc);
     76        if (rc != EOK) {
     77                async_answer_0(&call, rc);
     78                async_answer_0(icall, rc);
     79                return;
     80        }
    7781
    7882        async_answer_0(icall, rc);
     
    8387        errno_t rc;
    8488        size_t size;
    85         addr48_t mac;
     89        eth_addr_t mac;
    8690
    8791        ipc_call_t call;
     
    9397        rc = srv->ops->set_mac48(srv, &mac);
    9498        if (rc != EOK) {
    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);
     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        }
    102110
    103111        async_answer_0(icall, rc);
     
    108116        ipc_call_t call;
    109117        size_t size;
     118
    110119        if (!async_data_write_receive(&call, &size)) {
    111120                async_answer_0(&call, EREFUSED);
     
    125134                async_answer_0(&call, rc);
    126135                async_answer_0(icall, rc);
     136                return;
    127137        }
    128138
     
    135145        ipc_call_t call;
    136146        size_t size;
     147
    137148        if (!async_data_write_receive(&call, &size)) {
    138149                async_answer_0(&call, EREFUSED);
     
    152163                async_answer_0(&call, rc);
    153164                async_answer_0(icall, rc);
     165                return;
    154166        }
    155167
     
    180192{
    181193        iplink_sdu6_t sdu;
    182 
    183         ipc_call_t call;
    184         size_t size;
     194        ipc_call_t call;
     195        size_t size;
     196
    185197        if (!async_data_write_receive(&call, &size)) {
    186198                async_answer_0(&call, EREFUSED);
     
    189201        }
    190202
    191         if (size != sizeof(addr48_t)) {
     203        if (size != sizeof(eth_addr_t)) {
    192204                async_answer_0(&call, EINVAL);
    193205                async_answer_0(icall, EINVAL);
     
    322334}
    323335
    324 errno_t iplink_ev_change_addr(iplink_srv_t *srv, addr48_t *addr)
     336errno_t iplink_ev_change_addr(iplink_srv_t *srv, eth_addr_t *addr)
    325337{
    326338        if (srv->client_sess == NULL)
     
    332344        aid_t req = async_send_0(exch, IPLINK_EV_CHANGE_ADDR, &answer);
    333345
    334         errno_t rc = async_data_write_start(exch, addr, sizeof(addr48_t));
     346        errno_t rc = async_data_write_start(exch, addr, sizeof(eth_addr_t));
    335347        async_exchange_end(exch);
    336348
Note: See TracChangeset for help on using the changeset viewer.