volume_id: use glibc's byteswap

Signed-off-by: Kay Sievers <kay.sievers@suse.de>
This commit is contained in:
Kay Sievers 2005-11-12 14:28:22 +01:00
parent 62821d0de1
commit 88be7e8887
2 changed files with 10 additions and 27 deletions

View File

@ -20,48 +20,31 @@
#endif #endif
#include <endian.h> #include <endian.h>
#include <byteswap.h>
/* size of superblock buffer, reiserfs block is at 64k */ /* size of superblock buffer, reiserfs block is at 64k */
#define SB_BUFFER_SIZE 0x11000 #define SB_BUFFER_SIZE 0x11000
/* size of seek buffer, FAT cluster is 32k max */ /* size of seek buffer, FAT cluster is 32k max */
#define SEEK_BUFFER_SIZE 0x10000 #define SEEK_BUFFER_SIZE 0x10000
/* probe volume for all known filesystems in specific order */
#define bswap16(x) (uint16_t) ((((uint16_t)(x) & 0x00ffu) << 8) | \
(((uint16_t)(x) & 0xff00u) >> 8))
#define bswap32(x) (uint32_t) ((((uint32_t)(x) & 0xff000000u) >> 24) | \
(((uint32_t)(x) & 0x00ff0000u) >> 8) | \
(((uint32_t)(x) & 0x0000ff00u) << 8) | \
(((uint32_t)(x) & 0x000000ffu) << 24))
#define bswap64(x) (uint64_t) ((((uint64_t)(x) & 0xff00000000000000ull) >> 56) | \
(((uint64_t)(x) & 0x00ff000000000000ull) >> 40) | \
(((uint64_t)(x) & 0x0000ff0000000000ull) >> 24) | \
(((uint64_t)(x) & 0x000000ff00000000ull) >> 8) | \
(((uint64_t)(x) & 0x00000000ff000000ull) << 8) | \
(((uint64_t)(x) & 0x0000000000ff0000ull) << 24) | \
(((uint64_t)(x) & 0x000000000000ff00ull) << 40) | \
(((uint64_t)(x) & 0x00000000000000ffull) << 56))
#ifdef __BYTE_ORDER #ifdef __BYTE_ORDER
#if (__BYTE_ORDER == __LITTLE_ENDIAN) #if (__BYTE_ORDER == __LITTLE_ENDIAN)
#define le16_to_cpu(x) (x) #define le16_to_cpu(x) (x)
#define le32_to_cpu(x) (x) #define le32_to_cpu(x) (x)
#define le64_to_cpu(x) (x) #define le64_to_cpu(x) (x)
#define be16_to_cpu(x) bswap16(x) #define be16_to_cpu(x) bswap_16(x)
#define be32_to_cpu(x) bswap32(x) #define be32_to_cpu(x) bswap_32(x)
#define cpu_to_le16(x) (x) #define cpu_to_le16(x) (x)
#define cpu_to_le32(x) (x) #define cpu_to_le32(x) (x)
#define cpu_to_be32(x) bswap32(x) #define cpu_to_be32(x) bswap_32(x)
#elif (__BYTE_ORDER == __BIG_ENDIAN) #elif (__BYTE_ORDER == __BIG_ENDIAN)
#define le16_to_cpu(x) bswap16(x) #define le16_to_cpu(x) bswap_16(x)
#define le32_to_cpu(x) bswap32(x) #define le32_to_cpu(x) bswap_32(x)
#define le64_to_cpu(x) bswap64(x) #define le64_to_cpu(x) bswap_64(x)
#define be16_to_cpu(x) (x) #define be16_to_cpu(x) (x)
#define be32_to_cpu(x) (x) #define be32_to_cpu(x) (x)
#define cpu_to_le16(x) bswap16(x) #define cpu_to_le16(x) bswap_16(x)
#define cpu_to_le32(x) bswap32(x) #define cpu_to_le32(x) bswap_32(x)
#define cpu_to_be32(x) (x) #define cpu_to_be32(x) (x)
#endif #endif
#endif /* __BYTE_ORDER */ #endif /* __BYTE_ORDER */

View File

@ -14,7 +14,7 @@
#include <stdint.h> #include <stdint.h>
#include <stddef.h> #include <stddef.h>
#define VOLUME_ID_VERSION 53 #define VOLUME_ID_VERSION 54
#define VOLUME_ID_LABEL_SIZE 64 #define VOLUME_ID_LABEL_SIZE 64
#define VOLUME_ID_UUID_SIZE 36 #define VOLUME_ID_UUID_SIZE 36