inet_pton_ipv4.lc 1.5 KB

1234567891011121314151617181920212223242526272829
  1. #include <sys/types.h>## 1 ##src/libfree/inet_pton_ipv4.c##
  2. #include <sys/socket.h>## 2 ##src/libfree/inet_pton_ipv4.c##
  3. #include <netinet/in.h>## 3 ##src/libfree/inet_pton_ipv4.c##
  4. #include <arpa/inet.h>## 4 ##src/libfree/inet_pton_ipv4.c##
  5. #include <errno.h>## 5 ##src/libfree/inet_pton_ipv4.c##
  6. #include <string.h>## 6 ##src/libfree/inet_pton_ipv4.c##
  7. /* Delete following line if your system's headers already define this## 7 ##src/libfree/inet_pton_ipv4.c##
  8. function prototype */## 8 ##src/libfree/inet_pton_ipv4.c##
  9. int inet_aton(const char *, struct in_addr *);## 9 ##src/libfree/inet_pton_ipv4.c##
  10. /* include inet_pton */
  11. int## 10 ##src/libfree/inet_pton_ipv4.c##
  12. inet_pton(int family, const char *strptr, void *addrptr)## 11 ##src/libfree/inet_pton_ipv4.c##
  13. {## 12 ##src/libfree/inet_pton_ipv4.c##
  14. if (family == AF_INET) {## 13 ##src/libfree/inet_pton_ipv4.c##
  15. struct in_addr in_val;## 14 ##src/libfree/inet_pton_ipv4.c##
  16. if (inet_aton(strptr, &in_val)) {## 15 ##src/libfree/inet_pton_ipv4.c##
  17. memcpy(addrptr, &in_val, sizeof(struct in_addr));## 16 ##src/libfree/inet_pton_ipv4.c##
  18. return (1);## 17 ##src/libfree/inet_pton_ipv4.c##
  19. }## 18 ##src/libfree/inet_pton_ipv4.c##
  20. return (0);## 19 ##src/libfree/inet_pton_ipv4.c##
  21. }## 20 ##src/libfree/inet_pton_ipv4.c##
  22. errno = EAFNOSUPPORT;## 21 ##src/libfree/inet_pton_ipv4.c##
  23. return (-1);## 22 ##src/libfree/inet_pton_ipv4.c##
  24. }## 23 ##src/libfree/inet_pton_ipv4.c##
  25. /* end inet_pton */