Ignore:
File:
1 edited

Legend:

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

    ra2e3ee6 ra1a101d  
    6262}
    6363
    64 static 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);
     64static 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);
    7668}
    7769
     
    9082        exch = async_exchange_begin(client->sess);
    9183
    92         aid_t req = async_send_3(exch, INETPING_EV_RECV, (sysarg_t) sdu->src,
    93             (sysarg_t) sdu->dest, sdu->seq_no, &answer);
     84        aid_t req = async_send_3(exch, INETPING_EV_RECV, sdu->src.ipv4,
     85            sdu->dest.ipv4, sdu->seq_no, &answer);
    9486        int rc = async_data_write_start(exch, sdu->data, sdu->size);
    9587        async_exchange_end(exch);
     
    124116        }
    125117
    126         sdu.src = IPC_GET_ARG1(*call);
    127         sdu.dest = IPC_GET_ARG2(*call);
     118        sdu.src.ipv4 = IPC_GET_ARG1(*call);
     119        sdu.dest.ipv4 = IPC_GET_ARG2(*call);
    128120        sdu.seq_no = IPC_GET_ARG3(*call);
    129121
     
    137129    ipc_callid_t callid, ipc_call_t *call)
    138130{
     131        inet_addr_t remote;
     132        inet_addr_t local;
     133        int rc;
     134
    139135        log_msg(LOG_DEFAULT, LVL_DEBUG, "inetping_get_srcaddr_srv()");
    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);
     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);
    146142}
    147143
Note: See TracChangeset for help on using the changeset viewer.