Changeset a2e3ee6 in mainline for uspace/srv/net/inetsrv/inetping.c


Ignore:
Timestamp:
2013-06-20T16:45:58Z (11 years ago)
Author:
Martin Decky <martin@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
08bb73b
Parents:
19a4f73
Message:

use new network address infrastructure (towards IPv6 support)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • uspace/srv/net/inetsrv/inetping.c

    r19a4f73 ra2e3ee6  
    6262}
    6363
    64 static int inetping_get_srcaddr(inetping_client_t *client, inet_addr_t *remote,
    65     inet_addr_t *local)
    66 {
    67         return inet_get_srcaddr(remote, ICMP_TOS, local);
     64static int inetping_get_srcaddr(inetping_client_t *client, uint32_t remote,
     65    uint32_t *local)
     66{
     67        inet_addr_t remote_addr;
     68        inet_addr_unpack(remote, &remote_addr);
     69       
     70        inet_addr_t local_addr;
     71        int rc = inet_get_srcaddr(&remote_addr, ICMP_TOS, &local_addr);
     72        if (rc != EOK)
     73                return rc;
     74       
     75        return inet_addr_pack(&local_addr, local);
    6876}
    6977
     
    8290        exch = async_exchange_begin(client->sess);
    8391
    84         aid_t req = async_send_3(exch, INETPING_EV_RECV, sdu->src.ipv4,
    85             sdu->dest.ipv4, sdu->seq_no, &answer);
     92        aid_t req = async_send_3(exch, INETPING_EV_RECV, (sysarg_t) sdu->src,
     93            (sysarg_t) sdu->dest, sdu->seq_no, &answer);
    8694        int rc = async_data_write_start(exch, sdu->data, sdu->size);
    8795        async_exchange_end(exch);
     
    116124        }
    117125
    118         sdu.src.ipv4 = IPC_GET_ARG1(*call);
    119         sdu.dest.ipv4 = IPC_GET_ARG2(*call);
     126        sdu.src = IPC_GET_ARG1(*call);
     127        sdu.dest = IPC_GET_ARG2(*call);
    120128        sdu.seq_no = IPC_GET_ARG3(*call);
    121129
     
    129137    ipc_callid_t callid, ipc_call_t *call)
    130138{
    131         inet_addr_t remote;
    132         inet_addr_t local;
    133         int rc;
    134 
    135139        log_msg(LOG_DEFAULT, LVL_DEBUG, "inetping_get_srcaddr_srv()");
    136 
    137         remote.ipv4 = IPC_GET_ARG1(*call);
    138         local.ipv4 = 0;
    139 
    140         rc = inetping_get_srcaddr(client, &remote, &local);
    141         async_answer_1(callid, rc, local.ipv4);
     140       
     141        uint32_t remote = IPC_GET_ARG1(*call);
     142        uint32_t local = 0;
     143       
     144        int rc = inetping_get_srcaddr(client, remote, &local);
     145        async_answer_1(callid, rc, (sysarg_t) local);
    142146}
    143147
Note: See TracChangeset for help on using the changeset viewer.