Changeset a35b458 in mainline for uspace/srv/net/inetsrv/inetcfg.c
- Timestamp:
- 2018-03-02T20:10:49Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- f1380b7
- Parents:
- 3061bc1
- git-author:
- Jiří Zárevúcky <zarevucky.jiri@…> (2018-02-28 17:38:31)
- git-committer:
- Jiří Zárevúcky <zarevucky.jiri@…> (2018-03-02 20:10:49)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/net/inetsrv/inetcfg.c
r3061bc1 ra35b458 257 257 { 258 258 log_msg(LOG_DEFAULT, LVL_DEBUG, "inetcfg_addr_create_static_srv()"); 259 259 260 260 sysarg_t link_id = IPC_GET_ARG1(*icall); 261 261 262 262 ipc_callid_t callid; 263 263 size_t size; … … 267 267 return; 268 268 } 269 269 270 270 if (size != sizeof(inet_naddr_t)) { 271 271 async_answer_0(callid, EINVAL); … … 273 273 return; 274 274 } 275 275 276 276 inet_naddr_t naddr; 277 277 errno_t rc = async_data_write_finalize(callid, &naddr, size); … … 281 281 return; 282 282 } 283 283 284 284 char *name; 285 285 rc = async_data_write_accept((void **) &name, true, 0, LOC_NAME_MAXLEN, … … 289 289 return; 290 290 } 291 291 292 292 sysarg_t addr_id = 0; 293 293 rc = inetcfg_addr_create_static(name, &naddr, link_id, &addr_id); … … 312 312 { 313 313 log_msg(LOG_DEFAULT, LVL_DEBUG, "inetcfg_addr_get_srv()"); 314 314 315 315 sysarg_t addr_id = IPC_GET_ARG1(*icall); 316 316 317 317 inet_addr_info_t ainfo; 318 318 319 319 inet_naddr_any(&ainfo.naddr); 320 320 ainfo.ilink = 0; 321 321 ainfo.name = NULL; 322 322 323 323 errno_t rc = inetcfg_addr_get(addr_id, &ainfo); 324 324 if (rc != EOK) { … … 326 326 return; 327 327 } 328 328 329 329 ipc_callid_t callid; 330 330 size_t size; … … 334 334 return; 335 335 } 336 336 337 337 if (size != sizeof(inet_naddr_t)) { 338 338 async_answer_0(callid, EINVAL); … … 340 340 return; 341 341 } 342 342 343 343 rc = async_data_read_finalize(callid, &ainfo.naddr, size); 344 344 if (rc != EOK) { … … 347 347 return; 348 348 } 349 349 350 350 if (!async_data_read_receive(&callid, &size)) { 351 351 async_answer_0(callid, EREFUSED); … … 353 353 return; 354 354 } 355 355 356 356 rc = async_data_read_finalize(callid, ainfo.name, 357 357 min(size, str_size(ainfo.name))); 358 358 free(ainfo.name); 359 360 if (rc != EOK) { 361 async_answer_0(callid, rc); 362 async_answer_0(iid, rc); 363 return; 364 } 365 359 360 if (rc != EOK) { 361 async_answer_0(callid, rc); 362 async_answer_0(iid, rc); 363 return; 364 } 365 366 366 async_answer_1(iid, rc, ainfo.ilink); 367 367 } … … 584 584 return; 585 585 } 586 586 587 587 if (size != sizeof(inet_naddr_t)) { 588 588 async_answer_0(callid, EINVAL); … … 590 590 return; 591 591 } 592 592 593 593 inet_naddr_t dest; 594 594 errno_t rc = async_data_write_finalize(callid, &dest, size); … … 598 598 return; 599 599 } 600 600 601 601 if (!async_data_write_receive(&callid, &size)) { 602 602 async_answer_0(callid, EINVAL); … … 604 604 return; 605 605 } 606 606 607 607 if (size != sizeof(inet_addr_t)) { 608 608 async_answer_0(callid, EINVAL); … … 610 610 return; 611 611 } 612 612 613 613 inet_addr_t router; 614 614 rc = async_data_write_finalize(callid, &router, size); … … 618 618 return; 619 619 } 620 620 621 621 char *name; 622 622 rc = async_data_write_accept((void **) &name, true, 0, LOC_NAME_MAXLEN, … … 626 626 return; 627 627 } 628 628 629 629 sysarg_t sroute_id = 0; 630 630 rc = inetcfg_sroute_create(name, &dest, &router, &sroute_id); … … 649 649 { 650 650 log_msg(LOG_DEFAULT, LVL_DEBUG, "inetcfg_sroute_get_srv()"); 651 651 652 652 sysarg_t sroute_id = IPC_GET_ARG1(*icall); 653 653 654 654 inet_sroute_info_t srinfo; 655 655 656 656 inet_naddr_any(&srinfo.dest); 657 657 inet_addr_any(&srinfo.router); 658 658 srinfo.name = NULL; 659 659 660 660 errno_t rc = inetcfg_sroute_get(sroute_id, &srinfo); 661 661 if (rc != EOK) { … … 663 663 return; 664 664 } 665 665 666 666 ipc_callid_t callid; 667 667 size_t size; … … 671 671 return; 672 672 } 673 673 674 674 if (size != sizeof(inet_naddr_t)) { 675 675 async_answer_0(callid, EINVAL); … … 677 677 return; 678 678 } 679 679 680 680 rc = async_data_read_finalize(callid, &srinfo.dest, size); 681 681 if (rc != EOK) { … … 684 684 return; 685 685 } 686 686 687 687 if (!async_data_read_receive(&callid, &size)) { 688 688 async_answer_0(callid, EREFUSED); … … 690 690 return; 691 691 } 692 692 693 693 if (size != sizeof(inet_addr_t)) { 694 694 async_answer_0(callid, EINVAL); … … 696 696 return; 697 697 } 698 698 699 699 rc = async_data_read_finalize(callid, &srinfo.router, size); 700 700 if (rc != EOK) { … … 703 703 return; 704 704 } 705 705 706 706 if (!async_data_read_receive(&callid, &size)) { 707 707 async_answer_0(callid, EREFUSED); … … 709 709 return; 710 710 } 711 711 712 712 rc = async_data_read_finalize(callid, srinfo.name, 713 713 min(size, str_size(srinfo.name))); 714 714 free(srinfo.name); 715 715 716 716 async_answer_0(iid, rc); 717 717 }
Note:
See TracChangeset
for help on using the changeset viewer.