A Discrete-Event Network Simulator
API
Loading...
Searching...
No Matches
capability-information.cc
Go to the documentation of this file.
1/*
2 * Copyright (c) 2006 INRIA
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: Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
18 */
19
21
22namespace ns3
23{
24
26 : m_capability(0)
27{
28}
29
30void
32{
33 Set(0);
34 Clear(1);
35}
36
37void
39{
40 Clear(0);
41 Set(1);
42}
43
44void
46{
47 if (shortPreamble)
48 {
49 Set(5);
50 }
51}
52
53void
55{
56 if (shortSlotTime)
57 {
58 Set(10);
59 }
60}
61
62void
64{
65 Set(2);
66}
67
68bool
70{
71 return Is(0);
72}
73
74bool
76{
77 return Is(1);
78}
79
80bool
82{
83 return Is(5);
84}
85
86bool
88{
89 return Is(10);
90}
91
92bool
94{
95 return Is(2);
96}
97
98void
100{
101 uint32_t mask = 1 << n;
102 m_capability |= mask;
103}
104
105void
107{
108 uint32_t mask = 1 << n;
109 m_capability &= ~mask;
110}
111
112bool
114{
115 uint32_t mask = 1 << n;
116 return (m_capability & mask) == mask;
117}
118
121{
122 return 2;
123}
124
127{
128 start.WriteHtolsbU16(m_capability);
129 return start;
130}
131
134{
135 m_capability = start.ReadLsbtohU16();
136 return start;
137}
138
139} // namespace ns3
iterator in a Buffer instance
Definition: buffer.h:100
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.
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.