sctp_bindargs.lc 1.6 KB

1234567891011121314151617181920212223242526272829
  1. int## 1 ##src/sctp/sctp_bindargs.c##
  2. sctp_bind_arg_list(int sock_fd, char **argv, int argc)## 2 ##src/sctp/sctp_bindargs.c##
  3. {## 3 ##src/sctp/sctp_bindargs.c##
  4. struct addrinfo *addr;## 4 ##src/sctp/sctp_bindargs.c##
  5. struct sockaddr_storage *at;## 5 ##src/sctp/sctp_bindargs.c##
  6. char *bindbuf, portbuf[10];## 6 ##src/sctp/sctp_bindargs.c##
  7. int addrcnt = 0;## 7 ##src/sctp/sctp_bindargs.c##
  8. int i, sz;## 8 ##src/sctp/sctp_bindargs.c##
  9. sz = argc * sizeof(struct sockaddr_storage);## 9 ##src/sctp/sctp_bindargs.c##
  10. bindbuf = (char *) Malloc(sz);## 10 ##src/sctp/sctp_bindargs.c##
  11. bzero(bindbuf, sz);## 11 ##src/sctp/sctp_bindargs.c##
  12. at = (struct sockaddr_storage *) bindbuf;## 12 ##src/sctp/sctp_bindargs.c##
  13. sprintf(portbuf, "%d", SERV_PORT);## 13 ##src/sctp/sctp_bindargs.c##
  14. for (i = 0; i < argc; i++) {## 14 ##src/sctp/sctp_bindargs.c##
  15. addr = Host_serv(argv[i], portbuf, AF_UNSPEC, SOCK_SEQPACKET);## 15 ##src/sctp/sctp_bindargs.c##
  16. memcpy(at, addr->ai_addr, addr->ai_addrlen);## 16 ##src/sctp/sctp_bindargs.c##
  17. freeaddrinfo(addr);## 17 ##src/sctp/sctp_bindargs.c##
  18. addrcnt++;## 18 ##src/sctp/sctp_bindargs.c##
  19. at++;## 19 ##src/sctp/sctp_bindargs.c##
  20. }## 20 ##src/sctp/sctp_bindargs.c##
  21. at = (struct sockaddr_storage *) bindbuf;## 21 ##src/sctp/sctp_bindargs.c##
  22. Sctp_bindx(sock_fd, at, addrcnt, SCTP_BINDX_ADD_ADDR);## 22 ##src/sctp/sctp_bindargs.c##
  23. free(bindbuf);## 23 ##src/sctp/sctp_bindargs.c##
  24. return (0);## 24 ##src/sctp/sctp_bindargs.c##
  25. }## 25 ##src/sctp/sctp_bindargs.c##