Посмотрите файл /usr/include/machine/endian.h Псевдопеременная BYTE_ORDER определена как BIG_ENDIAN или LITTLE_ENDIAN в зависимости от архитектуры машины.
#ifdef __FreeBSD__
#include <machine/endian.h>
#endif
...
if(BYTE_ORDER == BIG_ENDIAN)
...