- #include "bswap.h" 
- #include "harness/trace.h" 
-   
- #define SWAP(A, B) do { (A) ^= (B); (B) ^= (A); (A) ^= (B); } while (0) 
-   
-   
- // IDA: br_uint_32 __cdecl BrSwap32(br_uint_32 l) 
- br_uint_32 BrSwap32(br_uint_32 l) { 
-     union { // size: 0x4 
-         unsigned long l; // @0x0 
-         unsigned char c[4]; // @0x0 
-     } u; 
-     LOG_TRACE10("(%d)", l); 
-   
-     u.l = l; 
-     SWAP(u.c[0], u.c[3]); 
-     SWAP(u.c[1], u.c[2]); 
-     return u.l; 
- } 
-   
- // IDA: br_uint_16 __cdecl BrSwap16(br_uint_16 s) 
- br_uint_16 BrSwap16(br_uint_16 s) { 
-     union { // size: 0x2 
-         unsigned short s; // @0x0 
-         unsigned char c[2]; // @0x0 
-     } u; 
-     LOG_TRACE("(%d)", s); 
-   
-     u.s = s; 
-     SWAP(u.c[0], u.c[1]); 
-     return u.s; 
- } 
-   
- // IDA: br_float __cdecl BrSwapFloat(br_float f) 
- br_float BrSwapFloat(br_float f) { 
-     union { // size: 0x4 
-         br_float f; // @0x0 
-         unsigned char c[4]; // @0x0 
-     } u; 
-     LOG_TRACE("(%f)", f); 
-   
-     u.f = f; 
-     SWAP(u.c[0], u.c[3]); 
-     SWAP(u.c[1], u.c[2]); 
-     return u.f; 
- } 
-   
-   
- // IDA: void* __cdecl BrSwapBlock(void *block, int count, int size) 
- void* BrSwapBlock(void* block, int count, int size) { 
-     br_uint_8* cp; 
-     int i; 
-     int k; 
-     LOG_TRACE9("(%p, %d, %d)", block, count, size); 
-   
-     cp = (br_uint_8*)block; 
-     switch (size) { 
-     case 1: 
-         break; 
-     case 2: 
-         for (i = 0; i < count; i++) { 
-             SWAP(cp[0], cp[1]); 
-             cp += 2; 
-         } 
-         break; 
-     case 4: 
-         for (i = 0; i < count; i++) { 
-             SWAP(cp[0], cp[3]); 
-             SWAP(cp[1], cp[2]); 
-             cp += 4; 
-         } 
-         break; 
-   
-     default: 
-         for (i = 0; i < count; i++) { 
-             for (k = 0; k < size / 2; k++) { 
-                 SWAP(cp[k], cp[size - k - 1]); 
-             } 
-             cp += size; 
-         } 
-         break; 
-     } 
-     return block; 
- } 
-