src/devices/wifi/wifi-phy.h
changeset 1920 1d4864775cf8
parent 1919 46ed9ed9dac0
child 1964 041240a915f8
--- a/src/devices/wifi/wifi-phy.h	Tue Oct 09 10:21:46 2007 +0200
+++ b/src/devices/wifi/wifi-phy.h	Tue Oct 09 11:07:05 2007 +0200
@@ -33,6 +33,7 @@
 #include "ns3/ptr.h"
 #include "ns3/random-variable.h"
 #include "wifi-mode.h"
+#include "wifi-preamble.h"
 
 
 namespace ns3 {
@@ -71,7 +72,7 @@
 class WifiPhy
 {
 public:
-  typedef Callback<void,Packet const , double, WifiMode, WifiMode> SyncOkCallback;
+  typedef Callback<void,Packet const , double, WifiMode, enum WifiPreamble> SyncOkCallback;
   typedef Callback<void,Packet const , double> SyncErrorCallback;
 
   WifiPhy (Ptr<WifiNetDevice> device);
@@ -82,7 +83,7 @@
   void SetReceiveOkCallback (SyncOkCallback callback);
   void SetReceiveErrorCallback (SyncErrorCallback callback);
 
-  void SendPacket (Packet const packet, WifiMode mode, WifiMode headerMode, uint8_t txPower);
+  void SendPacket (Packet const packet, WifiMode mode, enum WifiPreamble preamble, uint8_t txPower);
 
   void RegisterListener (WifiPhyListener *listener);
 
@@ -94,7 +95,7 @@
   Time GetStateDuration (void);
   Time GetDelayUntilIdle (void);
 
-  Time CalculateTxDuration (uint32_t size, WifiMode payloadMode, WifiMode headerMode) const;
+  Time CalculateTxDuration (uint32_t size, WifiMode payloadMode, enum WifiPreamble preamble) const;
 
   void Configure80211a (void);
   void SetEdThresholdDbm (double rxThreshold);
@@ -179,10 +180,13 @@
   void ReceivePacket (Packet packet,
                       double rxPowerW,
                       WifiMode mode,
-                      WifiMode headerMode);
+                      WifiPreamble preamble);
 private:
   uint64_t m_txPrepareDelayUs;
-  uint64_t m_plcpPreambleDelayUs;
+  uint64_t m_plcpLongPreambleDelayUs;
+  uint64_t m_plcpShortPreambleDelayUs;
+  WifiMode m_longPlcpHeaderMode;
+  WifiMode m_shortPlcpHeaderMode;
   uint32_t m_plcpHeaderLength;
   Time     m_maxPacketDuration;