1 /* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */ 2 /* 3 * Copyright (c) 2018 Sébastien Deronne 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License version 2 as 7 * published by the Free Software Foundation; 8 * 9 * This program is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 * GNU General Public License for more details. 13 * 14 * You should have received a copy of the GNU General Public License 15 * along with this program; if not, write to the Free Software 16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 17 * 18 * Author: Sébastien Deronne <sebastien.deronne@gmail.com> 19 */ 20 21 #ifndef HT_CONFIGURATION_H 22 #define HT_CONFIGURATION_H 23 24 #include "ns3/object.h" 25 26 namespace ns3 { 27 28 /** 29 * \brief HT configuration 30 * \ingroup wifi 31 * 32 * This object stores HT configuration information, for use in modifying 33 * AP or STA behavior and for constructing HT-related information elements. 34 * 35 */ 36 class HtConfiguration : public Object 37 { 38 public: 39 HtConfiguration (); 40 virtual ~HtConfiguration (); 41 42 /** 43 * \brief Get the type ID. 44 * \return the object TypeId 45 */ 46 static TypeId GetTypeId (void); 47 48 /** 49 * Enable or disable SGI support. 50 * 51 * \param enable true if SGI is to be supported, 52 * false otherwise 53 */ 54 void SetShortGuardIntervalSupported (bool enable); 55 /** 56 * \return whether the device supports SGI. 57 * 58 * \return true if SGI is supported, 59 * false otherwise. 60 */ 61 bool GetShortGuardIntervalSupported (void) const; 62 /** 63 * Enable or disable LDPC support. 64 * 65 * \param enable true if LDPC is to be supported, 66 * false otherwise 67 */ 68 void SetLdpcSupported (bool enable); 69 /** 70 * \return whether the device supports LDPC. 71 * 72 * \return true if LDPC is supported, 73 * false otherwise. 74 */ 75 bool GetLdpcSupported (void) const; 76 77 78 private: 79 bool m_sgiSupported; ///< flag whether short guard interval is supported 80 bool m_ldpcSupported; ///< flag whether LDPC coding is supported 81 }; 82 83 } //namespace ns3 84 85 #endif /* HT_CONFIGURATION_H */ 86