A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
mgt-headers.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2006 INRIA
3 * Copyright (c) 2009 MIRKO BANCHI
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 * Authors: Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
19 * Mirko Banchi <mk.banchi@gmail.com>
20 */
21
22#ifndef MGT_HEADERS_H
23#define MGT_HEADERS_H
24
26#include "edca-parameter-set.h"
29#include "ssid.h"
30#include "status-code.h"
31#include "supported-rates.h"
32#include "wifi-mgt-header.h"
33
34#include "ns3/dsss-parameter-set.h"
35#include "ns3/eht-capabilities.h"
36#include "ns3/eht-operation.h"
37#include "ns3/erp-information.h"
38#include "ns3/he-6ghz-band-capabilities.h"
39#include "ns3/he-capabilities.h"
40#include "ns3/he-operation.h"
41#include "ns3/ht-capabilities.h"
42#include "ns3/ht-operation.h"
43#include "ns3/mac48-address.h"
44#include "ns3/mu-edca-parameter-set.h"
45#include "ns3/multi-link-element.h"
46#include "ns3/tid-to-link-mapping-element.h"
47#include "ns3/vht-capabilities.h"
48#include "ns3/vht-operation.h"
49
50namespace ns3
51{
52
53/**
54 * Indicate which Information Elements cannot be included in a Per-STA Profile subelement of
55 * a Basic Multi-Link Element (see Sec. 35.3.3.4 of 802.11be D3.1):
56 *
57 * An AP affiliated with an AP MLD shall not include a Timestamp field, a Beacon Interval field,
58 * an AID field, a BSS Max Idle Period element, a Neighbor Report element, a Reduced Neighbor
59 * Report element, a Multiple BSSID element, TIM element, Multiple BSSID-Index element, Multiple
60 * BSSID Configuration element, TID-to-Link Mapping element, Multi-Link Traffic Indication element
61 * or another Multi- Link element in the STA Profile field of the Basic Multi-Link element.
62 *
63 * A non-AP STA affiliated with a non-AP MLD shall not include a Listen Interval field, a Current
64 * AP Address field, an SSID element, BSS Max Idle Period element or another Multi-Link element in
65 * the STA Profile field of the Basic Multi-Link element.
66 */
67
68/** \copydoc CanBeInPerStaProfile */
69template <>
71{
72};
73
74/** \copydoc CanBeInPerStaProfile */
75template <>
76struct CanBeInPerStaProfile<TidToLinkMapping> : std::false_type
77{
78};
79
80/** \copydoc CanBeInPerStaProfile */
81template <>
82struct CanBeInPerStaProfile<MultiLinkElement> : std::false_type
83{
84};
85
86/** \copydoc CanBeInPerStaProfile */
87template <>
88struct CanBeInPerStaProfile<Ssid> : std::false_type
89{
90};
91
92/// List of Information Elements included in Probe Request frames
93using ProbeRequestElems = std::tuple<Ssid,
95 std::optional<ExtendedSupportedRatesIE>,
96 std::optional<HtCapabilities>,
97 std::optional<ExtendedCapabilities>,
98 std::optional<VhtCapabilities>,
99 std::optional<HeCapabilities>,
100 std::optional<He6GhzBandCapabilities>,
101 std::optional<EhtCapabilities>>;
102
103/// List of Information Elements included in Probe Response frames
104using ProbeResponseElems = std::tuple<Ssid,
106 std::optional<DsssParameterSet>,
107 std::optional<ErpInformation>,
108 std::optional<ExtendedSupportedRatesIE>,
109 std::optional<EdcaParameterSet>,
110 std::optional<HtCapabilities>,
111 std::optional<HtOperation>,
112 std::optional<ExtendedCapabilities>,
113 std::optional<VhtCapabilities>,
114 std::optional<VhtOperation>,
115 std::optional<ReducedNeighborReport>,
116 std::optional<HeCapabilities>,
117 std::optional<HeOperation>,
118 std::optional<MuEdcaParameterSet>,
119 std::optional<He6GhzBandCapabilities>,
120 std::optional<MultiLinkElement>,
121 std::optional<EhtCapabilities>,
122 std::optional<EhtOperation>,
123 std::vector<TidToLinkMapping>>;
124
125/// List of Information Elements included in Association Request frames
126using AssocRequestElems = std::tuple<Ssid,
128 std::optional<ExtendedSupportedRatesIE>,
129 std::optional<HtCapabilities>,
130 std::optional<ExtendedCapabilities>,
131 std::optional<VhtCapabilities>,
132 std::optional<HeCapabilities>,
133 std::optional<He6GhzBandCapabilities>,
134 std::optional<MultiLinkElement>,
135 std::optional<EhtCapabilities>,
136 std::vector<TidToLinkMapping>>;
137
138/// List of Information Elements included in Association Response frames
140 std::optional<ExtendedSupportedRatesIE>,
141 std::optional<EdcaParameterSet>,
142 std::optional<HtCapabilities>,
143 std::optional<HtOperation>,
144 std::optional<ExtendedCapabilities>,
145 std::optional<VhtCapabilities>,
146 std::optional<VhtOperation>,
147 std::optional<HeCapabilities>,
148 std::optional<HeOperation>,
149 std::optional<MuEdcaParameterSet>,
150 std::optional<He6GhzBandCapabilities>,
151 std::optional<MultiLinkElement>,
152 std::optional<EhtCapabilities>,
153 std::optional<EhtOperation>,
154 std::vector<TidToLinkMapping>>;
155
156/**
157 * \ingroup wifi
158 * Implement the header for management frames of type association request.
159 */
161 : public MgtHeaderInPerStaProfile<MgtAssocRequestHeader, AssocRequestElems>
162{
165
166 public:
167 ~MgtAssocRequestHeader() override = default;
168
169 /**
170 * Register this type.
171 * \return The TypeId.
172 */
173 static TypeId GetTypeId();
174
175 /** \copydoc Header::GetInstanceTypeId */
176 TypeId GetInstanceTypeId() const override;
177
178 /**
179 * Set the listen interval.
180 *
181 * \param interval the listen interval
182 */
183 void SetListenInterval(uint16_t interval);
184 /**
185 * Return the listen interval.
186 *
187 * \return the listen interval
188 */
189 uint16_t GetListenInterval() const;
190 /**
191 * \return a reference to the Capability information
192 */
194 /**
195 * \return a const reference to the Capability information
196 */
197 const CapabilityInformation& Capabilities() const;
198
199 protected:
200 /** \copydoc Header::GetSerializedSize */
202 /** \copydoc Header::Serialize */
203 void SerializeImpl(Buffer::Iterator start) const;
204 /** \copydoc Header::Deserialize */
206
207 /**
208 * \param frame the frame containing the Multi-Link Element
209 * \return the number of bytes that are needed to serialize this header into a Per-STA Profile
210 * subelement of the Multi-Link Element
211 */
213
214 /**
215 * Serialize this header into a Per-STA Profile subelement of a Multi-Link Element
216 *
217 * \param start an iterator which points to where the header should be written
218 * \param frame the frame containing the Multi-Link Element
219 */
221 const MgtAssocRequestHeader& frame) const;
222
223 /**
224 * Deserialize this header from a Per-STA Profile subelement of a Multi-Link Element.
225 *
226 * \param start an iterator which points to where the header should be read from
227 * \param length the expected number of bytes to read
228 * \param frame the frame containing the Multi-Link Element
229 * \return the number of bytes read
230 */
232 uint16_t length,
233 const MgtAssocRequestHeader& frame);
234
235 private:
236 CapabilityInformation m_capability; //!< Capability information
237 uint16_t m_listenInterval{0}; //!< listen interval
238};
239
240/**
241 * \ingroup wifi
242 * Implement the header for management frames of type reassociation request.
243 */
245 : public MgtHeaderInPerStaProfile<MgtReassocRequestHeader, AssocRequestElems>
246{
249
250 public:
251 ~MgtReassocRequestHeader() override = default;
252
253 /**
254 * Register this type.
255 * \return The TypeId.
256 */
257 static TypeId GetTypeId();
258
259 /** \copydoc Header::GetInstanceTypeId */
260 TypeId GetInstanceTypeId() const override;
261
262 /**
263 * Set the listen interval.
264 *
265 * \param interval the listen interval
266 */
267 void SetListenInterval(uint16_t interval);
268 /**
269 * Return the listen interval.
270 *
271 * \return the listen interval
272 */
273 uint16_t GetListenInterval() const;
274 /**
275 * \return a reference to the Capability information
276 */
278 /**
279 * \return a const reference to the Capability information
280 */
281 const CapabilityInformation& Capabilities() const;
282 /**
283 * Set the address of the current access point.
284 *
285 * \param currentApAddr address of the current access point
286 */
287 void SetCurrentApAddress(Mac48Address currentApAddr);
288
289 protected:
290 /** \copydoc Header::GetSerializedSize */
292 /** \copydoc Header::Serialize */
293 void SerializeImpl(Buffer::Iterator start) const;
294 /** \copydoc Header::Deserialize */
296 /** \copydoc Header::Print */
297 void PrintImpl(std::ostream& os) const;
298
299 /**
300 * \param frame the frame containing the Multi-Link Element
301 * \return the number of bytes that are needed to serialize this header into a Per-STA Profile
302 * subelement of the Multi-Link Element
303 */
305
306 /**
307 * Serialize this header into a Per-STA Profile subelement of a Multi-Link Element
308 *
309 * \param start an iterator which points to where the header should be written
310 * \param frame the frame containing the Multi-Link Element
311 */
313 const MgtReassocRequestHeader& frame) const;
314
315 /**
316 * Deserialize this header from a Per-STA Profile subelement of a Multi-Link Element.
317 *
318 * \param start an iterator which points to where the header should be read from
319 * \param length the expected number of bytes to read
320 * \param frame the frame containing the Multi-Link Element
321 * \return the number of bytes read
322 */
324 uint16_t length,
325 const MgtReassocRequestHeader& frame);
326
327 private:
328 Mac48Address m_currentApAddr; //!< Address of the current access point
329 CapabilityInformation m_capability; //!< Capability information
330 uint16_t m_listenInterval{0}; //!< listen interval
331};
332
333/**
334 * \ingroup wifi
335 * Implement the header for management frames of type association and reassociation response.
336 */
338 : public MgtHeaderInPerStaProfile<MgtAssocResponseHeader, AssocResponseElems>
339{
342
343 public:
344 ~MgtAssocResponseHeader() override = default;
345
346 /**
347 * Register this type.
348 * \return The TypeId.
349 */
350 static TypeId GetTypeId();
351
352 /** \copydoc Header::GetInstanceTypeId */
353 TypeId GetInstanceTypeId() const override;
354
355 /**
356 * Return the status code.
357 *
358 * \return the status code
359 */
361 /**
362 * Set the status code.
363 *
364 * \param code the status code
365 */
366 void SetStatusCode(StatusCode code);
367 /**
368 * \return a reference to the Capability information
369 */
371 /**
372 * \return a const reference to the Capability information
373 */
374 const CapabilityInformation& Capabilities() const;
375 /**
376 * Return the association ID.
377 *
378 * \return the association ID
379 */
380 uint16_t GetAssociationId() const;
381 /**
382 * Set the association ID.
383 *
384 * \param aid the association ID
385 */
386 void SetAssociationId(uint16_t aid);
387
388 protected:
389 /** \copydoc Header::GetSerializedSize */
391 /** \copydoc Header::Serialize */
392 void SerializeImpl(Buffer::Iterator start) const;
393 /** \copydoc Header::Deserialize */
395 /** \copydoc Header::Print */
396 void PrintImpl(std::ostream& os) const;
397
398 /**
399 * \param frame the frame containing the Multi-Link Element
400 * \return the number of bytes that are needed to serialize this header into a Per-STA Profile
401 * subelement of the Multi-Link Element
402 */
404
405 /**
406 * Serialize this header into a Per-STA Profile subelement of a Multi-Link Element
407 *
408 * \param start an iterator which points to where the header should be written
409 * \param frame the frame containing the Multi-Link Element
410 */
412 const MgtAssocResponseHeader& frame) const;
413
414 /**
415 * Deserialize this header from a Per-STA Profile subelement of a Multi-Link Element.
416 *
417 * \param start an iterator which points to where the header should be read from
418 * \param length the expected number of bytes to read
419 * \param frame the frame containing the Multi-Link Element
420 * \return the number of bytes read
421 */
423 uint16_t length,
424 const MgtAssocResponseHeader& frame);
425
426 private:
427 CapabilityInformation m_capability; //!< Capability information
428 StatusCode m_code; //!< Status code
429 uint16_t m_aid{0}; //!< AID
430};
431
432/**
433 * \ingroup wifi
434 * Implement the header for management frames of type probe request.
435 */
436class MgtProbeRequestHeader : public WifiMgtHeader<MgtProbeRequestHeader, ProbeRequestElems>
437{
438 public:
439 ~MgtProbeRequestHeader() override = default;
440
441 /**
442 * Register this type.
443 * \return The TypeId.
444 */
445 static TypeId GetTypeId();
446
447 /** \copydoc Header::GetInstanceTypeId */
448 TypeId GetInstanceTypeId() const override;
449};
450
451/**
452 * \ingroup wifi
453 * Implement the header for management frames of type probe response.
454 */
455class MgtProbeResponseHeader : public WifiMgtHeader<MgtProbeResponseHeader, ProbeResponseElems>
456{
458
459 public:
460 ~MgtProbeResponseHeader() override = default;
461
462 /**
463 * Register this type.
464 * \return The TypeId.
465 */
466 static TypeId GetTypeId();
467
468 /** \copydoc Header::GetInstanceTypeId */
469 TypeId GetInstanceTypeId() const override;
470
471 /**
472 * Return the beacon interval in microseconds unit.
473 *
474 * \return beacon interval in microseconds unit
475 */
476 uint64_t GetBeaconIntervalUs() const;
477 /**
478 * Set the beacon interval in microseconds unit.
479 *
480 * \param us beacon interval in microseconds unit
481 */
482 void SetBeaconIntervalUs(uint64_t us);
483 /**
484 * \return a reference to the Capability information
485 */
487 /**
488 * \return a const reference to the Capability information
489 */
490 const CapabilityInformation& Capabilities() const;
491 /**
492 * Return the time stamp.
493 *
494 * \return time stamp
495 */
496 uint64_t GetTimestamp() const;
497
498 protected:
499 /** \copydoc Header::GetSerializedSize */
501 /** \copydoc Header::Serialize*/
502 void SerializeImpl(Buffer::Iterator start) const;
503 /** \copydoc Header::Deserialize */
505
506 private:
507 uint64_t m_timestamp; //!< Timestamp
508 uint64_t m_beaconInterval; //!< Beacon interval
509 CapabilityInformation m_capability; //!< Capability information
510};
511
512/**
513 * \ingroup wifi
514 * Implement the header for management frames of type beacon.
515 */
517{
518 public:
519 ~MgtBeaconHeader() override = default;
520
521 /**
522 * Register this type.
523 * \return The TypeId.
524 */
525 static TypeId GetTypeId();
526};
527
528} // namespace ns3
529
530#endif /* MGT_HEADERS_H */
iterator in a Buffer instance
Definition: buffer.h:100
an EUI-48 address
Definition: mac48-address.h:46
Implement the header for management frames of type association request.
Definition: mgt-headers.h:162
uint32_t GetSerializedSizeImpl() const
Definition: mgt-headers.cc:199
uint32_t DeserializeImpl(Buffer::Iterator start)
Definition: mgt-headers.cc:244
CapabilityInformation & Capabilities()
Definition: mgt-headers.cc:193
uint32_t DeserializeFromPerStaProfileImpl(Buffer::Iterator start, uint16_t length, const MgtAssocRequestHeader &frame)
Deserialize this header from a Per-STA Profile subelement of a Multi-Link Element.
Definition: mgt-headers.cc:270
~MgtAssocRequestHeader() override=default
void SerializeImpl(Buffer::Iterator start) const
Definition: mgt-headers.cc:223
CapabilityInformation m_capability
Capability information.
Definition: mgt-headers.h:236
void SerializeInPerStaProfileImpl(Buffer::Iterator start, const MgtAssocRequestHeader &frame) const
Serialize this header into a Per-STA Profile subelement of a Multi-Link Element.
Definition: mgt-headers.cc:234
void SetListenInterval(uint16_t interval)
Set the listen interval.
Definition: mgt-headers.cc:181
uint16_t GetListenInterval() const
Return the listen interval.
Definition: mgt-headers.cc:175
uint16_t m_listenInterval
listen interval
Definition: mgt-headers.h:237
uint32_t GetSerializedSizeInPerStaProfileImpl(const MgtAssocRequestHeader &frame) const
Definition: mgt-headers.cc:211
static TypeId GetTypeId()
Register this type.
Definition: mgt-headers.cc:159
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
Definition: mgt-headers.cc:169
Implement the header for management frames of type association and reassociation response.
Definition: mgt-headers.h:339
CapabilityInformation & Capabilities()
Definition: mgt-headers.cc:474
static TypeId GetTypeId()
Register this type.
Definition: mgt-headers.cc:440
StatusCode GetStatusCode()
Return the status code.
Definition: mgt-headers.cc:456
~MgtAssocResponseHeader() override=default
uint32_t GetSerializedSizeImpl() const
Definition: mgt-headers.cc:492
uint32_t DeserializeFromPerStaProfileImpl(Buffer::Iterator start, uint16_t length, const MgtAssocResponseHeader &frame)
Deserialize this header from a Per-STA Profile subelement of a Multi-Link Element.
Definition: mgt-headers.cc:573
uint32_t DeserializeImpl(Buffer::Iterator start)
Definition: mgt-headers.cc:549
void SetStatusCode(StatusCode code)
Set the status code.
Definition: mgt-headers.cc:462
uint32_t GetSerializedSizeInPerStaProfileImpl(const MgtAssocResponseHeader &frame) const
Definition: mgt-headers.cc:505
void SetAssociationId(uint16_t aid)
Set the association ID.
Definition: mgt-headers.cc:480
CapabilityInformation m_capability
Capability information.
Definition: mgt-headers.h:427
void SerializeImpl(Buffer::Iterator start) const
Definition: mgt-headers.cc:526
void PrintImpl(std::ostream &os) const
Definition: mgt-headers.cc:518
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
Definition: mgt-headers.cc:450
void SerializeInPerStaProfileImpl(Buffer::Iterator start, const MgtAssocResponseHeader &frame) const
Serialize this header into a Per-STA Profile subelement of a Multi-Link Element.
Definition: mgt-headers.cc:538
uint16_t GetAssociationId() const
Return the association ID.
Definition: mgt-headers.cc:486
StatusCode m_code
Status code.
Definition: mgt-headers.h:428
Implement the header for management frames of type beacon.
Definition: mgt-headers.h:517
static TypeId GetTypeId()
Register this type.
Definition: mgt-headers.cc:143
~MgtBeaconHeader() override=default
Implement the header for management frames that can be included in a Per-STA Profile subelement of a ...
Implement the header for management frames of type probe request.
Definition: mgt-headers.h:437
~MgtProbeRequestHeader() override=default
static TypeId GetTypeId()
Register this type.
Definition: mgt-headers.cc:37
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
Definition: mgt-headers.cc:47
Implement the header for management frames of type probe response.
Definition: mgt-headers.h:456
uint64_t GetTimestamp() const
Return the time stamp.
Definition: mgt-headers.cc:99
uint64_t m_beaconInterval
Beacon interval.
Definition: mgt-headers.h:508
uint32_t GetSerializedSizeImpl() const
Definition: mgt-headers.cc:105
static TypeId GetTypeId()
Register this type.
Definition: mgt-headers.cc:59
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
Definition: mgt-headers.cc:69
uint32_t DeserializeImpl(Buffer::Iterator start)
Definition: mgt-headers.cc:124
~MgtProbeResponseHeader() override=default
void SetBeaconIntervalUs(uint64_t us)
Set the beacon interval in microseconds unit.
Definition: mgt-headers.cc:81
uint64_t GetBeaconIntervalUs() const
Return the beacon interval in microseconds unit.
Definition: mgt-headers.cc:75
void SerializeImpl(Buffer::Iterator start) const
Definition: mgt-headers.cc:114
CapabilityInformation m_capability
Capability information.
Definition: mgt-headers.h:509
uint64_t m_timestamp
Timestamp.
Definition: mgt-headers.h:507
CapabilityInformation & Capabilities()
Definition: mgt-headers.cc:93
Implement the header for management frames of type reassociation request.
Definition: mgt-headers.h:246
Mac48Address m_currentApAddr
Address of the current access point.
Definition: mgt-headers.h:328
uint16_t m_listenInterval
listen interval
Definition: mgt-headers.h:330
uint16_t GetListenInterval() const
Return the listen interval.
Definition: mgt-headers.cc:307
static TypeId GetTypeId()
Register this type.
Definition: mgt-headers.cc:291
CapabilityInformation & Capabilities()
Definition: mgt-headers.cc:325
void PrintImpl(std::ostream &os) const
Definition: mgt-headers.cc:362
void SerializeInPerStaProfileImpl(Buffer::Iterator start, const MgtReassocRequestHeader &frame) const
Serialize this header into a Per-STA Profile subelement of a Multi-Link Element.
Definition: mgt-headers.cc:381
uint32_t DeserializeImpl(Buffer::Iterator start)
Definition: mgt-headers.cc:391
void SerializeImpl(Buffer::Iterator start) const
Definition: mgt-headers.cc:369
void SetListenInterval(uint16_t interval)
Set the listen interval.
Definition: mgt-headers.cc:313
~MgtReassocRequestHeader() override=default
CapabilityInformation m_capability
Capability information.
Definition: mgt-headers.h:329
uint32_t GetSerializedSizeInPerStaProfileImpl(const MgtReassocRequestHeader &frame) const
Definition: mgt-headers.cc:350
uint32_t DeserializeFromPerStaProfileImpl(Buffer::Iterator start, uint16_t length, const MgtReassocRequestHeader &frame)
Deserialize this header from a Per-STA Profile subelement of a Multi-Link Element.
Definition: mgt-headers.cc:418
uint32_t GetSerializedSizeImpl() const
Definition: mgt-headers.cc:337
void SetCurrentApAddress(Mac48Address currentApAddr)
Set the address of the current access point.
Definition: mgt-headers.cc:331
TypeId GetInstanceTypeId() const override
Get the most derived TypeId for this Object.
Definition: mgt-headers.cc:301
The Reduced Neighbor Report element.
The IEEE 802.11 SSID Information Element.
Definition: ssid.h:36
Status code for association response.
Definition: status-code.h:32
The Supported Rates Information Element.
a unique identifier for an interface.
Definition: type-id.h:59
Implement the header for management frames.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
std::tuple< Ssid, SupportedRates, std::optional< ExtendedSupportedRatesIE >, std::optional< HtCapabilities >, std::optional< ExtendedCapabilities >, std::optional< VhtCapabilities >, std::optional< HeCapabilities >, std::optional< He6GhzBandCapabilities >, std::optional< EhtCapabilities > > ProbeRequestElems
List of Information Elements included in Probe Request frames.
Definition: mgt-headers.h:101
std::tuple< Ssid, SupportedRates, std::optional< DsssParameterSet >, std::optional< ErpInformation >, std::optional< ExtendedSupportedRatesIE >, std::optional< EdcaParameterSet >, std::optional< HtCapabilities >, std::optional< HtOperation >, std::optional< ExtendedCapabilities >, std::optional< VhtCapabilities >, std::optional< VhtOperation >, std::optional< ReducedNeighborReport >, std::optional< HeCapabilities >, std::optional< HeOperation >, std::optional< MuEdcaParameterSet >, std::optional< He6GhzBandCapabilities >, std::optional< MultiLinkElement >, std::optional< EhtCapabilities >, std::optional< EhtOperation >, std::vector< TidToLinkMapping > > ProbeResponseElems
List of Information Elements included in Probe Response frames.
Definition: mgt-headers.h:123
std::tuple< Ssid, SupportedRates, std::optional< ExtendedSupportedRatesIE >, std::optional< HtCapabilities >, std::optional< ExtendedCapabilities >, std::optional< VhtCapabilities >, std::optional< HeCapabilities >, std::optional< He6GhzBandCapabilities >, std::optional< MultiLinkElement >, std::optional< EhtCapabilities >, std::vector< TidToLinkMapping > > AssocRequestElems
List of Information Elements included in Association Request frames.
Definition: mgt-headers.h:136
std::tuple< SupportedRates, std::optional< ExtendedSupportedRatesIE >, std::optional< EdcaParameterSet >, std::optional< HtCapabilities >, std::optional< HtOperation >, std::optional< ExtendedCapabilities >, std::optional< VhtCapabilities >, std::optional< VhtOperation >, std::optional< HeCapabilities >, std::optional< HeOperation >, std::optional< MuEdcaParameterSet >, std::optional< He6GhzBandCapabilities >, std::optional< MultiLinkElement >, std::optional< EhtCapabilities >, std::optional< EhtOperation >, std::vector< TidToLinkMapping > > AssocResponseElems
List of Information Elements included in Association Response frames.
Definition: mgt-headers.h:154
Inspect a type to deduce whether it is an Information Element that can be included in a Per-STA Profi...