void swap_short_2(short *tni2) /* 2 byte signed integers */
{
*tni2=(((*tni2>>8)&0xff) | ((*tni2&0xff)<<8));
}
void swap_u_short_2(unsigned short *tni2) /* 2 byte unsigned integers */
{
*tni2=(((*tni2>>8)&0xff) | ((*tni2&0xff)<<8));
}
void swap_int_4(int *tni4) /* 4 byte signed integers */
{
*tni4=(((*tni4>>24)&0xff) | ((*tni4&0xff)<<24) |
((*tni4>>8)&0xff00) | ((*tni4&0xff00)<<8));
}
void swap_u_int_4(unsigned int *tni4) /* 4 byte unsigned integers */
{
*tni4=(((*tni4>>24)&0xff) | ((*tni4&0xff)<<24) |
((*tni4>>8)&0xff00) | ((*tni4&0xff00)<<8));
}
void swap_long_4(long *tni4) /* 4 byte signed long integers */
{
*tni4=(((*tni4>>24)&0xff) | ((*tni4&0xff)<<24) |
((*tni4>>8)&0xff00) | ((*tni4&0xff00)<<8));
}
void swap_u_long_4(unsigned long *tni4) /* 4 byte unsigned long integers */
{
*tni4=(((*tni4>>24)&0xff) | ((*tni4&0xff)<<24) |
((*tni4>>8)&0xff00) | ((*tni4&0xff00)<<8));
}
void swap_float_4(float *tnf4) /* 4 byte floating point numbers */
{
int *tni4=(int *)tnf4;
*tni4=(((*tni4>>24)&0xff) | ((*tni4&0xff)<<24) |
((*tni4>>8)&0xff00) | ((*tni4&0xff00)<<8));
}
void swap_double_8(double *tndd8) /* 8 byte double numbers */
{
char *tnd8=(char *)tndd8;
char tnc;
tnc=*tnd8;
*tnd8=*(tnd8+7);
*(tnd8+7)=tnc;
tnc=*(tnd8+1);
*(tnd8+1)=*(tnd8+6);
*(tnd8+6)=tnc;
tnc=*(tnd8+2);
*(tnd8+2)=*(tnd8+5);
*(tnd8+5)=tnc;
tnc=*(tnd8+3);
*(tnd8+3)=*(tnd8+4);
*(tnd8+4)=tnc;
}