A Discrete-Event Network Simulator
API
capability-information.cc
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2006 INRIA
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  * Author: Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
19  */
20 
21 #include "capability-information.h"
22 
23 namespace ns3 {
24 
26  : m_capability (0)
27 {
28 }
29 
30 void
32 {
33  Set (0);
34  Clear (1);
35 }
36 
37 void
39 {
40  Clear (0);
41  Set (1);
42 }
43 
44 void
46 {
47  if (shortPreamble)
48  {
49  Set (5);
50  }
51 }
52 
53 void
55 {
56  if (shortSlotTime)
57  {
58  Set (10);
59  }
60 }
61 
62 void
64 {
65  Set (2);
66 }
67 
68 bool
70 {
71  return Is (0);
72 }
73 
74 bool
76 {
77  return Is (1);
78 }
79 
80 bool
82 {
83  return Is (5);
84 }
85 
86 bool
88 {
89  return Is (10);
90 }
91 
92 bool
94 {
95  return Is (2);
96 }
97 
98 void
100 {
101  uint32_t mask = 1 << n;
102  m_capability |= mask;
103 }
104 
105 void
107 {
108  uint32_t mask = 1 << n;
109  m_capability &= ~mask;
110 }
111 
112 bool
114 {
115  uint32_t mask = 1 << n;
116  return (m_capability & mask) == mask;
117 }
118 
119 uint32_t
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
ns3::CapabilityInformation::CapabilityInformation
CapabilityInformation()
Definition: capability-information.cc:25
ns3::CapabilityInformation::Serialize
Buffer::Iterator Serialize(Buffer::Iterator start) const
Serialize capability information to the given buffer.
Definition: capability-information.cc:126
ns3::CapabilityInformation::IsCfPollable
bool IsCfPollable(void) const
Check if the CF-Pollable bit in the capability information field is set to 1.
Definition: capability-information.cc:93
ns3::CapabilityInformation::SetEss
void SetEss(void)
Set the Extended Service Set (ESS) bit in the capability information field.
Definition: capability-information.cc:31
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::CapabilityInformation::Set
void Set(uint8_t n)
Set bit n to 1.
Definition: capability-information.cc:99
ns3::CapabilityInformation::IsEss
bool IsEss(void) const
Check if the Extended Service Set (ESS) bit in the capability information field is set to 1.
Definition: capability-information.cc:69
capability-information.h
ns3::CapabilityInformation::Is
bool Is(uint8_t n) const
Check if bit n is set to 1.
Definition: capability-information.cc:113
ns3::CapabilityInformation::SetShortPreamble
void SetShortPreamble(bool shortPreamble)
Set the short preamble bit in the capability information field.
Definition: capability-information.cc:45
ns3::CapabilityInformation::IsIbss
bool IsIbss(void) const
Check if the Independent BSS (IBSS) bit in the capability information field is set to 1.
Definition: capability-information.cc:75
visualizer.core.start
def start()
Definition: core.py:1855
ns3::CapabilityInformation::GetSerializedSize
uint32_t GetSerializedSize(void) const
Return the serialized size of capability information.
Definition: capability-information.cc:120
ns3::CapabilityInformation::SetIbss
void SetIbss(void)
Set the Independent BSS (IBSS) bit in the capability information field.
Definition: capability-information.cc:38
ns3::CapabilityInformation::m_capability
uint16_t m_capability
capability
Definition: capability-information.h:159
ns3::CapabilityInformation::Clear
void Clear(uint8_t n)
Set bit n to 0.
Definition: capability-information.cc:106
ns3::Buffer::Iterator
iterator in a Buffer instance
Definition: buffer.h:99
ns3::CapabilityInformation::Deserialize
Buffer::Iterator Deserialize(Buffer::Iterator start)
Deserialize capability information from the given buffer.
Definition: capability-information.cc:133
ns3::CapabilityInformation::IsShortPreamble
bool IsShortPreamble(void) const
Check if the short preamble bit in the capability information field is set to 1.
Definition: capability-information.cc:81
ns3::CapabilityInformation::IsShortSlotTime
bool IsShortSlotTime(void) const
Check if the short slot time in the capability information field is set to 1.
Definition: capability-information.cc:87
ns3::CapabilityInformation::SetCfPollable
void SetCfPollable(void)
Set the CF-Pollable bit in the capability information field.
Definition: capability-information.cc:63
sample-rng-plot.n
n
Definition: sample-rng-plot.py:37
ns3::CapabilityInformation::SetShortSlotTime
void SetShortSlotTime(bool shortSlotTime)
Set the short slot time bit in the capability information field.
Definition: capability-information.cc:54