1 /*
2  * Example: Use the standard library version instead, if you have one.
3  */
4 
5 /* switch the order of the bytes in a long integer */
ntohl(i_in)6 long ntohl(i_in)
7 long i_in;
8 {
9 	long i_out;
10 	register unsigned char *inptr, *outptr;
11 
12 	inptr = (unsigned char *) &i_in;
13 	outptr = (unsigned char *) &i_out;
14 
15 	outptr[3] = inptr[0];
16 	outptr[2] = inptr[1];
17 	outptr[1] = inptr[2];
18 	outptr[0] = inptr[3];
19 
20 	return(i_out);
21 }
22 
23 /* switch the order of the bytes in a long integer */
htonl(i_in)24 long htonl(i_in)
25 long i_in;
26 {
27 	long i_out;
28 	register unsigned char *inptr, *outptr;
29 
30 	inptr = (unsigned char *) &i_in;
31 	outptr = (unsigned char *) &i_out;
32 
33 	outptr[3] = inptr[0];
34 	outptr[2] = inptr[1];
35 	outptr[1] = inptr[2];
36 	outptr[0] = inptr[3];
37 
38 	return(i_out);
39 }
40 
41 
42 /* switch the order of the bytes in a short integer */
ntohs(i_in)43 short ntohs(i_in)
44 short i_in;
45 {
46 	short i_out;
47 	register unsigned char *inptr, *outptr;
48 
49 	inptr = (unsigned char *) &i_in;
50 	outptr = (unsigned char *) &i_out;
51 
52 	outptr[1] = inptr[0];
53 	outptr[0] = inptr[1];
54 
55 	return(i_out);
56 }
57 
58 /* switch the order of the bytes in a short integer */
htons(i_in)59 short htons(i_in)
60 short i_in;
61 {
62 	short i_out;
63 	register unsigned char *inptr, *outptr;
64 
65 	inptr = (unsigned char *) &i_in;
66 	outptr = (unsigned char *) &i_out;
67 
68 	outptr[1] = inptr[0];
69 	outptr[0] = inptr[1];
70 
71 	return(i_out);
72 }
73