src/devices/mesh/mesh-wifi-interface-mac.h
changeset 4934 345b49df838b
parent 4929 1689c94d7442
child 4944 779b641cff5a
--- a/src/devices/mesh/mesh-wifi-interface-mac.h	Thu Apr 02 13:38:38 2009 +0400
+++ b/src/devices/mesh/mesh-wifi-interface-mac.h	Thu Apr 02 14:33:38 2009 +0400
@@ -121,13 +121,32 @@
   /// Install plugin. TODO return unique ID to allow unregister plugins
   void InstallPlugin (Ptr<MeshWifiInterfaceMacPlugin> plugin);
   //\}
-  ///\name Management frame sender:
+  
+  /** \name Channel switching
+   * 
+   * Channel center frequency = Channel starting frequency + 5 × nch (MHz), 
+   * where Starting channel frequency is standard-dependent as defined in IEEE 802.11-2007 17.3.8.3.2.
+   * 
+   * Number of channels to use must be limited elsewhere. 
+   */
   //\{
-  void SendManagementFrame(Ptr<Packet> frame, const WifiMacHeader& hdr);
+  /// Return true if PHY layer can switch channels
+  bool CanSwitchChannel () const;
+  /// Current channel Id
+  uint16_t GetFrequencyChannel () const;
+  /// Switch channel
+  void SwitchFrequencyChannel (uint16_t new_id);
   //\}
+  
+  /// To be used by plugins sending management frames.
+  void SendManagementFrame(Ptr<Packet> frame, const WifiMacHeader& hdr);
+  /// \return true if meshId is correct Ssid
   bool CheckMeshId(Ssid meshId) const;
+  /// \return true if rates are supported
   bool CheckSupportedRates(SupportedRates rates) const;
+  /// \return list of supported bitrates
   SupportedRates GetSupportedRates () const;
+  
 private:
   /// Frame receive handler
   void  Receive (Ptr<Packet> packet, WifiMacHeader const *hdr);