don't use bitfields: they are evil.
authorMathieu Lacage <mathieu.lacage@sophia.inria.fr>
Mon, 08 Sep 2008 14:40:27 -0700
changeset 3660 0ae474317c28
parent 3659 653395340b5c
child 3661 07850bede91a
don't use bitfields: they are evil.
src/devices/wifi/wifi-mac-header.h
--- a/src/devices/wifi/wifi-mac-header.h	Mon Sep 08 14:39:59 2008 -0700
+++ b/src/devices/wifi/wifi-mac-header.h	Mon Sep 08 14:40:27 2008 -0700
@@ -154,27 +154,27 @@
   void SetQosControl (uint16_t qos);
   void PrintFrameControl (std::ostream &os) const;
 
-  uint16_t m_ctrlType      : 2;
-  uint16_t m_ctrlSubtype   : 4;
-  uint16_t m_ctrlToDs     : 1;
-  uint16_t m_ctrlFromDs   : 1;
-  uint16_t m_ctrlMoreFrag : 1;
-  uint16_t m_ctrlRetry     : 1;
-  uint16_t m_ctrlPwrMgt   : 1;
-  uint16_t m_ctrlMoreData : 1;
-  uint16_t m_ctrlWep       : 1;
-  uint16_t m_ctrlOrder     : 1;
+  uint8_t m_ctrlType;
+  uint8_t m_ctrlSubtype;
+  uint8_t m_ctrlToDs;
+  uint8_t m_ctrlFromDs;
+  uint8_t m_ctrlMoreFrag;
+  uint8_t m_ctrlRetry;
+  uint8_t m_ctrlPwrMgt;
+  uint8_t m_ctrlMoreData;
+  uint8_t m_ctrlWep;
+  uint8_t m_ctrlOrder;
   uint16_t m_duration;
   Mac48Address m_addr1;
   Mac48Address m_addr2;
   Mac48Address m_addr3;
-  uint16_t m_seqFrag : 4;
-  uint16_t m_seqSeq  : 12;
+  uint8_t m_seqFrag;
+  uint16_t m_seqSeq;
   Mac48Address m_addr4;
-  uint16_t m_qosTid : 4;
-  uint16_t m_qosEosp : 1;
-  uint16_t m_qosAckPolicy : 2;
-  uint16_t m_qosStuff: 8;
+  uint8_t m_qosTid;
+  uint8_t m_qosEosp;
+  uint8_t m_qosAckPolicy;
+  uint16_t m_qosStuff;
 };
 
 } // namespace ns3