
void reformat_long( long *ldatL, unsigned long nobytes )
{
   int i;
   register unsigned char *ldat = (unsigned char *)ldatL;

   for (i=0; i< nobytes; i+=sizeof(long)) {
      ldat[i+0] ^= ldat[i+3];
      ldat[i+3] ^= ldat[i+0];
      ldat[i+0] ^= ldat[i+3];

      ldat[i+1] ^= ldat[i+2];
      ldat[i+2] ^= ldat[i+1];
      ldat[i+1] ^= ldat[i+2];
   }
}

void reformat_short( short *shdatS, unsigned long nobytes )
{
   int i;
   register unsigned char *shdat = (unsigned char *)shdatS;
   
   for (i=0; i< nobytes; i+=sizeof(short)) {
      shdat[i+0] ^= shdat[i+1];
      shdat[i+1] ^= shdat[i+0];
      shdat[i+0] ^= shdat[i+1];
   }
}

void fix_mixed_longs( unsigned long *uldat, unsigned long nobytes )
{
   int i;
   unsigned short *shdat = (unsigned short *) uldat;
   
   for (i=0; i<nobytes; i+=sizeof(unsigned long)) {
      shdat[i+0] ^= shdat[i+1];
      shdat[i+1] ^= shdat[i+0];
      shdat[i+0] ^= shdat[i+1];
   }
}

