xref: /plan9/sys/src/ape/lib/bsd/inet_ntoa.c (revision 219b2ee8daee37f4aad58d63f21287faa8e4ffdc)
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