aboutsummaryrefslogtreecommitdiffstats
path: root/include/grgsm
diff options
context:
space:
mode:
authorPiotr Krysik <ptrkrysik@gmail.com>2018-02-27 07:42:23 +0100
committerPiotr Krysik <ptrkrysik@gmail.com>2018-02-27 14:45:14 +0100
commitc0621c66ace7b82feaa804777d2c91bd07083b72 (patch)
tree9ab416324e5176a50a16fe29d9dc8a532dac745b /include/grgsm
parentffbaca90895d65beb42d411819b49d1336eed1eb (diff)
Fix portability: added windows style struct packing to gsmtap_hdr
Diffstat (limited to 'include/grgsm')
-rw-r--r--include/grgsm/gsmtap.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/include/grgsm/gsmtap.h b/include/grgsm/gsmtap.h
index bf8226b..31a0ba0 100644
--- a/include/grgsm/gsmtap.h
+++ b/include/grgsm/gsmtap.h
@@ -50,6 +50,16 @@
#define GSMTAP_UDP_PORT 4729 /* officially registered with IANA */
+#if (defined(_WIN16) || defined(_WIN32) || defined(_WIN64)) && !defined(__WINDOWS__)
+# define __WINDOWS__
+#endif
+
+#ifdef __WINDOWS__
+#define PACKED( class_to_pack ) __pragma( pack(push, 1) ) class_to_pack __pragma( pack(pop) )
+#else
+#define PACKED( class_to_pack ) class_to_pack __attribute__((__packed__))
+#endif
+PACKED(
struct gsmtap_hdr {
uint8_t version; /* version, set to GSMTAP_VERSION */
uint8_t hdr_len; /* length in number of 32bit words */
@@ -67,6 +77,7 @@ struct gsmtap_hdr {
uint8_t sub_slot; /* sub-slot within timeslot */
uint8_t res; /* reserved for future use (RFU) */
-} __attribute__((packed));
+}
+);
#endif /* _GSMTAP_H */