mirror of https://gerrit.osmocom.org/libosmocore
33 lines
1.0 KiB
C
33 lines
1.0 KiB
C
#include <osmocom/core/byteswap.h>
|
|
#include <osmocom/core/utils.h>
|
|
#include <osmocom/core/endian.h>
|
|
|
|
int main(int argc, char **argv)
|
|
{
|
|
printf("Testing 16bit swappinng\n");
|
|
OSMO_ASSERT(osmo_swab16(0x1234) == 0x3412);
|
|
printf("Testing 32bit swappinng\n");
|
|
OSMO_ASSERT(osmo_swab32(0x12345678) == 0x78563412);
|
|
|
|
printf("Testing ntohX() and htonX()\n");
|
|
#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
|
|
#if OSMO_IS_LITTLE_ENDIAN == 0
|
|
#error "Something wrong with endianness detection!"
|
|
#endif /* IS_LITTLE_ENDIAN */
|
|
OSMO_ASSERT(osmo_ntohs(0x1234) == 0x3412);
|
|
OSMO_ASSERT(osmo_htons(0x1234) == 0x3412);
|
|
OSMO_ASSERT(osmo_htonl(0x12345678) == 0x78563412);
|
|
OSMO_ASSERT(osmo_ntohl(0x12345678) == 0x78563412);
|
|
#else
|
|
#if OSMO_IS_LITTLE_ENDIAN == 1
|
|
#error "Something wrong with endianness detection!"
|
|
#endif /* IS_LITTLE_ENDIAN */
|
|
OSMO_ASSERT(osmo_ntohs(0x1234) == 0x1234);
|
|
OSMO_ASSERT(osmo_htons(0x1234) == 0x1234);
|
|
OSMO_ASSERT(osmo_htonl(0x12345678) == 0x12345678);
|
|
OSMO_ASSERT(osmo_ntohl(0x12345678) == 0x12345678);
|
|
#endif /* __BYTE_ORDER__ */
|
|
|
|
exit(0);
|
|
}
|