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)6long 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)24long 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)43short 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)59short 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