A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
capability-information.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2006 INRIA
3 *
4 * SPDX-License-Identifier: GPL-2.0-only
5 *
6 * Author: Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
7 */
8
9#ifndef CAPABILITY_INFORMATION_H
10#define CAPABILITY_INFORMATION_H
11
12#include "ns3/buffer.h"
13
14namespace ns3
15{
16
17/**
18 * @ingroup wifi
19 *
20 * Capability information
21 */
23{
24 public:
26
27 /**
28 * Set the Extended Service Set (ESS) bit
29 * in the capability information field.
30 */
31 void SetEss();
32 /**
33 * Set the Independent BSS (IBSS) bit
34 * in the capability information field.
35 */
36 void SetIbss();
37 /**
38 * Set the short preamble bit
39 * in the capability information field.
40 *
41 * @param shortPreamble the short preamble bit
42 *
43 */
44 void SetShortPreamble(bool shortPreamble);
45 /**
46 * Set the short slot time bit
47 * in the capability information field.
48 *
49 * @param shortSlotTime the short preamble bit
50 *
51 */
52 void SetShortSlotTime(bool shortSlotTime);
53 /**
54 * Set the CF-Pollable bit
55 * in the capability information field.
56 */
57 void SetCfPollable();
58
59 /**
60 * Set Critical Update flag (see IEEE 802.11be D5.0 9.4.1.4)
61 * @param flag critical update bit
62 */
63 void SetCriticalUpdate(bool flag);
64
65 /**
66 * Check if the Extended Service Set (ESS) bit
67 * in the capability information field is set to 1.
68 *
69 * @return ESS bit in the capability information
70 * field is set to 1
71 */
72 bool IsEss() const;
73 /**
74 * Check if the Independent BSS (IBSS) bit
75 * in the capability information field is set to 1.
76 *
77 * @return IBSS bit in the capability information
78 * field is set to 1
79 */
80 bool IsIbss() const;
81 /**
82 * Check if the short preamble bit
83 * in the capability information field is set to 1.
84 *
85 * @return short preamble bit in the capability information
86 * field is set to 1
87 */
88 bool IsShortPreamble() const;
89 /**
90 * Check if the short slot time
91 * in the capability information field is set to 1.
92 *
93 * @return short slot time bit in the capability information
94 * field is set to 1
95 */
96 bool IsShortSlotTime() const;
97 /**
98 * Check if the CF-Pollable bit
99 * in the capability information field is set to 1.
100 *
101 * @return CF-Pollable bit in the capability information
102 * field is set to 1
103 */
104 bool IsCfPollable() const;
105
106 /**
107 * Check if Critical Update bit is set to 1
108 *
109 * @return true if set to 1, false otherwise
110 */
111 bool IsCriticalUpdate() const;
112
113 /**
114 * Return the serialized size of capability
115 * information.
116 *
117 * @return the serialized size
118 */
120 /**
121 * Serialize capability information to the given buffer.
122 *
123 * @param start an iterator to a buffer
124 * @return an iterator to a buffer after capability information
125 * was serialized
126 */
128 /**
129 * Deserialize capability information from the given buffer.
130 *
131 * @param start an iterator to a buffer
132 * @return an iterator to a buffer after capability information
133 * was deserialized
134 */
136
137 private:
138 /**
139 * Check if bit n is set to 1.
140 *
141 * @param n the bit position
142 *
143 * @return true if bit n is set to 1,
144 * false otherwise
145 */
146 bool Is(uint8_t n) const;
147 /**
148 * Set bit n to 1.
149 *
150 * @param n the bit position
151 */
152 void Set(uint8_t n);
153 /**
154 * Set bit n to 0.
155 *
156 * @param n the bit position
157 */
158 void Clear(uint8_t n);
159
160 uint16_t m_capability; ///< capability
161};
162
163} // namespace ns3
164
165#endif /* CAPABILITY_INFORMATION_H */
iterator in a Buffer instance
Definition buffer.h:89
void SetCriticalUpdate(bool flag)
Set Critical Update flag (see IEEE 802.11be D5.0 9.4.1.4)
void SetEss()
Set the Extended Service Set (ESS) bit in the capability information field.
bool IsShortSlotTime() const
Check if the short slot time in the capability information field is set to 1.
uint32_t GetSerializedSize() const
Return the serialized size of capability information.
void SetCfPollable()
Set the CF-Pollable bit in the capability information field.
bool IsCriticalUpdate() const
Check if Critical Update bit is set to 1.
Buffer::Iterator Serialize(Buffer::Iterator start) const
Serialize capability information to the given buffer.
void Set(uint8_t n)
Set bit n to 1.
void SetShortSlotTime(bool shortSlotTime)
Set the short slot time bit in the capability information field.
bool IsEss() const
Check if the Extended Service Set (ESS) bit in the capability information field is set to 1.
bool IsIbss() const
Check if the Independent BSS (IBSS) bit in the capability information field is set to 1.
void Clear(uint8_t n)
Set bit n to 0.
void SetShortPreamble(bool shortPreamble)
Set the short preamble bit in the capability information field.
bool Is(uint8_t n) const
Check if bit n is set to 1.
void SetIbss()
Set the Independent BSS (IBSS) bit in the capability information field.
Buffer::Iterator Deserialize(Buffer::Iterator start)
Deserialize capability information from the given buffer.
bool IsCfPollable() const
Check if the CF-Pollable bit in the capability information field is set to 1.
bool IsShortPreamble() const
Check if the short preamble bit in the capability information field is set to 1.
Every class exported by the ns3 library is enclosed in the ns3 namespace.