Added wifi sniffer basics
[soho-sigint.git] / client-wifi / disect5 / platform.h
diff --git a/client-wifi/disect5/platform.h b/client-wifi/disect5/platform.h
new file mode 100644 (file)
index 0000000..980fe6f
--- /dev/null
@@ -0,0 +1,23 @@
+#include <stddef.h>
+#include <errno.h>
+#ifndef _BSD_SOURCE
+#define _BSD_SOURCE
+#endif
+#ifdef __FreeBSD__
+        #include <sys/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)))