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