Add bswap_{16,32,64}p

Add byte swap macros that take a pointer and byte swap
in place.

Signed-off-by: Anton Blanchard <anton@samba.org>
Signed-off-by: Nikunj A Dadhania <nikunj@linux.vnet.ibm.com>
This commit is contained in:
Anton Blanchard 2013-12-06 08:40:11 +11:00 committed by Nikunj A Dadhania
parent 2c5bb18a55
commit dad7598b1b
1 changed files with 18 additions and 0 deletions

View File

@ -37,6 +37,24 @@ bswap_64 (uint64_t x)
return __builtin_bswap64(x);
}
static inline void
bswap_16p (uint16_t *x)
{
*x = __builtin_bswap16(*x);
}
static inline void
bswap_32p (uint32_t *x)
{
*x = __builtin_bswap32(*x);
}
static inline void
bswap_64p (uint64_t *x)
{
*x = __builtin_bswap64(*x);
}
/* gcc defines __BIG_ENDIAN__ on big endian targets */
#ifdef __BIG_ENDIAN__