Ignore:
File:
1 edited

Legend:

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

    rb8b1adb1 r02a09ed  
    4444#include <str.h>
    4545#include <sys/types.h>
    46 #include <types/inetcfg.h>
    4746
    4847#include "addrobj.h"
     
    152151static int inetcfg_get_link_list(sysarg_t **addrs, size_t *count)
    153152{
    154         return inet_link_get_id_list(addrs, count);
     153        return ENOTSUP;
    155154}
    156155
     
    171170        linfo->name = str_dup(ilink->svc_name);
    172171        linfo->def_mtu = ilink->def_mtu;
    173         if (ilink->mac_valid) {
    174                 addr48(ilink->mac, linfo->mac_addr);
    175         } else {
    176                 memset(linfo->mac_addr, 0, sizeof(linfo->mac_addr));
    177         }
    178 
    179172        return EOK;
    180173}
     
    418411{
    419412        ipc_callid_t rcallid;
    420         size_t count;
    421413        size_t max_size;
    422414        size_t act_size;
     
    425417        int rc;
    426418
    427         log_msg(LOG_DEFAULT, LVL_DEBUG, "inetcfg_get_addr_list_srv()");
     419        log_msg(LOG_DEFAULT, LVL_DEBUG, "inetcfg_get_link_list_srv()");
    428420
    429421        if (!async_data_read_receive(&rcallid, &max_size)) {
     
    433425        }
    434426
    435         rc = inetcfg_get_link_list(&id_buf, &count);
     427        rc = inetcfg_get_link_list(&id_buf, &act_size);
    436428        if (rc != EOK) {
    437429                async_answer_0(rcallid, rc);
     
    440432        }
    441433
    442         act_size = count * sizeof(sysarg_t);
    443434        size = min(act_size, max_size);
    444435
     
    485476static void inetcfg_link_get_srv(ipc_callid_t callid, ipc_call_t *call)
    486477{
    487         ipc_callid_t name_callid;
    488         ipc_callid_t laddr_callid;
    489         size_t name_max_size;
    490         size_t laddr_max_size;
     478        ipc_callid_t rcallid;
     479        size_t max_size;
    491480
    492481        sysarg_t link_id;
     
    499488        linfo.name = NULL;
    500489
    501         if (!async_data_read_receive(&name_callid, &name_max_size)) {
    502                 async_answer_0(name_callid, EREFUSED);
    503                 async_answer_0(callid, EREFUSED);
    504                 return;
    505         }
    506 
    507         if (!async_data_read_receive(&laddr_callid, &laddr_max_size)) {
    508                 async_answer_0(name_callid, EREFUSED);
     490        if (!async_data_read_receive(&rcallid, &max_size)) {
     491                async_answer_0(rcallid, EREFUSED);
    509492                async_answer_0(callid, EREFUSED);
    510493                return;
     
    513496        rc = inetcfg_link_get(link_id, &linfo);
    514497        if (rc != EOK) {
    515                 async_answer_0(laddr_callid, rc);
    516                 async_answer_0(name_callid, rc);
    517                 async_answer_0(callid, rc);
    518                 return;
    519         }
    520 
    521         sysarg_t retval = async_data_read_finalize(name_callid, linfo.name,
    522             min(name_max_size, str_size(linfo.name)));
    523         if (retval != EOK) {
    524                 free(linfo.name);
    525                 async_answer_0(laddr_callid, retval);
    526                 async_answer_0(callid, retval);
    527                 return;
    528         }
    529 
    530         retval = async_data_read_finalize(laddr_callid, &linfo.mac_addr,
    531             min(laddr_max_size, sizeof(linfo.mac_addr)));
    532 
     498                async_answer_0(rcallid, rc);
     499                async_answer_0(callid, rc);
     500                return;
     501        }
     502
     503        sysarg_t retval = async_data_read_finalize(rcallid, linfo.name,
     504            min(max_size, str_size(linfo.name)));
    533505        free(linfo.name);
    534506
Note: See TracChangeset for help on using the changeset viewer.