mirror of
https://gitlab.com/prpl-foundation/prplmesh/stationsniffer.git
synced 2025-12-20 02:20:31 +08:00
21 lines
1.0 KiB
C
21 lines
1.0 KiB
C
#include <errno.h>
|
|
#include <stddef.h>
|
|
#if defined(__APPLE__)
|
|
#include <machine/endian.h>
|
|
#else
|
|
#include <endian.h>
|
|
#endif
|
|
|
|
#define le16_to_cpu le16toh
|
|
#define le32_to_cpu le32toh
|
|
#define get_unaligned(p) \
|
|
({ \
|
|
struct packed_dummy_struct { \
|
|
typeof(*(p)) __val; \
|
|
} __attribute__((packed)) *__ptr = (void *)(p); \
|
|
\
|
|
__ptr->__val; \
|
|
})
|
|
#define get_unaligned_le16(p) le16_to_cpu(get_unaligned((uint16_t *)(p)))
|
|
#define get_unaligned_le32(p) le32_to_cpu(get_unaligned((uint32_t *)(p)))
|