Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/lib/c/generic/iplink.c

    ra2e3ee6 r77ad86c  
    3939#include <errno.h>
    4040#include <inet/iplink.h>
    41 #include <inet/addr.h>
    4241#include <ipc/iplink.h>
    4342#include <ipc/services.h>
     
    8483{
    8584        async_exch_t *exch = async_exchange_begin(iplink->sess);
    86        
     85
    8786        ipc_call_t answer;
    88         aid_t req = async_send_2(exch, IPLINK_SEND, (sysarg_t) sdu->lsrc,
    89             (sysarg_t) sdu->ldest, &answer);
     87        aid_t req = async_send_2(exch, IPLINK_SEND, sdu->lsrc.ipv4,
     88            sdu->ldest.ipv4, &answer);
    9089        int rc = async_data_write_start(exch, sdu->data, sdu->size);
    91        
    9290        async_exchange_end(exch);
    93        
     91
    9492        if (rc != EOK) {
    9593                async_forget(req);
    9694                return rc;
    9795        }
    98        
     96
    9997        sysarg_t retval;
    10098        async_wait_for(req, &retval);
    10199        if (retval != EOK)
    102100                return retval;
    103        
     101
    104102        return EOK;
    105103}
     
    120118}
    121119
    122 int iplink_addr_add(iplink_t *iplink, inet_addr_t *addr)
     120int iplink_addr_add(iplink_t *iplink, iplink_addr_t *addr)
    123121{
    124         uint32_t addr_addr;
    125         int rc = inet_addr_pack(addr, &addr_addr);
    126         if (rc != EOK)
    127                 return rc;
    128        
    129122        async_exch_t *exch = async_exchange_begin(iplink->sess);
    130         rc = async_req_1_0(exch, IPLINK_ADDR_ADD, (sysarg_t) addr_addr);
     123
     124        int rc = async_req_1_0(exch, IPLINK_ADDR_ADD, (sysarg_t)addr->ipv4);
    131125        async_exchange_end(exch);
    132        
     126
    133127        return rc;
    134128}
    135129
    136 int iplink_addr_remove(iplink_t *iplink, inet_addr_t *addr)
     130int iplink_addr_remove(iplink_t *iplink, iplink_addr_t *addr)
    137131{
    138         uint32_t addr_addr;
    139         int rc = inet_addr_pack(addr, &addr_addr);
    140         if (rc != EOK)
    141                 return rc;
    142        
    143132        async_exch_t *exch = async_exchange_begin(iplink->sess);
    144         rc = async_req_1_0(exch, IPLINK_ADDR_REMOVE, (sysarg_t) addr_addr);
     133
     134        int rc = async_req_1_0(exch, IPLINK_ADDR_REMOVE, (sysarg_t)addr->ipv4);
    145135        async_exchange_end(exch);
    146        
     136
    147137        return rc;
    148138}
     
    151141    ipc_call_t *call)
    152142{
     143        int rc;
    153144        iplink_sdu_t sdu;
    154        
    155         sdu.lsrc = IPC_GET_ARG1(*call);
    156         sdu.ldest = IPC_GET_ARG2(*call);
    157        
    158         int rc = async_data_write_accept(&sdu.data, false, 0, 0, 0, &sdu.size);
     145
     146        sdu.lsrc.ipv4 = IPC_GET_ARG1(*call);
     147        sdu.ldest.ipv4 = IPC_GET_ARG2(*call);
     148
     149        rc = async_data_write_accept(&sdu.data, false, 0, 0, 0, &sdu.size);
    159150        if (rc != EOK) {
    160151                async_answer_0(callid, rc);
    161152                return;
    162153        }
    163        
     154
    164155        rc = iplink->ev_ops->recv(iplink, &sdu);
    165156        free(sdu.data);
Note: See TracChangeset for help on using the changeset viewer.