A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
ht-configuration.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2018 Sébastien Deronne
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 as
6 * published by the Free Software Foundation;
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program; if not, write to the Free Software
15 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16 *
17 * Author: Sébastien Deronne <sebastien.deronne@gmail.com>
18 */
19
20#ifndef HT_CONFIGURATION_H
21#define HT_CONFIGURATION_H
22
23#include "ns3/object.h"
24
25namespace ns3
26{
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 */
36class HtConfiguration : public Object
37{
38 public:
40 ~HtConfiguration() override;
41
42 /**
43 * \brief Get the type ID.
44 * \return the object TypeId
45 */
46 static TypeId GetTypeId();
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 */
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() const;
76 /**
77 * Enable or disable 40 MHz operation support.
78 *
79 * \param enable true if both 20 MHz and 40 MHz operation is to be supported,
80 * false if only 20 MHz operation is to be supported
81 */
82 void Set40MHzOperationSupported(bool enable);
83 /**
84 * \return true if both 20 MHz and 40 MHz operation is supported, false if
85 * only 20 MHz operation is supported
86 */
87 bool Get40MHzOperationSupported() const;
88
89 private:
90 bool m_sgiSupported; ///< flag whether short guard interval is supported
91 bool m_ldpcSupported; ///< flag whether LDPC coding is supported
92 bool m_40MHzSupported; ///< whether 40 MHz operation is supported
93};
94
95} // namespace ns3
96
97#endif /* HT_CONFIGURATION_H */
HT configuration.
bool m_40MHzSupported
whether 40 MHz operation is supported
bool Get40MHzOperationSupported() const
bool GetShortGuardIntervalSupported() const
bool m_ldpcSupported
flag whether LDPC coding is supported
void Set40MHzOperationSupported(bool enable)
Enable or disable 40 MHz operation support.
void SetShortGuardIntervalSupported(bool enable)
Enable or disable SGI support.
static TypeId GetTypeId()
Get the type ID.
bool m_sgiSupported
flag whether short guard interval is supported
void SetLdpcSupported(bool enable)
Enable or disable LDPC support.
bool GetLdpcSupported() const
A base class which provides memory management and object aggregation.
Definition: object.h:89
a unique identifier for an interface.
Definition: type-id.h:59
Every class exported by the ns3 library is enclosed in the ns3 namespace.