cbfstool: move bit swapping macros to swab.h

Change-Id: Id22232c45225011951e01c370e0f473af574d758
Signed-off-by: Sol Boucher <solb@chromium.org>
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Change-Id: I1a117a9473e895feaf455bb30d0f945f57de51eb
Original-Signed-off-by: Sol Boucher <solb@chromium.org>
Reviewed-on: http://review.coreboot.org/10929
Tested-by: build bot (Jenkins)
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
Sol Boucher 2015-05-07 21:00:05 -07:00 committed by Patrick Georgi
parent c569b8bfdc
commit 158dd5527c
2 changed files with 12 additions and 9 deletions

View File

@ -28,15 +28,6 @@
/* Endianess */ /* Endianess */
#include "swab.h" #include "swab.h"
#if !defined(__APPLE__) && !defined(__NetBSD__)
#define ntohl(x) (is_big_endian() ? (uint32_t)(x) : swab32(x))
#define htonl(x) (is_big_endian() ? (uint32_t)(x) : swab32(x))
#elif defined(__NetBSD__)
#include <arpa/inet.h>
#endif
#define ntohll(x) (is_big_endian() ? (uint64_t)(x) : swab64(x))
#define htonll(x) (is_big_endian() ? (uint64_t)(x) : swab64(x))
int is_big_endian(void);
/* Message output */ /* Message output */
extern int verbose; extern int verbose;

View File

@ -15,6 +15,15 @@
* *
*/ */
#if !defined(__APPLE__) && !defined(__NetBSD__)
#define ntohl(x) (is_big_endian() ? (uint32_t)(x) : swab32(x))
#define htonl(x) (is_big_endian() ? (uint32_t)(x) : swab32(x))
#elif defined(__NetBSD__)
#include <arpa/inet.h>
#endif
#define ntohll(x) (is_big_endian() ? (uint64_t)(x) : swab64(x))
#define htonll(x) (is_big_endian() ? (uint64_t)(x) : swab64(x))
/* casts are necessary for constants, because we never know how for sure /* casts are necessary for constants, because we never know how for sure
* how U/UL/ULL map to __u16, __u32, __u64. At least not in a portable way. * how U/UL/ULL map to __u16, __u32, __u64. At least not in a portable way.
*/ */
@ -41,4 +50,7 @@
(((uint64_t)(x) & (uint64_t)0x00ff000000000000ULL) >> 40) | \ (((uint64_t)(x) & (uint64_t)0x00ff000000000000ULL) >> 40) | \
(((uint64_t)(x) & (uint64_t)0xff00000000000000ULL) >> 56) )) (((uint64_t)(x) & (uint64_t)0xff00000000000000ULL) >> 56) ))
/* common.c */
int is_big_endian(void);
#endif /* _SWAB_H */ #endif /* _SWAB_H */