A Discrete-Event Network Simulator
API
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
mgt-headers.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  * Copyright (c) 2009 MIRKO BANCHI
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License version 2 as
8  * published by the Free Software Foundation;
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
18  *
19  * Author: Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
20  * Author: Mirko Banchi <mk.banchi@gmail.com>
21  */
22 #include "mgt-headers.h"
23 #include "ns3/simulator.h"
24 #include "ns3/assert.h"
25 
26 namespace ns3 {
27 
28 /***********************************************************
29  * Probe Request
30  ***********************************************************/
31 
32 NS_OBJECT_ENSURE_REGISTERED (MgtProbeRequestHeader);
33 
35 {
36 }
37 
38 void
40 {
41  m_ssid = ssid;
42 }
43 Ssid
45 {
46  return m_ssid;
47 }
48 void
50 {
51  m_rates = rates;
52 }
53 void
55 {
56  m_htCapability=htcapabilities;
57 }
58 
61 {
62  return m_htCapability;
63 }
66 {
67  return m_rates;
68 }
69 uint32_t
71 {
72  uint32_t size = 0;
73  size += m_ssid.GetSerializedSize ();
74  size += m_rates.GetSerializedSize ();
77  return size;
78 }
79 TypeId
81 {
82  static TypeId tid = TypeId ("ns3::MgtProbeRequestHeader")
83  .SetParent<Header> ()
84  .AddConstructor<MgtProbeRequestHeader> ()
85  ;
86  return tid;
87 }
88 TypeId
90 {
91  return GetTypeId ();
92 }
93 void
94 MgtProbeRequestHeader::Print (std::ostream &os) const
95 {
96  os << "ssid=" << m_ssid << ", "
97  << "rates=" << m_rates << ", "
98  << "HT Capabilities=" << m_htCapability;
99 }
100 void
102 {
104  i = m_ssid.Serialize (i);
105  i = m_rates.Serialize (i);
106  i = m_rates.extended.Serialize (i);
107  i = m_htCapability.Serialize(i);
108 }
109 uint32_t
111 {
113  i = m_ssid.Deserialize (i);
114  i = m_rates.Deserialize (i);
117  return i.GetDistanceFrom (start);
118 }
119 
120 
121 /***********************************************************
122  * Probe Response
123  ***********************************************************/
124 
126 
128 {
129 }
131 {
132 }
133 uint64_t
135 {
136  return m_timestamp;
137 }
138 Ssid
140 {
141  return m_ssid;
142 }
143 uint64_t
145 {
146  return m_beaconInterval;
147 }
150 {
151  return m_rates;
152 }
153 void
155 {
156  m_htCapability=htcapabilities;
157 }
158 
161 {
162  return m_htCapability;
163 }
164 void
166 {
167  m_ssid = ssid;
168 }
169 void
171 {
172  m_beaconInterval = us;
173 }
174 void
176 {
177  m_rates = rates;
178 }
179 TypeId
181 {
182  static TypeId tid = TypeId ("ns3::MgtProbeResponseHeader")
183  .SetParent<Header> ()
184  .AddConstructor<MgtProbeResponseHeader> ()
185  ;
186  return tid;
187 }
188 TypeId
190 {
191  return GetTypeId ();
192 }
193 uint32_t
195 {
196  uint32_t size = 0;
197  size += 8; // timestamp
198  size += 2; // beacon interval
199  size += m_capability.GetSerializedSize ();
200  size += m_ssid.GetSerializedSize ();
201  size += m_rates.GetSerializedSize ();
202  //size += 3; // ds parameter set
205  // xxx
206  return size;
207 }
208 void
209 MgtProbeResponseHeader::Print (std::ostream &os) const
210 {
211  os << "ssid=" << m_ssid << ", "
212  << "rates=" << m_rates << ", "
213  << "HT Capabilities=" << m_htCapability;
214 }
215 void
217 {
218  // timestamp
219  // beacon interval
220  // capability information
221  // ssid
222  // supported rates
223  // fh parameter set
224  // ds parameter set
225  // cf parameter set
226  // ibss parameter set
227  //XXX
229  i.WriteHtolsbU64 (Simulator::Now ().GetMicroSeconds ());
230  i.WriteHtolsbU16 (m_beaconInterval / 1024);
231  i = m_capability.Serialize (i);
232  i = m_ssid.Serialize (i);
233  i = m_rates.Serialize (i);
234  //i.WriteU8 (0, 3); // ds parameter set.
235  i = m_rates.extended.Serialize (i);
236  i = m_htCapability.Serialize(i);
237 }
238 uint32_t
240 {
242  m_timestamp = i.ReadLsbtohU64 ();
244  m_beaconInterval *= 1024;
245  i = m_capability.Deserialize (i);
246  i = m_ssid.Deserialize (i);
247  i = m_rates.Deserialize (i);
248  //i.Next (3); // ds parameter set
251  return i.GetDistanceFrom (start);
252 }
253 
254 /***********************************************************
255  * Assoc Request
256  ***********************************************************/
257 
259 
261  : m_listenInterval (0)
262 {
263 }
265 {
266 }
267 
268 void
270 {
271  m_ssid = ssid;
272 }
273 void
275 {
276  m_rates = rates;
277 }
278 void
280 {
281  m_htCapability = htcapabilities;
282 }
283 void
285 {
286  m_listenInterval = interval;
287 }
290 {
291  return m_htCapability;
292 }
293 Ssid
295 {
296  return m_ssid;
297 }
300 {
301  return m_rates;
302 }
303 uint16_t
305 {
306  return m_listenInterval;
307 }
308 
309 TypeId
311 {
312  static TypeId tid = TypeId ("ns3::MgtAssocRequestHeader")
313  .SetParent<Header> ()
314  .AddConstructor<MgtAssocRequestHeader> ()
315  ;
316  return tid;
317 }
318 TypeId
320 {
321  return GetTypeId ();
322 }
323 uint32_t
325 {
326  uint32_t size = 0;
327  size += m_capability.GetSerializedSize ();
328  size += 2;
329  size += m_ssid.GetSerializedSize ();
330  size += m_rates.GetSerializedSize ();
333  return size;
334 }
335 void
336 MgtAssocRequestHeader::Print (std::ostream &os) const
337 {
338  os << "ssid=" << m_ssid << ", "
339  << "rates=" << m_rates<< ", "
340  << "HT Capabilities=" << m_htCapability;
341 }
342 void
344 {
346  i = m_capability.Serialize (i);
348  i = m_ssid.Serialize (i);
349  i = m_rates.Serialize (i);
350  i = m_rates.extended.Serialize (i);
351  i = m_htCapability.Serialize(i);
352 }
353 uint32_t
355 {
357  i = m_capability.Deserialize (i);
359  i = m_ssid.Deserialize (i);
360  i = m_rates.Deserialize (i);
363  return i.GetDistanceFrom (start);
364 }
365 
366 /***********************************************************
367  * Assoc Response
368  ***********************************************************/
369 
371 
373  : m_aid (0)
374 {
375 }
377 {
378 }
379 
382 {
383  return m_code;
384 }
387 {
388  return m_rates;
389 }
390 void
392 {
393  m_code = code;
394 }
395 void
397 {
398  m_rates = rates;
399 }
400 void
402 {
403  m_htCapability=htcapabilities;
404 }
405 
408 {
409  return m_htCapability;
410 }
411 TypeId
413 {
414  static TypeId tid = TypeId ("ns3::MgtAssocResponseHeader")
415  .SetParent<Header> ()
416  .AddConstructor<MgtAssocResponseHeader> ()
417  ;
418  return tid;
419 }
420 TypeId
422 {
423  return GetTypeId ();
424 }
425 uint32_t
427 {
428  uint32_t size = 0;
429  size += m_capability.GetSerializedSize ();
430  size += m_code.GetSerializedSize ();
431  size += 2; // aid
432  size += m_rates.GetSerializedSize ();
435  return size;
436 }
437 
438 void
439 MgtAssocResponseHeader::Print (std::ostream &os) const
440 {
441  os << "status code=" << m_code << ", "
442  << "rates=" << m_rates << ", "
443  << "HT Capabilities=" << m_htCapability;
444 }
445 void
447 {
449  i = m_capability.Serialize (i);
450  i = m_code.Serialize (i);
451  i.WriteHtolsbU16 (m_aid);
452  i = m_rates.Serialize (i);
453  i = m_rates.extended.Serialize (i);
454  i = m_htCapability.Serialize(i);
455 }
456 uint32_t
458 {
460  i = m_capability.Deserialize (i);
461  i = m_code.Deserialize (i);
462  m_aid = i.ReadLsbtohU16 ();
463  i = m_rates.Deserialize (i);
466  return i.GetDistanceFrom (start);
467 }
468 /**********************************************************
469  * ActionFrame
470  **********************************************************/
472 {
473 }
475 {
476 }
477 void
480 {
481  m_category = type;
482 
483  switch (type)
484  {
485  case BLOCK_ACK:
486  {
487  m_actionValue = action.blockAck;
488  break;
489  }
490  case MESH_PEERING_MGT:
491  {
492  m_actionValue = action.peerLink;
493  break;
494  }
495  case MESH_PATH_SELECTION:
496  {
497  m_actionValue = action.pathSelection;
498  break;
499  }
500  case MESH_LINK_METRIC:
501  case MESH_INTERWORKING:
504  break;
505  }
506 }
509 {
510  switch (m_category)
511  {
512  case BLOCK_ACK:
513  return BLOCK_ACK;
514  case MESH_PEERING_MGT:
515  return MESH_PEERING_MGT;
516  case MESH_LINK_METRIC:
517  return MESH_LINK_METRIC;
518  case MESH_PATH_SELECTION:
519  return MESH_PATH_SELECTION;
520  case MESH_INTERWORKING:
521  return MESH_INTERWORKING;
525  return MESH_PROXY_FORWARDING;
526  default:
527  NS_FATAL_ERROR ("Unknown action value");
528  return MESH_PEERING_MGT;
529  }
530 }
533 {
534  ActionValue retval;
535  retval.peerLink = PEER_LINK_OPEN; // Needs to be initialized to something to quiet valgrind in default cases
536  switch (m_category)
537  {
538  case BLOCK_ACK:
539  switch (m_actionValue)
540  {
543  break ;
546  break ;
547  case BLOCK_ACK_DELBA:
548  retval.blockAck = BLOCK_ACK_DELBA;
549  break ;
550  }
551  break ;
552 
553  case MESH_PEERING_MGT:
554  switch (m_actionValue)
555  {
556  case PEER_LINK_OPEN:
557  retval.peerLink = PEER_LINK_OPEN;
558  break ;
559  case PEER_LINK_CONFIRM:
560  retval.peerLink = PEER_LINK_CONFIRM;
561  break ;
562  case PEER_LINK_CLOSE:
563  retval.peerLink = PEER_LINK_CLOSE;
564  break ;
565  default:
566  NS_FATAL_ERROR ("Unknown mesh peering management action code");
567  retval.peerLink = PEER_LINK_OPEN; /* quiet compiler */
568  }
569  break ;
570 
571  case MESH_PATH_SELECTION:
572  switch (m_actionValue)
573  {
574  case PATH_SELECTION:
575  retval.pathSelection = PATH_SELECTION;
576  break ;
577  default:
578  NS_FATAL_ERROR ("Unknown mesh path selection action code");
579  retval.peerLink = PEER_LINK_OPEN; /* quiet compiler */
580  }
581  break ;
582 
583  case MESH_LINK_METRIC:
584  // not yet supported
585  case MESH_INTERWORKING:
586  // not yet supported
588  // not yet supported
589  default:
590  NS_FATAL_ERROR ("Unsupported mesh action");
591  retval.peerLink = PEER_LINK_OPEN; /* quiet compiler */
592  }
593  return retval;
594 }
595 TypeId
597 {
598  static TypeId tid = TypeId ("ns3::WifiActionHeader")
599  .SetParent<Header> ()
600  .AddConstructor<WifiActionHeader> ();
601  return tid;
602 }
603 TypeId
605 {
606  return GetTypeId ();
607 }
608 void
609 WifiActionHeader::Print (std::ostream &os) const
610 {
611 }
612 uint32_t
614 {
615  return 2;
616 }
617 void
619 {
620  start.WriteU8 (m_category);
621  start.WriteU8 (m_actionValue);
622 }
623 uint32_t
625 {
627  m_category = i.ReadU8 ();
628  m_actionValue = i.ReadU8 ();
629  return i.GetDistanceFrom (start);
630 }
631 
632 /***************************************************
633 * ADDBARequest
634 ****************************************************/
635 
637 
639  : m_dialogToken (1),
640  m_amsduSupport (1),
641  m_bufferSize (0)
642 {
643 }
644 
645 TypeId
647 {
648  static TypeId tid = TypeId ("ns3::MgtAddBaRequestHeader")
649  .SetParent<Header> ()
650  .AddConstructor<MgtAddBaRequestHeader> ();
651  return tid;
652 }
653 
654 TypeId
656 {
657  return GetTypeId ();
658 }
659 
660 void
661 MgtAddBaRequestHeader::Print (std::ostream &os) const
662 {
663 }
664 
665 uint32_t
667 {
668  uint32_t size = 0;
669  size += 1; //Dialog token
670  size += 2; //Block ack parameter set
671  size += 2; //Block ack timeout value
672  size += 2; //Starting sequence control
673  return size;
674 }
675 
676 void
678 {
684 }
685 
686 uint32_t
688 {
690  m_dialogToken = i.ReadU8 ();
694  return i.GetDistanceFrom (start);
695 }
696 
697 void
699 {
700  m_policy = 0;
701 }
702 
703 void
705 {
706  m_policy = 1;
707 }
708 
709 void
711 {
712  NS_ASSERT (tid < 16);
713  m_tid = tid;
714 }
715 
716 void
718 {
720 }
721 
722 void
724 {
725  m_bufferSize = size;
726 }
727 
728 void
730 {
731  m_startingSeq = seq;
732 }
733 
734 void
736 {
737  m_amsduSupport = supported;
738 }
739 
740 uint8_t
742 {
743  return m_tid;
744 }
745 
746 bool
748 {
749  return (m_policy == 1) ? true : false;
750 }
751 
752 uint16_t
754 {
755  return m_timeoutValue;
756 }
757 
758 uint16_t
760 {
761  return m_bufferSize;
762 }
763 
764 bool
766 {
767  return (m_amsduSupport == 1) ? true : false;
768 }
769 
770 uint16_t
772 {
773  return m_startingSeq;
774 }
775 
776 uint16_t
778 {
779  return (m_startingSeq << 4) & 0xfff0;
780 }
781 
782 void
784 {
785  m_startingSeq = (seqControl >> 4) & 0x0fff;
786 }
787 
788 uint16_t
790 {
791  uint16_t res = 0;
792  res |= m_amsduSupport;
793  res |= m_policy << 1;
794  res |= m_tid << 2;
795  res |= m_bufferSize << 6;
796  return res;
797 }
798 
799 void
801 {
802  m_amsduSupport = (params) & 0x01;
803  m_policy = (params >> 1) & 0x01;
804  m_tid = (params >> 2) & 0x0f;
805  m_bufferSize = (params >> 6) & 0x03ff;
806 }
807 
808 /***************************************************
809 * ADDBAResponse
810 ****************************************************/
811 
813 
815  : m_dialogToken (1),
816  m_amsduSupport (1),
817  m_bufferSize (0)
818 {
819 }
820 
821 TypeId
823 {
824  static TypeId tid = TypeId ("ns3::MgtAddBaResponseHeader")
825  .SetParent<Header> ()
826  .AddConstructor<MgtAddBaResponseHeader> ()
827  ;
828  return tid;
829 }
830 
831 TypeId
833 {
834  return GetTypeId ();
835 }
836 
837 void
838 MgtAddBaResponseHeader::Print (std::ostream &os) const
839 {
840  os << "status code=" << m_code;
841 }
842 
843 uint32_t
845 {
846  uint32_t size = 0;
847  size += 1; //Dialog token
848  size += m_code.GetSerializedSize (); //Status code
849  size += 2; //Block ack parameter set
850  size += 2; //Block ack timeout value
851  return size;
852 }
853 
854 void
856 {
859  i = m_code.Serialize (i);
862 }
863 
864 uint32_t
866 {
868  m_dialogToken = i.ReadU8 ();
869  i = m_code.Deserialize (i);
872  return i.GetDistanceFrom (start);
873 }
874 
875 void
877 {
878  m_policy = 0;
879 }
880 
881 void
883 {
884  m_policy = 1;
885 }
886 
887 void
889 {
890  NS_ASSERT (tid < 16);
891  m_tid = tid;
892 }
893 
894 void
896 {
898 }
899 
900 void
902 {
903  m_bufferSize = size;
904 }
905 
906 void
908 {
909  m_code = code;
910 }
911 
912 void
914 {
915  m_amsduSupport = supported;
916 }
917 
920 {
921  return m_code;
922 }
923 
924 uint8_t
926 {
927  return m_tid;
928 }
929 
930 bool
932 {
933  return (m_policy == 1) ? true : false;
934 }
935 
936 uint16_t
938 {
939  return m_timeoutValue;
940 }
941 
942 uint16_t
944 {
945  return m_bufferSize;
946 }
947 
948 bool
950 {
951  return (m_amsduSupport == 1) ? true : false;
952 }
953 
954 uint16_t
956 {
957  uint16_t res = 0;
958  res |= m_amsduSupport;
959  res |= m_policy << 1;
960  res |= m_tid << 2;
961  res |= m_bufferSize << 6;
962  return res;
963 }
964 
965 void
967 {
968  m_amsduSupport = (params) & 0x01;
969  m_policy = (params >> 1) & 0x01;
970  m_tid = (params >> 2) & 0x0f;
971  m_bufferSize = (params >> 6) & 0x03ff;
972 }
973 
974 /***************************************************
975 * DelBa
976 ****************************************************/
977 
979 
981  : m_reasonCode (1)
982 {
983 }
984 
985 TypeId
987 {
988  static TypeId tid = TypeId ("ns3::MgtDelBaHeader")
989  .SetParent<Header> ()
990  .AddConstructor<MgtDelBaHeader> ()
991  ;
992  return tid;
993 }
994 
995 TypeId
997 {
998  return GetTypeId ();
999 }
1000 
1001 void
1002 MgtDelBaHeader::Print (std::ostream &os) const
1003 {
1004 }
1005 
1006 uint32_t
1008 {
1009  uint32_t size = 0;
1010  size += 2; //DelBa parameter set
1011  size += 2; //Reason code
1012  return size;
1013 }
1014 
1015 void
1017 {
1018  Buffer::Iterator i = start;
1021 }
1022 
1023 uint32_t
1025 {
1026  Buffer::Iterator i = start;
1028  m_reasonCode = i.ReadLsbtohU16 ();
1029  return i.GetDistanceFrom (start);
1030 }
1031 
1032 bool
1034 {
1035  return (m_initiator == 1) ? true : false;
1036 }
1037 
1038 uint8_t
1040 {
1041  NS_ASSERT (m_tid < 16);
1042  uint8_t tid = static_cast<uint8_t> (m_tid);
1043  return tid;
1044 }
1045 
1046 void
1048 {
1049  m_initiator = 1;
1050 }
1051 
1052 void
1054 {
1055  m_initiator = 0;
1056 }
1057 
1058 void
1060 {
1061  NS_ASSERT (tid < 16);
1062  m_tid = static_cast<uint16_t> (tid);
1063 }
1064 
1065 uint16_t
1067 {
1068  uint16_t res = 0;
1069  res |= m_initiator << 11;
1070  res |= m_tid << 12;
1071  return res;
1072 }
1073 
1074 void
1076 {
1077  m_initiator = (params >> 11) & 0x01;
1078  m_tid = (params >> 12) & 0x0f;
1079 }
1080 
1081 } // namespace ns3
Protocol header serialization and deserialization.
Definition: header.h:42
static TypeId GetTypeId(void)
Definition: mgt-headers.cc:822
virtual uint32_t Deserialize(Buffer::Iterator start)
Definition: mgt-headers.cc:687
SupportedRates GetSupportedRates(void) const
Definition: mgt-headers.cc:65
uint16_t GetBufferSize(void) const
Definition: mgt-headers.cc:943
virtual void Serialize(Buffer::Iterator start) const
Definition: mgt-headers.cc:446
virtual uint32_t GetSerializedSize(void) const
SupportedRates GetSupportedRates(void) const
Definition: mgt-headers.cc:149
virtual TypeId GetInstanceTypeId(void) const
Definition: mgt-headers.cc:319
virtual void Print(std::ostream &os) const
Definition: mgt-headers.cc:609
Buffer::Iterator Deserialize(Buffer::Iterator start)
virtual TypeId GetInstanceTypeId(void) const
Definition: mgt-headers.cc:189
Ssid GetSsid(void) const
Definition: mgt-headers.cc:139
static TypeId GetTypeId(void)
Definition: mgt-headers.cc:310
virtual void Print(std::ostream &os) const
Definition: mgt-headers.cc:661
HtCapabilities m_htCapability
Definition: mgt-headers.h:131
uint64_t GetBeaconIntervalUs(void) const
Definition: mgt-headers.cc:144
SupportedRates m_rates
Definition: mgt-headers.h:65
static TypeId GetTypeId(void)
Definition: mgt-headers.cc:80
CapabilityInformation m_capability
Definition: mgt-headers.h:99
CapabilityInformation m_capability
Definition: mgt-headers.h:167
uint16_t GetSerializedSize() const
void SetBufferSize(uint16_t size)
Definition: mgt-headers.cc:723
bool IsImmediateBlockAck(void) const
Definition: mgt-headers.cc:931
HtCapabilities m_htCapability
Definition: mgt-headers.h:67
#define NS_ASSERT(condition)
Definition: assert.h:64
virtual uint32_t GetSerializedSize(void) const
Definition: mgt-headers.cc:324
The Ht Capabilities Information ElementThis class knows how to serialise and deserialise the Ht Capab...
void SetHtCapabilities(HtCapabilities htcapabilities)
Definition: mgt-headers.cc:279
uint32_t GetSerializedSize(void) const
Definition: status-code.cc:47
virtual void Print(std::ostream &os) const
Definition: mgt-headers.cc:838
void SetAction(enum CategoryValue type, ActionValue action)
Definition: mgt-headers.cc:478
Buffer::Iterator Serialize(Buffer::Iterator start) const
uint16_t GetBufferSize(void) const
Definition: mgt-headers.cc:759
virtual TypeId GetInstanceTypeId(void) const
Definition: mgt-headers.cc:832
CategoryValue GetCategory()
Definition: mgt-headers.cc:508
ns3::Time timeout
enum PathSelectionActionValue pathSelection
Definition: mgt-headers.h:252
void SetTid(uint8_t)
void SetStatusCode(StatusCode code)
Definition: mgt-headers.cc:907
The Supported Rates Information ElementThis class knows how to serialise and deserialise the Supporte...
CapabilityInformation m_capability
Definition: mgt-headers.h:66
virtual TypeId GetInstanceTypeId(void) const
Definition: mgt-headers.cc:89
void SetTimeout(uint16_t timeout)
Definition: mgt-headers.cc:895
Buffer::Iterator Deserialize(Buffer::Iterator i)
Ssid GetSsid(void) const
Definition: mgt-headers.cc:44
void SetSupportedRates(SupportedRates rates)
Definition: mgt-headers.cc:49
void SetAmsduSupport(bool supported)
Definition: mgt-headers.cc:735
uint32_t GetDistanceFrom(Iterator const &o) const
Definition: buffer.cc:807
#define NS_FATAL_ERROR(msg)
fatal error handling
Definition: fatal-error.h:72
Ssid GetSsid(void) const
Definition: mgt-headers.cc:294
iterator in a Buffer instance
Definition: buffer.h:98
virtual TypeId GetInstanceTypeId(void) const
Definition: mgt-headers.cc:996
void SetSupportedRates(SupportedRates rates)
Definition: mgt-headers.cc:274
bool IsAmsduSupported(void) const
Definition: mgt-headers.cc:949
uint16_t GetStartingSequenceControl(void) const
Definition: mgt-headers.cc:777
virtual void Serialize(Buffer::Iterator start) const
Definition: mgt-headers.cc:855
void SetTid(uint8_t tid)
Definition: mgt-headers.cc:888
virtual void Print(std::ostream &os) const
Definition: mgt-headers.cc:209
virtual void Serialize(Buffer::Iterator start) const
Definition: mgt-headers.cc:216
ExtendedSupportedRatesIE extended
SupportedRates GetSupportedRates(void) const
Definition: mgt-headers.cc:299
void SetListenInterval(uint16_t interval)
Definition: mgt-headers.cc:284
static TypeId GetTypeId(void)
Definition: mgt-headers.cc:596
virtual TypeId GetInstanceTypeId(void) const
Definition: mgt-headers.cc:655
virtual TypeId GetInstanceTypeId() const
Definition: mgt-headers.cc:604
void SetParameterSet(uint16_t params)
Definition: mgt-headers.cc:800
virtual uint32_t GetSerializedSize() const
Definition: mgt-headers.cc:613
void SetStartingSequenceControl(uint16_t seqControl)
Definition: mgt-headers.cc:783
Buffer::Iterator Serialize(Buffer::Iterator start) const
void SetTid(uint8_t tid)
Definition: mgt-headers.cc:710
uint16_t GetListenInterval(void) const
Definition: mgt-headers.cc:304
void SetParameterSet(uint16_t params)
Definition: mgt-headers.cc:966
virtual void Print(std::ostream &os) const
Definition: mgt-headers.cc:94
NS_OBJECT_ENSURE_REGISTERED(AntennaModel)
virtual uint32_t Deserialize(Buffer::Iterator start)
Definition: mgt-headers.cc:110
enum BlockAckActionValue blockAck
Definition: mgt-headers.h:255
Buffer::Iterator DeserializeIfPresent(Buffer::Iterator i)
void SetStartingSequence(uint16_t seq)
Definition: mgt-headers.cc:729
virtual void Serialize(Buffer::Iterator start) const
Definition: mgt-headers.cc:677
uint8_t GetTid(void) const
Definition: mgt-headers.cc:741
SupportedRates GetSupportedRates(void)
Definition: mgt-headers.cc:386
void SetHtCapabilities(HtCapabilities htcapabilities)
Definition: mgt-headers.cc:54
virtual TypeId GetInstanceTypeId(void) const
Definition: mgt-headers.cc:421
virtual uint32_t GetSerializedSize(void) const
Definition: mgt-headers.cc:666
Buffer::Iterator Serialize(Buffer::Iterator start) const
Definition: status-code.cc:52
void SetByOriginator(void)
virtual void Print(std::ostream &os) const
Definition: mgt-headers.cc:336
void SetByRecipient(void)
bool IsAmsduSupported(void) const
Definition: mgt-headers.cc:765
static TypeId GetTypeId(void)
Definition: mgt-headers.cc:986
virtual uint32_t GetSerializedSize(void) const
Definition: mgt-headers.cc:844
void SetBeaconIntervalUs(uint64_t us)
Definition: mgt-headers.cc:170
static TypeId GetTypeId(void)
Definition: mgt-headers.cc:180
void SetBufferSize(uint16_t size)
Definition: mgt-headers.cc:901
Buffer::Iterator Deserialize(Buffer::Iterator start)
Definition: status-code.cc:58
uint8_t GetTid(void) const
virtual void Serialize(Buffer::Iterator start) const
virtual uint32_t Deserialize(Buffer::Iterator start)
Definition: mgt-headers.cc:624
HtCapabilities GetHtCapabilities(void) const
Definition: mgt-headers.cc:160
StatusCode GetStatusCode(void) const
Definition: mgt-headers.cc:919
HtCapabilities GetHtCapabilities(void) const
Definition: mgt-headers.cc:60
bool IsByOriginator(void) const
HtCapabilities m_htCapability
Definition: mgt-headers.h:168
virtual uint32_t Deserialize(Buffer::Iterator start)
Definition: mgt-headers.cc:239
static Time Now(void)
Definition: simulator.cc:180
virtual void Print(std::ostream &os) const
Definition: mgt-headers.cc:439
uint16_t GetTimeout(void) const
Definition: mgt-headers.cc:937
uint8_t GetTid(void) const
Definition: mgt-headers.cc:925
Definition: ssid.h:35
bool IsImmediateBlockAck(void) const
Definition: mgt-headers.cc:747
void WriteHtolsbU16(uint16_t data)
Definition: buffer.cc:935
virtual uint32_t Deserialize(Buffer::Iterator start)
Definition: mgt-headers.cc:865
uint16_t GetStartingSequence(void) const
Definition: mgt-headers.cc:771
static TypeId GetTypeId(void)
Definition: mgt-headers.cc:646
void WriteU8(uint8_t data)
Definition: buffer.h:690
void WriteHtolsbU64(uint64_t data)
Definition: buffer.cc:951
static TypeId GetTypeId(void)
Definition: mgt-headers.cc:412
void SetSupportedRates(SupportedRates rates)
Definition: mgt-headers.cc:396
uint16_t GetParameterSet(void) const
uint32_t GetSerializedSize(void) const
enum PeerLinkMgtActionValue peerLink
Definition: mgt-headers.h:250
uint8_t ReadU8(void)
Definition: buffer.h:819
HtCapabilities m_htCapability
Definition: mgt-headers.h:102
void SetSupportedRates(SupportedRates rates)
Definition: mgt-headers.cc:175
void SetHtCapabilities(HtCapabilities htcapabilities)
Definition: mgt-headers.cc:401
uint16_t ReadLsbtohU16(void)
Definition: buffer.cc:1090
void SetSsid(Ssid ssid)
Definition: mgt-headers.cc:39
void SetStatusCode(StatusCode code)
Definition: mgt-headers.cc:391
void SetParameterSet(uint16_t params)
void SetAmsduSupport(bool supported)
Definition: mgt-headers.cc:913
virtual uint32_t Deserialize(Buffer::Iterator start)
Definition: mgt-headers.cc:354
void SetTimeout(uint16_t timeout)
Definition: mgt-headers.cc:717
uint64_t ReadLsbtohU64(void)
Definition: buffer.cc:1118
uint16_t GetSerializedSize() const
uint16_t GetParameterSet(void) const
Definition: mgt-headers.cc:789
ActionValue GetAction()
Definition: mgt-headers.cc:532
uint16_t GetParameterSet(void) const
Definition: mgt-headers.cc:955
virtual uint32_t GetSerializedSize(void) const
Definition: mgt-headers.cc:70
Buffer::Iterator Serialize(Buffer::Iterator start) const
HtCapabilities GetHtCapabilities(void) const
Definition: mgt-headers.cc:289
virtual uint32_t GetSerializedSize(void) const
Definition: mgt-headers.cc:194
a unique identifier for an interface.
Definition: type-id.h:49
virtual void Serialize(Buffer::Iterator start) const
Definition: mgt-headers.cc:101
TypeId SetParent(TypeId tid)
Definition: type-id.cc:610
void SetHtCapabilities(HtCapabilities htcapabilities)
Definition: mgt-headers.cc:154
Buffer::Iterator Serialize(Buffer::Iterator i) const
Serialize entire IE including Element ID and length fields.
virtual uint32_t Deserialize(Buffer::Iterator start)
Definition: mgt-headers.cc:457
virtual uint32_t GetSerializedSize(void) const
Definition: mgt-headers.cc:426
StatusCode GetStatusCode(void)
Definition: mgt-headers.cc:381
virtual void Serialize(Buffer::Iterator start) const
Definition: mgt-headers.cc:618
virtual uint32_t Deserialize(Buffer::Iterator start)
uint16_t GetTimeout(void) const
Definition: mgt-headers.cc:753
HtCapabilities GetHtCapabilities(void) const
Definition: mgt-headers.cc:407
virtual void Print(std::ostream &os) const
virtual void Serialize(Buffer::Iterator start) const
Definition: mgt-headers.cc:343