X-Git-Url: https://wimlib.net/git/?p=wimlib;a=blobdiff_plain;f=include%2Fwimlib%2Fendianness.h;fp=src%2Fendianness.h;h=2d1e9a672916dec488e6b307c324a608e2482526;hp=3de872ac7d592cd8a31ed44ee2833855ea1856a2;hb=e8c3ca2d1d0cac3d64985b45a9f654d2029a7518;hpb=726f9bbd0bd664294fce8a50be1d5b6881df8d16 diff --git a/src/endianness.h b/include/wimlib/endianness.h similarity index 50% rename from src/endianness.h rename to include/wimlib/endianness.h index 3de872ac..2d1e9a67 100644 --- a/src/endianness.h +++ b/include/wimlib/endianness.h @@ -1,23 +1,20 @@ #ifndef _WIMLIB_ENDIANNESS_H #define _WIMLIB_ENDIANNESS_H +#include "wimlib/types.h" -#include "config.h" -#include +/* Watch out for conflict with ntfs-3g/endian.h ... */ -/* Watch out for conflicts with ntfs-3g headers... */ +#ifndef _NTFS_ENDIANS_H -#ifndef bswap16 -static inline uint16_t -bswap16(uint16_t n) +static inline u16 +bswap16(u16 n) { return (n << 8) | (n >> 8); } -#endif /* ifndef bswap16 */ -#ifndef bswap32 -static inline uint32_t -bswap32(uint32_t n) +static inline u32 +bswap32(u32 n) { #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3) return __builtin_bswap32(n); @@ -26,11 +23,9 @@ bswap32(uint32_t n) (n >> 24); #endif } -#endif /* ifndef bswap32 */ -#ifndef bswap64 -static inline uint64_t -bswap64(uint64_t n) +static inline u64 +bswap64(u64 n) { #if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3) return __builtin_bswap64(n); @@ -41,54 +36,50 @@ bswap64(uint64_t n) ((n & 0xff000000000000) >> 40) | (n >> 56); #endif } -#endif /* ifndef bswap64 */ - -#ifndef _NTFS_ENDIANS_H -# ifdef WORDS_BIGENDIAN -# define le16_to_cpu(n) bswap16(n) -# define le32_to_cpu(n) bswap32(n) -# define le64_to_cpu(n) bswap64(n) -# define cpu_to_le16(n) bswap16(n) -# define cpu_to_le32(n) bswap32(n) -# define cpu_to_le64(n) bswap64(n) -# else -# define cpu_to_le16(n) (n) -# define cpu_to_le32(n) (n) -# define cpu_to_le64(n) (n) -# define le16_to_cpu(n) (n) -# define le32_to_cpu(n) (n) -# define le64_to_cpu(n) (n) -# endif -#endif +# ifdef WORDS_BIGENDIAN +# define le16_to_cpu(n) bswap16(n) +# define le32_to_cpu(n) bswap32(n) +# define le64_to_cpu(n) bswap64(n) +# define cpu_to_le16(n) bswap16(n) +# define cpu_to_le32(n) bswap32(n) +# define cpu_to_le64(n) bswap64(n) +# else +# define cpu_to_le16(n) (n) +# define cpu_to_le32(n) (n) +# define cpu_to_le64(n) (n) +# define le16_to_cpu(n) (n) +# define le32_to_cpu(n) (n) +# define le64_to_cpu(n) (n) +# endif +#endif /* _NTFS_ENDIANS_H */ static inline void -array_cpu_to_le32(uint32_t *p, size_t n) +array_cpu_to_le32(u32 *p, size_t n) { for (size_t i = 0; i < n; i++) p[i] = cpu_to_le32(p[i]); } static inline void -array_le32_to_cpu(uint32_t *p, size_t n) +array_le32_to_cpu(u32 *p, size_t n) { for (size_t i = 0; i < n; i++) p[i] = le32_to_cpu(p[i]); } static inline void -array_cpu_to_le64(uint64_t *p, size_t n) +array_cpu_to_le64(u64 *p, size_t n) { for (size_t i = 0; i < n; i++) p[i] = cpu_to_le64(p[i]); } static inline void -array_le64_to_cpu(uint64_t *p, size_t n) +array_le64_to_cpu(u64 *p, size_t n) { for (size_t i = 0; i < n; i++) p[i] = le64_to_cpu(p[i]); } - #endif /* _WIMLIB_ENDIANNESS_H */