1 #include <common/unistd.h> 2 #include <common/glib.h> 3 4 5 void swab(void *restrict src, void *restrict dest, ssize_t nbytes) 6 { 7 unsigned char buf[32]; 8 char *_src = src; 9 char *_dest = dest; 10 uint32_t transfer; 11 for (; nbytes > 0; nbytes -= transfer) 12 { 13 transfer = (nbytes > 32) ? 32 : nbytes; 14 memcpy(buf, _src, transfer); 15 memcpy(_src, _dest, transfer); 16 memcpy(_dest, buf, transfer); 17 _src += transfer; 18 _dest += transfer; 19 } 20 }