A Discrete-Event Network Simulator
API
peer-link-frame.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2009 IITP RAS
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 * Authors: Kirill Andreev <andreev@iitp.ru>
18 */
19
20#ifndef PEER_LINK_FRAME_START_H
21#define PEER_LINK_FRAME_START_H
22#include "dot11s-mac-header.h"
24#include "ie-dot11s-id.h"
26
27#include "ns3/header.h"
28#include "ns3/supported-rates.h"
29
30namespace ns3
31{
32namespace dot11s
33{
46{
47 public:
49
50 // Delete copy constructor and assignment operator to avoid misuse
53
56 {
58 uint16_t capability;
62 };
63
74
79 static TypeId GetTypeId();
80 // Inherited from header:
81 TypeId GetInstanceTypeId() const override;
82 void Print(std::ostream& os) const override;
83 uint32_t GetSerializedSize() const override;
84 void Serialize(Buffer::Iterator start) const override;
86
87 private:
88 uint16_t m_capability;
92
100 friend bool operator==(const PeerLinkOpenStart& a, const PeerLinkOpenStart& b);
101};
102
103bool operator==(const PeerLinkOpenStart& a, const PeerLinkOpenStart& b);
104
114{
115 public:
117
118 // Delete copy constructor and assignment operator to avoid misuse
121
124 {
127 };
128
139
144 static TypeId GetTypeId();
145 // Inherited from header:
146 TypeId GetInstanceTypeId() const override;
147 void Print(std::ostream& os) const override;
148 uint32_t GetSerializedSize() const override;
149 void Serialize(Buffer::Iterator start) const override;
151
152 private:
154
162 friend bool operator==(const PeerLinkCloseStart& a, const PeerLinkCloseStart& b);
163};
164
165bool operator==(const PeerLinkCloseStart& a, const PeerLinkCloseStart& b);
166
178{
179 public:
181
182 // Delete copy constructor and assignment operator to avoid misuse
185
188 {
190 uint16_t capability;
191 uint16_t aid;
194 };
195
206
211 static TypeId GetTypeId();
212 // Inherited from header:
213 TypeId GetInstanceTypeId() const override;
214 void Print(std::ostream& os) const override;
215 uint32_t GetSerializedSize() const override;
216 void Serialize(Buffer::Iterator start) const override;
218
219 private:
220 uint16_t m_capability;
221 uint16_t m_aid;
224
232 friend bool operator==(const PeerLinkConfirmStart& a, const PeerLinkConfirmStart& b);
233};
234
236} // namespace dot11s
237} // namespace ns3
238#endif
iterator in a Buffer instance
Definition: buffer.h:100
Protocol header serialization and deserialization.
Definition: header.h:44
The Supported Rates Information Element.
a unique identifier for an interface.
Definition: type-id.h:59
Describes Mesh Configuration Element see 7.3.2.86 of 802.11s draft 3.0.
a IEEE 802.11 Mesh ID element (Section 8.4.2.101 of IEEE 802.11-2012)
Definition: ie-dot11s-id.h:38
Mesh Peering Protocol Identifier information element Note that it does not permit to set any value be...
bool operator==(const MeshHeader &a, const MeshHeader &b)
Every class exported by the ns3 library is enclosed in the ns3 namespace.