Go to the documentation of this file. 1 #ifndef PA_ENDIANNESS_H
2 #define PA_ENDIANNESS_H
67 #if defined(__APPLE__)
69 #if defined(__LITTLE_ENDIAN__)
70 #if !defined( PA_LITTLE_ENDIAN )
71 #define PA_LITTLE_ENDIAN
73 #if defined( PA_BIG_ENDIAN )
77 #if !defined( PA_BIG_ENDIAN )
80 #if defined( PA_LITTLE_ENDIAN )
81 #undef PA_LITTLE_ENDIAN
88 #if defined(PA_LITTLE_ENDIAN) || defined(PA_BIG_ENDIAN)
91 #if defined(PA_LITTLE_ENDIAN) && defined(PA_BIG_ENDIAN)
92 #error both PA_LITTLE_ENDIAN and PA_BIG_ENDIAN have been defined externally to pa_endianness.h - only one endianness at a time please
100 #if defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__) || defined(LITTLE_ENDIAN) || defined(__i386) || defined(_M_IX86) || defined(__x86_64__)
101 #define PA_LITTLE_ENDIAN
103 #define PA_BIG_ENDIAN
107 #if !defined(PA_LITTLE_ENDIAN) && !defined(PA_BIG_ENDIAN)
113 #error pa_endianness.h was unable to automatically determine the endianness of the target platform
124 #define PA_VALIDATE_ENDIANNESS
126 #if defined(PA_LITTLE_ENDIAN)
127 #define PA_VALIDATE_ENDIANNESS \
129 const long nativeOne = 1; \
130 assert( "PortAudio: compile time and runtime endianness don't match" && (((char *)&nativeOne)[0]) == 1 ); \
132 #elif defined(PA_BIG_ENDIAN)
133 #define PA_VALIDATE_ENDIANNESS \
135 const long nativeOne = 1; \
136 assert( "PortAudio: compile time and runtime endianness don't match" && (((char *)&nativeOne)[0]) == 0 ); \