A Discrete-Event Network Simulator
API
peer-link-frame.h
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2009 IITP RAS
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  * Authors: Kirill Andreev <andreev@iitp.ru>
19  */
20 
21 #ifndef PEER_LINK_FRAME_START_H
22 #define PEER_LINK_FRAME_START_H
23 #include "ns3/header.h"
24 #include "ns3/supported-rates.h"
25 #include "dot11s-mac-header.h"
28 #include "ie-dot11s-id.h"
29 namespace ns3
30 {
31 namespace dot11s
32 {
44 class PeerLinkOpenStart : public Header
45 {
46 public:
50  {
52  uint16_t capability;
56  };
67 
72  static TypeId GetTypeId ();
73  // Inherited from header:
74  virtual TypeId GetInstanceTypeId () const;
75  virtual void Print (std::ostream &os) const;
76  virtual uint32_t GetSerializedSize () const;
77  virtual void Serialize (Buffer::Iterator start) const;
78  virtual uint32_t Deserialize (Buffer::Iterator start);
79 
80 private:
81  uint16_t m_capability;
85 
93  friend bool operator== (const PeerLinkOpenStart & a, const PeerLinkOpenStart & b);
94 
105  PeerLinkOpenStart (const PeerLinkOpenStart & peer);
106 
107 };
108 
109 bool operator== (const PeerLinkOpenStart & a, const PeerLinkOpenStart & b);
110 
120 {
121 public:
125  {
128  };
133  void SetPlinkCloseStart (PlinkCloseStartFields fields);
139 
144  static TypeId GetTypeId ();
145  // Inherited from header:
146  virtual TypeId GetInstanceTypeId () const;
147  virtual void Print (std::ostream &os) const;
148  virtual uint32_t GetSerializedSize () const;
149  virtual void Serialize (Buffer::Iterator start) const;
150  virtual uint32_t Deserialize (Buffer::Iterator start);
151 
152 private:
154 
162  friend bool operator== (const PeerLinkCloseStart & a, const PeerLinkCloseStart & b);
163 
173 
174 };
175 bool operator== (const PeerLinkCloseStart & a, const PeerLinkCloseStart & b);
176 
188 {
189 public:
193  {
195  uint16_t capability;
196  uint16_t aid;
199  };
204  void SetPlinkConfirmStart (PlinkConfirmStartFields fields);
210 
215  static TypeId GetTypeId ();
216  // Inherited from header:
217  virtual TypeId GetInstanceTypeId () const;
218  virtual void Print (std::ostream &os) const;
219  virtual uint32_t GetSerializedSize () const;
220  virtual void Serialize (Buffer::Iterator start) const;
221  virtual uint32_t Deserialize (Buffer::Iterator start);
222 
223 private:
224  uint16_t m_capability;
225  uint16_t m_aid;
228 
236  friend bool operator== (const PeerLinkConfirmStart & a, const PeerLinkConfirmStart & b);
237 
249 
250 };
251 bool operator== (const PeerLinkConfirmStart & a, const PeerLinkConfirmStart & b);
252 } // namespace dot11s
253 } // namespace ns3
254 #endif
Protocol header serialization and deserialization.
Definition: header.h:42
def start()
Definition: core.py:1806
a IEEE 802.11 Mesh ID element (Section 8.4.2.101 of IEEE 802.11-2012)
Definition: ie-dot11s-id.h:34
The Supported Rates Information ElementThis class knows how to serialise and deserialise the Supporte...
iterator in a Buffer instance
Definition: buffer.h:98
Every class exported by the ns3 library is enclosed in the ns3 namespace.
Describes Mesh Configuration Element see 7.3.2.86 of 802.11s draft 3.0.
a unique identifier for an interface.
Definition: type-id.h:58
Mesh Peering Protocol Identifier information element Note that it does not permit to set any value be...