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
22
23namespace ns3 {
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:99
void SetIbss(void)
Set the Independent BSS (IBSS) bit in the capability information field.
bool IsShortPreamble(void) const
Check if the short preamble bit in the capability information field is set to 1.
void SetCfPollable(void)
Set the CF-Pollable bit in the capability information field.
bool IsCfPollable(void) const
Check if the CF-Pollable bit in the capability information field is set to 1.
Buffer::Iterator Serialize(Buffer::Iterator start) const
Serialize capability information to the given buffer.
bool IsShortSlotTime(void) const
Check if the short slot time in the capability information field is set to 1.
bool IsIbss(void) const
Check if the Independent BSS (IBSS) bit in the capability information field is set to 1.
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.
void Clear(uint8_t n)
Set bit n to 0.
void SetShortPreamble(bool shortPreamble)
Set the short preamble bit in the capability information field.
void SetEss(void)
Set the Extended Service Set (ESS) bit in the capability information field.
bool Is(uint8_t n) const
Check if bit n is set to 1.
bool IsEss(void) const
Check if the Extended Service Set (ESS) bit in the capability information field is set to 1.
Buffer::Iterator Deserialize(Buffer::Iterator start)
Deserialize capability information from the given buffer.
uint32_t GetSerializedSize(void) const
Return the serialized size of capability information.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
def start()
Definition: core.py:1852