author | Lalith Suresh <suresh.lalith@gmail.com> |
Fri, 04 Mar 2011 01:26:54 +0000 | |
changeset 6852 | 8f1a53d3f6ca |
parent 6848 | src/devices/wifi/model/supported-rates.h@1f453ad50ef3 |
child 7139 | 79dd02ed46ec |
permissions | -rw-r--r-- |
1936
61d6404e66d8
add SupportedRates to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
1 |
/* -*- Mode: C++; c-file-style: "gnu"; indent-tabs-mode:nil; -*- */ |
61d6404e66d8
add SupportedRates to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
2 |
/* |
61d6404e66d8
add SupportedRates to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
3 |
* Copyright (c) 2006 INRIA |
61d6404e66d8
add SupportedRates to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
4 |
* |
61d6404e66d8
add SupportedRates to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
5 |
* This program is free software; you can redistribute it and/or modify |
61d6404e66d8
add SupportedRates to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
6 |
* it under the terms of the GNU General Public License version 2 as |
61d6404e66d8
add SupportedRates to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
7 |
* published by the Free Software Foundation; |
61d6404e66d8
add SupportedRates to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
8 |
* |
61d6404e66d8
add SupportedRates to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
9 |
* This program is distributed in the hope that it will be useful, |
61d6404e66d8
add SupportedRates to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
10 |
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
61d6404e66d8
add SupportedRates to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
11 |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
61d6404e66d8
add SupportedRates to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
12 |
* GNU General Public License for more details. |
61d6404e66d8
add SupportedRates to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
13 |
* |
61d6404e66d8
add SupportedRates to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
14 |
* You should have received a copy of the GNU General Public License |
61d6404e66d8
add SupportedRates to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
15 |
* along with this program; if not, write to the Free Software |
61d6404e66d8
add SupportedRates to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
16 |
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
61d6404e66d8
add SupportedRates to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
17 |
* |
61d6404e66d8
add SupportedRates to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
18 |
* Author: Mathieu Lacage <mathieu.lacage@sophia.inria.fr> |
61d6404e66d8
add SupportedRates to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
19 |
*/ |
61d6404e66d8
add SupportedRates to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
20 |
#ifndef SUPPORTED_RATES_H |
61d6404e66d8
add SupportedRates to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
21 |
#define SUPPORTED_RATES_H |
61d6404e66d8
add SupportedRates to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
22 |
|
61d6404e66d8
add SupportedRates to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
23 |
#include <stdint.h> |
3365
6409d2460601
bug 245: build failure with gcc 4.3.x
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
2013
diff
changeset
|
24 |
#include <ostream> |
1936
61d6404e66d8
add SupportedRates to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
25 |
#include "ns3/buffer.h" |
6381
cbc1b93b298a
Bug 881: Make Ssid and SupportedRates derive from WifiInformationElement
Dean Armstrong <deanarm@gmail.com>
parents:
3365
diff
changeset
|
26 |
#include "ns3/wifi-information-element.h" |
1936
61d6404e66d8
add SupportedRates to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
27 |
|
61d6404e66d8
add SupportedRates to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
28 |
namespace ns3 { |
61d6404e66d8
add SupportedRates to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
29 |
|
6596
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
30 |
/** |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
31 |
* This defines the maximum number of supported rates that a STA is |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
32 |
* allowed to have. Currently this number is set for IEEE 802.11b/g |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
33 |
* stations which need 2 rates each from Clauses 15 and 18, and then 8 |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
34 |
* from Clause 19. |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
35 |
*/ |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
36 |
#define MAX_SUPPORTED_RATES (12) |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
37 |
|
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
38 |
class SupportedRates; |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
39 |
|
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
40 |
/** |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
41 |
* \brief The Extended Supported Rates Information Element |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
42 |
* |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
43 |
* This class knows how to serialise and deserialise the Extended |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
44 |
* Supported Rates Element that holds (non-HT) rates beyond the 8 that |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
45 |
* the original Supported Rates element can carry. |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
46 |
* |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
47 |
* The \c SupportedRates class still records all the rates, and an |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
48 |
* instance of \c ExtendedSupportedRatesIE lies within \c |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
49 |
* SupportedRates. |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
50 |
*/ |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
51 |
class ExtendedSupportedRatesIE : public WifiInformationElement { |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
52 |
public: |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
53 |
ExtendedSupportedRatesIE (); |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
54 |
ExtendedSupportedRatesIE (SupportedRates *rates); |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
55 |
|
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
56 |
WifiInformationElementId ElementId () const; |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
57 |
uint8_t GetInformationFieldSize () const; |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
58 |
void SerializeInformationField (Buffer::Iterator start) const; |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
59 |
uint8_t DeserializeInformationField (Buffer::Iterator start, |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
60 |
uint8_t length); |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
61 |
|
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
62 |
/* |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
63 |
* This information element is a bit special in that it is only |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
64 |
* included if there are more than 8 rates. To support this we |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
65 |
* override the Serialize and GetSerializedSize methods of |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
66 |
* WifiInformationElement. |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
67 |
*/ |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
68 |
Buffer::Iterator Serialize (Buffer::Iterator start) const; |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
69 |
uint16_t GetSerializedSize () const; |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
70 |
private: |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
71 |
/** |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
72 |
* This member points to the SupportedRates object that contains the |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
73 |
* actual rate details. This class is a friend of that, so we have |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
74 |
* access to all the private data we need. |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
75 |
*/ |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
76 |
SupportedRates *m_supportedRates; |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
77 |
}; |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
78 |
|
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
79 |
|
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
80 |
/** |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
81 |
* \brief The Supported Rates Information Element |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
82 |
* |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
83 |
* This class knows how to serialise and deserialise the Supported |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
84 |
* Rates Element that holds the first 8 (non-HT) supported rates. |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
85 |
* |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
86 |
* The \c ExtendedSupportedRatesIE class (of which an instance exists |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
87 |
* in objects of this class) deals with rates beyond the first 8. |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
88 |
*/ |
6381
cbc1b93b298a
Bug 881: Make Ssid and SupportedRates derive from WifiInformationElement
Dean Armstrong <deanarm@gmail.com>
parents:
3365
diff
changeset
|
89 |
class SupportedRates : public WifiInformationElement { |
1936
61d6404e66d8
add SupportedRates to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
90 |
public: |
61d6404e66d8
add SupportedRates to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
91 |
SupportedRates (); |
61d6404e66d8
add SupportedRates to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
92 |
|
61d6404e66d8
add SupportedRates to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
93 |
void AddSupportedRate (uint32_t bs); |
61d6404e66d8
add SupportedRates to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
94 |
void SetBasicRate (uint32_t bs); |
61d6404e66d8
add SupportedRates to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
95 |
|
61d6404e66d8
add SupportedRates to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
96 |
bool IsSupportedRate (uint32_t bs) const; |
61d6404e66d8
add SupportedRates to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
97 |
bool IsBasicRate (uint32_t bs) const; |
61d6404e66d8
add SupportedRates to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
98 |
|
61d6404e66d8
add SupportedRates to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
99 |
uint8_t GetNRates (void) const; |
2013
4a5335c67eac
add printing support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1938
diff
changeset
|
100 |
uint32_t GetRate (uint8_t i) const; |
1936
61d6404e66d8
add SupportedRates to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
101 |
|
6381
cbc1b93b298a
Bug 881: Make Ssid and SupportedRates derive from WifiInformationElement
Dean Armstrong <deanarm@gmail.com>
parents:
3365
diff
changeset
|
102 |
WifiInformationElementId ElementId () const; |
6382
9e5768e48981
Bug 881: WifiInformationElement method renaming
Dean Armstrong <deanarm@gmail.com>
parents:
6381
diff
changeset
|
103 |
uint8_t GetInformationFieldSize () const; |
9e5768e48981
Bug 881: WifiInformationElement method renaming
Dean Armstrong <deanarm@gmail.com>
parents:
6381
diff
changeset
|
104 |
void SerializeInformationField (Buffer::Iterator start) const; |
9e5768e48981
Bug 881: WifiInformationElement method renaming
Dean Armstrong <deanarm@gmail.com>
parents:
6381
diff
changeset
|
105 |
uint8_t DeserializeInformationField (Buffer::Iterator start, |
6381
cbc1b93b298a
Bug 881: Make Ssid and SupportedRates derive from WifiInformationElement
Dean Armstrong <deanarm@gmail.com>
parents:
3365
diff
changeset
|
106 |
uint8_t length); |
6596
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
107 |
|
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
108 |
/* |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
109 |
* We support the Extended Supported Rates Information Element |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
110 |
* through the ExtendedSupportedRatesIE object which is declared |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
111 |
* above. We allow this class to be a friend so that it can access |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
112 |
* our private data detailing the rates, and create an instance as |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
113 |
* extended. |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
114 |
*/ |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
115 |
friend class ExtendedSupportedRatesIE; |
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
116 |
ExtendedSupportedRatesIE extended; |
1936
61d6404e66d8
add SupportedRates to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
117 |
private: |
61d6404e66d8
add SupportedRates to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
118 |
uint8_t m_nRates; |
6596
6c562767d7b5
Bug 852: Implement IEEE 802.11 Extended Supported Rates information element
Dean Armstrong <deanarm@gmail.com>
parents:
6382
diff
changeset
|
119 |
uint8_t m_rates[MAX_SUPPORTED_RATES]; |
1936
61d6404e66d8
add SupportedRates to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
120 |
}; |
61d6404e66d8
add SupportedRates to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
121 |
|
2013
4a5335c67eac
add printing support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1938
diff
changeset
|
122 |
std::ostream &operator << (std::ostream &os, const SupportedRates &rates); |
4a5335c67eac
add printing support
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
1938
diff
changeset
|
123 |
|
1936
61d6404e66d8
add SupportedRates to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
124 |
} // namespace ns3 |
61d6404e66d8
add SupportedRates to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
125 |
|
61d6404e66d8
add SupportedRates to build
Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
parents:
diff
changeset
|
126 |
#endif /* SUPPORTED_RATES_H */ |