#ifndef JFFI_ENDIAN_H #define JFFI_ENDIAN_H #include #include #if defined(__linux__) || defined(__CYGWIN__) || defined(__GNU__) || defined(__GLIBC__) # include_next #endif #ifdef __sun # include # define LITTLE_ENDIAN 1234 # define BIG_ENDIAN 4321 # if defined(_BIG_ENDIAN) # define BYTE_ORDER BIG_ENDIAN # elif defined(_LITTLE_ENDIAN) # define BYTE_ORDER LITTLE_ENDIAN # else # error "Cannot determine endian-ness" # endif #endif #if defined(_AIX) && !defined(BYTE_ORDER) # define LITTLE_ENDIAN 1234 # define BIG_ENDIAN 4321 # if defined(__BIG_ENDIAN__) # define BYTE_ORDER BIG_ENDIAN # elif defined(__LITTLE_ENDIAN__) # define BYTE_ORDER LITTLE_ENDIAN # else # error "Cannot determine endian-ness" # endif #endif #if defined(_WIN32) # define LITTLE_ENDIAN 1234 # define BIG_ENDIAN 4321 # define BYTE_ORDER LITTLE_ENDIAN #endif #if !defined(BYTE_ORDER) || !defined(LITTLE_ENDIAN) || !defined(BIG_ENDIAN) # error "Cannot determine the endian-ness of this platform" #endif #endif /* JFFI_ENDIAN_H */