1*219b2ee8SDavid du Colombier /* posix */ 2*219b2ee8SDavid du Colombier #include <sys/types.h> 3*219b2ee8SDavid du Colombier #include <unistd.h> 4*219b2ee8SDavid du Colombier #include <stdlib.h> 5*219b2ee8SDavid du Colombier #include <stdio.h> 6*219b2ee8SDavid du Colombier 7*219b2ee8SDavid du Colombier /* bsd extensions */ 8*219b2ee8SDavid du Colombier #include <sys/uio.h> 9*219b2ee8SDavid du Colombier #include <sys/socket.h> 10*219b2ee8SDavid du Colombier #include <netinet/in.h> 11*219b2ee8SDavid du Colombier #include <sys/un.h> 12*219b2ee8SDavid du Colombier 13*219b2ee8SDavid du Colombier char* 14*219b2ee8SDavid du Colombier inet_ntoa(struct in_addr in) 15*219b2ee8SDavid du Colombier { 16*219b2ee8SDavid du Colombier static char s[18]; 17*219b2ee8SDavid du Colombier unsigned long x; 18*219b2ee8SDavid du Colombier 19*219b2ee8SDavid du Colombier x = in.s_addr; 20*219b2ee8SDavid du Colombier sprintf(s, "%d.%d.%d.%d", (x>>24)&0xff, (x>>16)&0xff, (x>>8)&0xff, x&0xff); 21*219b2ee8SDavid du Colombier return s; 22*219b2ee8SDavid du Colombier } 23