bswap.h revision 677833bc953b6cb418c701facbdcf4aa18d6c44e
#ifndef BSWAP_H
#define BSWAP_H
#include "config-host.h"
#ifndef _MSC_VER
#include <inttypes.h>
#endif
#ifdef HAVE_BYTESWAP_H
#include <byteswap.h>
#else
#ifdef _MSC_VER
{
return ((uint16_t)( \
}
{ \
return ((uint32_t)( \
}
{ \
return ((uint64_t)( \
}
#else
({ \
((uint16_t)( \
})
({ \
((uint32_t)( \
})
({ \
((uint64_t)( \
})
#endif
#endif /* !HAVE_BYTESWAP_H */
{
return bswap_16(x);
}
#endif
{
return bswap_32(x);
}
#endif
{
return bswap_64(x);
}
#endif
{
*s = bswap16(*s);
}
{
*s = bswap32(*s);
}
{
*s = bswap64(*s);
}
#if defined(WORDS_BIGENDIAN)
#else
#endif
{\
}\
\
{\
}\
\
{\
}\
\
{\
}\
\
{\
}\
\
{\
}
/* unaligned versions (optimized for frequent unaligned accesses)*/
#if defined(__i386__) || defined(__powerpc__)
#define cpu_to_le16wu(p, v) cpu_to_le16w(p, v)
#define cpu_to_le32wu(p, v) cpu_to_le32w(p, v)
#define le16_to_cpupu(p) le16_to_cpup(p)
#define le32_to_cpupu(p) le32_to_cpup(p)
#define cpu_to_be16wu(p, v) cpu_to_be16w(p, v)
#define cpu_to_be32wu(p, v) cpu_to_be32w(p, v)
#else
{
}
{
}
{
}
{
}
{
p1[0] = v >> 8;
}
{
p1[0] = v >> 24;
}
#endif
#ifdef WORDS_BIGENDIAN
#define cpu_to_32wu cpu_to_be32wu
#else
#define cpu_to_32wu cpu_to_le32wu
#endif
#endif /* BSWAP_H */