/* Routines to handle endianness */
#include <stdio.h>
#include <stdlib.h>
/* the following routine is taken from plikernel.c where it is static */
/* It swaps nitems of length size pointed to by ptr */
void sm_swap(void *ptr, size_t size, size_t nitems) {
int i;
char tmp, *lptr, *uptr;
/* check for quick return */
if ((size < 2) || (nitems < 1)) return;
/* loop over all items */
for (i = 0; i < nitems; i++) {
lptr = ptr; lptr = lptr + i * size;
uptr = lptr + size - 1;
while (lptr < uptr) {
tmp = *lptr; *lptr = *uptr; *uptr = tmp;
lptr++; uptr--;
}
}
/* normal return */
return;
}