A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Documentation ▼
Installation
Manual
Models
Contributing
Wiki
Development ▼
API Docs
Issue Tracker
Merge Requests
API
Loading...
Searching...
No Matches
capability-information.h
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
20
#ifndef CAPABILITY_INFORMATION_H
21
#define CAPABILITY_INFORMATION_H
22
23
#include "ns3/buffer.h"
24
25
namespace
ns3
26
{
27
28
/**
29
* \ingroup wifi
30
*
31
* Capability information
32
*/
33
class
CapabilityInformation
34
{
35
public
:
36
CapabilityInformation
();
37
38
/**
39
* Set the Extended Service Set (ESS) bit
40
* in the capability information field.
41
*/
42
void
SetEss
();
43
/**
44
* Set the Independent BSS (IBSS) bit
45
* in the capability information field.
46
*/
47
void
SetIbss
();
48
/**
49
* Set the short preamble bit
50
* in the capability information field.
51
*
52
* \param shortPreamble the short preamble bit
53
*
54
*/
55
void
SetShortPreamble
(
bool
shortPreamble);
56
/**
57
* Set the short slot time bit
58
* in the capability information field.
59
*
60
* \param shortSlotTime the short preamble bit
61
*
62
*/
63
void
SetShortSlotTime
(
bool
shortSlotTime);
64
/**
65
* Set the CF-Pollable bit
66
* in the capability information field.
67
*/
68
void
SetCfPollable
();
69
70
/**
71
* Check if the Extended Service Set (ESS) bit
72
* in the capability information field is set to 1.
73
*
74
* \return ESS bit in the capability information
75
* field is set to 1
76
*/
77
bool
IsEss
()
const
;
78
/**
79
* Check if the Independent BSS (IBSS) bit
80
* in the capability information field is set to 1.
81
*
82
* \return IBSS bit in the capability information
83
* field is set to 1
84
*/
85
bool
IsIbss
()
const
;
86
/**
87
* Check if the short preamble bit
88
* in the capability information field is set to 1.
89
*
90
* \return short preamble bit in the capability information
91
* field is set to 1
92
*/
93
bool
IsShortPreamble
()
const
;
94
/**
95
* Check if the short slot time
96
* in the capability information field is set to 1.
97
*
98
* \return short slot time bit in the capability information
99
* field is set to 1
100
*/
101
bool
IsShortSlotTime
()
const
;
102
/**
103
* Check if the CF-Pollable bit
104
* in the capability information field is set to 1.
105
*
106
* \return CF-Pollable bit in the capability information
107
* field is set to 1
108
*/
109
bool
IsCfPollable
()
const
;
110
111
/**
112
* Return the serialized size of capability
113
* information.
114
*
115
* \return the serialized size
116
*/
117
uint32_t
GetSerializedSize
()
const
;
118
/**
119
* Serialize capability information to the given buffer.
120
*
121
* \param start an iterator to a buffer
122
* \return an iterator to a buffer after capability information
123
* was serialized
124
*/
125
Buffer::Iterator
Serialize
(
Buffer::Iterator
start)
const
;
126
/**
127
* Deserialize capability information from the given buffer.
128
*
129
* \param start an iterator to a buffer
130
* \return an iterator to a buffer after capability information
131
* was deserialized
132
*/
133
Buffer::Iterator
Deserialize
(
Buffer::Iterator
start);
134
135
private
:
136
/**
137
* Check if bit n is set to 1.
138
*
139
* \param n the bit position
140
*
141
* \return true if bit n is set to 1,
142
* false otherwise
143
*/
144
bool
Is
(uint8_t n)
const
;
145
/**
146
* Set bit n to 1.
147
*
148
* \param n the bit position
149
*/
150
void
Set
(uint8_t n);
151
/**
152
* Set bit n to 0.
153
*
154
* \param n the bit position
155
*/
156
void
Clear
(uint8_t n);
157
158
uint16_t
m_capability
;
///< capability
159
};
160
161
}
// namespace ns3
162
163
#endif
/* CAPABILITY_INFORMATION_H */
ns3::Buffer::Iterator
iterator in a Buffer instance
Definition:
buffer.h:100
ns3::CapabilityInformation
Capability information.
Definition:
capability-information.h:34
ns3::CapabilityInformation::SetEss
void SetEss()
Set the Extended Service Set (ESS) bit in the capability information field.
Definition:
capability-information.cc:31
ns3::CapabilityInformation::IsShortSlotTime
bool IsShortSlotTime() const
Check if the short slot time in the capability information field is set to 1.
Definition:
capability-information.cc:87
ns3::CapabilityInformation::m_capability
uint16_t m_capability
capability
Definition:
capability-information.h:158
ns3::CapabilityInformation::GetSerializedSize
uint32_t GetSerializedSize() const
Return the serialized size of capability information.
Definition:
capability-information.cc:120
ns3::CapabilityInformation::CapabilityInformation
CapabilityInformation()
Definition:
capability-information.cc:25
ns3::CapabilityInformation::SetCfPollable
void SetCfPollable()
Set the CF-Pollable bit in the capability information field.
Definition:
capability-information.cc:63
ns3::CapabilityInformation::Serialize
Buffer::Iterator Serialize(Buffer::Iterator start) const
Serialize capability information to the given buffer.
Definition:
capability-information.cc:126
ns3::CapabilityInformation::Set
void Set(uint8_t n)
Set bit n to 1.
Definition:
capability-information.cc:99
ns3::CapabilityInformation::SetShortSlotTime
void SetShortSlotTime(bool shortSlotTime)
Set the short slot time bit in the capability information field.
Definition:
capability-information.cc:54
ns3::CapabilityInformation::IsEss
bool IsEss() const
Check if the Extended Service Set (ESS) bit in the capability information field is set to 1.
Definition:
capability-information.cc:69
ns3::CapabilityInformation::IsIbss
bool IsIbss() const
Check if the Independent BSS (IBSS) bit in the capability information field is set to 1.
Definition:
capability-information.cc:75
ns3::CapabilityInformation::Clear
void Clear(uint8_t n)
Set bit n to 0.
Definition:
capability-information.cc:106
ns3::CapabilityInformation::SetShortPreamble
void SetShortPreamble(bool shortPreamble)
Set the short preamble bit in the capability information field.
Definition:
capability-information.cc:45
ns3::CapabilityInformation::Is
bool Is(uint8_t n) const
Check if bit n is set to 1.
Definition:
capability-information.cc:113
ns3::CapabilityInformation::SetIbss
void SetIbss()
Set the Independent BSS (IBSS) bit in the capability information field.
Definition:
capability-information.cc:38
ns3::CapabilityInformation::Deserialize
Buffer::Iterator Deserialize(Buffer::Iterator start)
Deserialize capability information from the given buffer.
Definition:
capability-information.cc:133
ns3::CapabilityInformation::IsCfPollable
bool IsCfPollable() const
Check if the CF-Pollable bit in the capability information field is set to 1.
Definition:
capability-information.cc:93
ns3::CapabilityInformation::IsShortPreamble
bool IsShortPreamble() const
Check if the short preamble bit in the capability information field is set to 1.
Definition:
capability-information.cc:81
uint32_t
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
src
wifi
model
capability-information.h
Generated on Tue May 28 2024 23:40:07 for ns-3 by
1.9.6