Changes in uspace/srv/net/inetsrv/inetcfg.c [b8b1adb1:02a09ed] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/net/inetsrv/inetcfg.c
rb8b1adb1 r02a09ed 44 44 #include <str.h> 45 45 #include <sys/types.h> 46 #include <types/inetcfg.h>47 46 48 47 #include "addrobj.h" … … 152 151 static int inetcfg_get_link_list(sysarg_t **addrs, size_t *count) 153 152 { 154 return inet_link_get_id_list(addrs, count);153 return ENOTSUP; 155 154 } 156 155 … … 171 170 linfo->name = str_dup(ilink->svc_name); 172 171 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 179 172 return EOK; 180 173 } … … 418 411 { 419 412 ipc_callid_t rcallid; 420 size_t count;421 413 size_t max_size; 422 414 size_t act_size; … … 425 417 int rc; 426 418 427 log_msg(LOG_DEFAULT, LVL_DEBUG, "inetcfg_get_ addr_list_srv()");419 log_msg(LOG_DEFAULT, LVL_DEBUG, "inetcfg_get_link_list_srv()"); 428 420 429 421 if (!async_data_read_receive(&rcallid, &max_size)) { … … 433 425 } 434 426 435 rc = inetcfg_get_link_list(&id_buf, & count);427 rc = inetcfg_get_link_list(&id_buf, &act_size); 436 428 if (rc != EOK) { 437 429 async_answer_0(rcallid, rc); … … 440 432 } 441 433 442 act_size = count * sizeof(sysarg_t);443 434 size = min(act_size, max_size); 444 435 … … 485 476 static void inetcfg_link_get_srv(ipc_callid_t callid, ipc_call_t *call) 486 477 { 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; 491 480 492 481 sysarg_t link_id; … … 499 488 linfo.name = NULL; 500 489 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); 509 492 async_answer_0(callid, EREFUSED); 510 493 return; … … 513 496 rc = inetcfg_link_get(link_id, &linfo); 514 497 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))); 533 505 free(linfo.name); 534 506
Note:
See TracChangeset
for help on using the changeset viewer.