10 #include <sys/socket.h>
11 #include <netinet/in.h>
16 inet_ntop(int af, void *src, char *dst, int size)
18 static unsigned char v4prefix[12] = {
19 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
20 0x00, 0x00, 0xff, 0xff, };
27 p = (unsigned char*)&(((struct in_addr*)src)->s_addr);
29 if(size < INET_ADDRSTRLEN){
33 snprintf(dst, size, "%d.%d.%d.%d", p[0], p[1], p[2], p[3]);
42 p = (unsigned char*)((struct in6_addr*)src)->s6_addr;
43 if(memcmp(p, v4prefix, 12) == 0){
48 if(size < INET6_ADDRSTRLEN){
54 for(i=0; i<16; i += 2){