funcs.c 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. #include "test.h"
  2. /*
  3. * Fill in the global servaddr{} as a side effect.
  4. */
  5. int
  6. TcpSockByAddr(char *ipaddr, int port /* host byte order */ )
  7. {
  8. int sockfd;
  9. sockfd = Socket(AF_INET, SOCK_STREAM, 0);
  10. bzero(&servaddr, sizeof(servaddr));
  11. servaddr.sin_family = AF_INET;
  12. servaddr.sin_port = htons(port);
  13. Inet_pton(AF_INET, ipaddr, &servaddr.sin_addr);
  14. Connect(sockfd, (SA *) &servaddr, sizeof(servaddr));
  15. return(sockfd);
  16. }
  17. /*
  18. * Create the default (unconnected) UDP socket.
  19. * Fill in the global servaddr{} for the caller to use.
  20. */
  21. int
  22. UdpSockByAddr(char *ipaddr, int port /* host byte order */ )
  23. {
  24. int sockfd;
  25. sockfd = Socket(AF_INET, SOCK_DGRAM, 0);
  26. bzero(&servaddr, sizeof(servaddr));
  27. servaddr.sin_family = AF_INET;
  28. servaddr.sin_port = htons(port);
  29. Inet_pton(AF_INET, ipaddr, &servaddr.sin_addr);
  30. return(sockfd);
  31. }
  32. /*
  33. * Create a connected UDP socket.
  34. */
  35. int
  36. UdpConnSockByAddr(char *ipaddr, int port /* host byte order */ )
  37. {
  38. int sockfd;
  39. sockfd = Socket(AF_INET, SOCK_DGRAM, 0);
  40. bzero(&servaddr, sizeof(servaddr));
  41. servaddr.sin_family = AF_INET;
  42. servaddr.sin_port = htons(port);
  43. Inet_pton(AF_INET, ipaddr, &servaddr.sin_addr);
  44. Connect(sockfd, (SA *) &servaddr, sizeof(servaddr));
  45. return(sockfd);
  46. }