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 * SPDX-License-Identifier: GPL-2.0-only
5 *
6 * Author: Sébastien Deronne <sebastien.deronne@gmail.com>
7 */
8
9#ifndef HT_CONFIGURATION_H
10#define HT_CONFIGURATION_H
11
12#include "ns3/object.h"
13
14namespace ns3
15{
16
17/**
18 * \brief HT configuration
19 * \ingroup wifi
20 *
21 * This object stores HT configuration information, for use in modifying
22 * AP or STA behavior and for constructing HT-related information elements.
23 *
24 */
25class HtConfiguration : public Object
26{
27 public:
29 ~HtConfiguration() override;
30
31 /**
32 * \brief Get the type ID.
33 * \return the object TypeId
34 */
35 static TypeId GetTypeId();
36
37 /**
38 * Enable or disable SGI support.
39 *
40 * \param enable true if SGI is to be supported,
41 * false otherwise
42 */
43 void SetShortGuardIntervalSupported(bool enable);
44 /**
45 * \return whether the device supports SGI.
46 *
47 * \return true if SGI is supported,
48 * false otherwise.
49 */
51 /**
52 * Enable or disable LDPC support.
53 *
54 * \param enable true if LDPC is to be supported,
55 * false otherwise
56 */
57 void SetLdpcSupported(bool enable);
58 /**
59 * \return whether the device supports LDPC.
60 *
61 * \return true if LDPC is supported,
62 * false otherwise.
63 */
64 bool GetLdpcSupported() const;
65 /**
66 * Enable or disable 40 MHz operation support.
67 *
68 * \param enable true if both 20 MHz and 40 MHz operation is to be supported,
69 * false if only 20 MHz operation is to be supported
70 */
71 void Set40MHzOperationSupported(bool enable);
72 /**
73 * \return true if both 20 MHz and 40 MHz operation is supported, false if
74 * only 20 MHz operation is supported
75 */
76 bool Get40MHzOperationSupported() const;
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 bool m_40MHzSupported; ///< whether 40 MHz operation is supported
82};
83
84} // namespace ns3
85
86#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:78
a unique identifier for an interface.
Definition type-id.h:48
Every class exported by the ns3 library is enclosed in the ns3 namespace.