xref: /plan9/sys/src/ape/lib/bsd/ntohl.c (revision 219b2ee8daee37f4aad58d63f21287faa8e4ffdc)
1*219b2ee8SDavid du Colombier unsigned long
2*219b2ee8SDavid du Colombier ntohl(int x)
3*219b2ee8SDavid du Colombier {
4*219b2ee8SDavid du Colombier 	unsigned long n;
5*219b2ee8SDavid du Colombier 	unsigned char *p;
6*219b2ee8SDavid du Colombier 
7*219b2ee8SDavid du Colombier 	n = x;
8*219b2ee8SDavid du Colombier 	p = (unsigned char*)&n;
9*219b2ee8SDavid du Colombier 	return (p[0]<<24)|(p[1]<<16)|(p[2]<<8)|p[3];
10*219b2ee8SDavid du Colombier }
11*219b2ee8SDavid du Colombier 
12*219b2ee8SDavid du Colombier unsigned long
13*219b2ee8SDavid du Colombier htonl(unsigned long h)
14*219b2ee8SDavid du Colombier {
15*219b2ee8SDavid du Colombier 	unsigned long n;
16*219b2ee8SDavid du Colombier 	unsigned char *p;
17*219b2ee8SDavid du Colombier 
18*219b2ee8SDavid du Colombier 	p = (unsigned char*)&n;
19*219b2ee8SDavid du Colombier 	p[0] = h>>24;
20*219b2ee8SDavid du Colombier 	p[1] = h>>16;
21*219b2ee8SDavid du Colombier 	p[2] = h>>8;
22*219b2ee8SDavid du Colombier 	p[3] = h;
23*219b2ee8SDavid du Colombier 	return n;
24*219b2ee8SDavid du Colombier }
25*219b2ee8SDavid du Colombier 
26*219b2ee8SDavid du Colombier unsigned short
27*219b2ee8SDavid du Colombier ntohs(int x)
28*219b2ee8SDavid du Colombier {
29*219b2ee8SDavid du Colombier 	unsigned short n;
30*219b2ee8SDavid du Colombier 	unsigned char *p;
31*219b2ee8SDavid du Colombier 
32*219b2ee8SDavid du Colombier 	n = x;
33*219b2ee8SDavid du Colombier 	p = (unsigned char*)&n;
34*219b2ee8SDavid du Colombier 	return (p[0]<<8)|p[1];
35*219b2ee8SDavid du Colombier }
36*219b2ee8SDavid du Colombier 
37*219b2ee8SDavid du Colombier unsigned short
38*219b2ee8SDavid du Colombier htons(unsigned short h)
39*219b2ee8SDavid du Colombier {
40*219b2ee8SDavid du Colombier 	unsigned short n;
41*219b2ee8SDavid du Colombier 	unsigned char *p;
42*219b2ee8SDavid du Colombier 
43*219b2ee8SDavid du Colombier 	p = (unsigned char*)&n;
44*219b2ee8SDavid du Colombier 	p[0] = h>>8;
45*219b2ee8SDavid du Colombier 	p[1] = h;
46*219b2ee8SDavid du Colombier 	return n;
47*219b2ee8SDavid du Colombier }
48