11#include "srxfixup_internal.h"
13#if defined(__has_include)
14#if __has_include(<endian.h>)
17#if _BYTE_ORDER != _LITTLE_ENDIAN
18#define SWAPMEM_IS_NOT_BIG_ENDIAN
23#ifdef SWAPMEM_IS_NOT_BIG_ENDIAN
28void swapmemory(
void *aaddr,
const char *format,
unsigned int times)
30#ifdef SWAPMEM_IS_NOT_BIG_ENDIAN
36 format_len = strlen(format);
39 for ( i = 0; i < times; i += 1 )
41 for ( j = 0; j < format_len; j += 1 )
46 aaddr_cur = (
void *)(((uint8_t *)aaddr_cur) + 1);
49 *(uint16_t *)aaddr_cur = bswap16(*(uint16_t *)aaddr_cur);
50 aaddr_cur = (
void *)(((uint8_t *)aaddr_cur) + 2);
53 *(uint32_t *)aaddr_cur = bswap32(*(uint32_t *)aaddr_cur);
54 aaddr_cur = (
void *)(((uint8_t *)aaddr_cur) + 4);