inet_ntop_ipv4.lc 1.6 KB

12345678910111213141516171819202122232425262728293031
  1. #include <sys/types.h>## 1 ##src/libfree/inet_ntop_ipv4.c##
  2. #include <sys/socket.h>## 2 ##src/libfree/inet_ntop_ipv4.c##
  3. #include <errno.h>## 3 ##src/libfree/inet_ntop_ipv4.c##
  4. #include <stdio.h>## 4 ##src/libfree/inet_ntop_ipv4.c##
  5. #ifndef INET_ADDRSTRLEN## 5 ##src/libfree/inet_ntop_ipv4.c##
  6. #define INET_ADDRSTRLEN 16## 6 ##src/libfree/inet_ntop_ipv4.c##
  7. #endif## 7 ##src/libfree/inet_ntop_ipv4.c##
  8. /* include inet_ntop */
  9. const char *## 8 ##src/libfree/inet_ntop_ipv4.c##
  10. inet_ntop(int family, const void *addrptr, char *strptr, size_t len)## 9 ##src/libfree/inet_ntop_ipv4.c##
  11. {## 10 ##src/libfree/inet_ntop_ipv4.c##
  12. const u_char *p = (const u_char *) addrptr;## 11 ##src/libfree/inet_ntop_ipv4.c##
  13. if (family == AF_INET) {## 12 ##src/libfree/inet_ntop_ipv4.c##
  14. char temp[INET_ADDRSTRLEN];## 13 ##src/libfree/inet_ntop_ipv4.c##
  15. snprintf(temp, sizeof(temp), "%d.%d.%d.%d", p[0], p[1], p[2], p[3]);## 14 ##src/libfree/inet_ntop_ipv4.c##
  16. if (strlen(temp) >= len) {## 15 ##src/libfree/inet_ntop_ipv4.c##
  17. errno = ENOSPC;## 16 ##src/libfree/inet_ntop_ipv4.c##
  18. return (NULL);## 17 ##src/libfree/inet_ntop_ipv4.c##
  19. }## 18 ##src/libfree/inet_ntop_ipv4.c##
  20. strcpy(strptr, temp);## 19 ##src/libfree/inet_ntop_ipv4.c##
  21. return (strptr);## 20 ##src/libfree/inet_ntop_ipv4.c##
  22. }## 21 ##src/libfree/inet_ntop_ipv4.c##
  23. errno = EAFNOSUPPORT;## 22 ##src/libfree/inet_ntop_ipv4.c##
  24. return (NULL);## 23 ##src/libfree/inet_ntop_ipv4.c##
  25. }## 24 ##src/libfree/inet_ntop_ipv4.c##
  26. /* end inet_ntop */