platform.h revision 7dba0e5708da7276a43a44cf479aa743564e15b9
1#include <stddef.h>
2#include <errno.h>
3#ifndef _BSD_SOURCE
4#define _BSD_SOURCE
5#endif
6#include <endian.h>
7
8#define le16_to_cpu		le16toh
9#define le32_to_cpu		le32toh
10#define get_unaligned(p)					\
11({								\
12	struct packed_dummy_struct {				\
13		typeof(*(p)) __val;				\
14	} __attribute__((packed)) *__ptr = (void *) (p);	\
15								\
16	__ptr->__val;						\
17})
18#define get_unaligned_le16(p)	le16_to_cpu(get_unaligned((uint16_t *)(p)))
19#define get_unaligned_le32(p)	le32_to_cpu(get_unaligned((uint32_t *)(p)))
20