Packets/80211Bundle: Read-only radiotap reimplementation
[senf.git] / senf / Packets / 80211Bundle / radiotap / platform.h
diff --git a/senf/Packets/80211Bundle/radiotap/platform.h b/senf/Packets/80211Bundle/radiotap/platform.h
new file mode 100644 (file)
index 0000000..9ab734b
--- /dev/null
@@ -0,0 +1,19 @@
+#include <stddef.h>
+#include <errno.h>
+#ifndef _BSD_SOURCE
+#define _BSD_SOURCE
+#endif
+#include <endian.h>
+
+#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)))