This documentation is not the
Latest Release
.
A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Portuguese
Docs ▼
Wiki
Manual
Models
Develop ▼
API
Bugs
API
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
wifi-mac-header.h
Go to the documentation of this file.
1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2
/*
3
* Copyright (c) 2006, 2009 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
23
#ifndef WIFI_MAC_HEADER_H
24
#define WIFI_MAC_HEADER_H
25
26
#include "ns3/header.h"
27
#include "ns3/mac48-address.h"
28
#include "ns3/nstime.h"
29
#include <stdint.h>
30
31
namespace
ns3
{
32
36
enum
WifiMacType
37
{
38
WIFI_MAC_CTL_CTLWRAPPER
= 0,
39
WIFI_MAC_CTL_RTS
,
40
WIFI_MAC_CTL_CTS
,
41
WIFI_MAC_CTL_ACK
,
42
WIFI_MAC_CTL_BACKREQ
,
43
WIFI_MAC_CTL_BACKRESP
,
44
45
WIFI_MAC_MGT_BEACON
,
46
WIFI_MAC_MGT_ASSOCIATION_REQUEST
,
47
WIFI_MAC_MGT_ASSOCIATION_RESPONSE
,
48
WIFI_MAC_MGT_DISASSOCIATION
,
49
WIFI_MAC_MGT_REASSOCIATION_REQUEST
,
50
WIFI_MAC_MGT_REASSOCIATION_RESPONSE
,
51
WIFI_MAC_MGT_PROBE_REQUEST
,
52
WIFI_MAC_MGT_PROBE_RESPONSE
,
53
WIFI_MAC_MGT_AUTHENTICATION
,
54
WIFI_MAC_MGT_DEAUTHENTICATION
,
55
WIFI_MAC_MGT_ACTION
,
56
WIFI_MAC_MGT_ACTION_NO_ACK
,
57
WIFI_MAC_MGT_MULTIHOP_ACTION
,
58
59
WIFI_MAC_DATA
,
60
WIFI_MAC_DATA_CFACK
,
61
WIFI_MAC_DATA_CFPOLL
,
62
WIFI_MAC_DATA_CFACK_CFPOLL
,
63
WIFI_MAC_DATA_NULL
,
64
WIFI_MAC_DATA_NULL_CFACK
,
65
WIFI_MAC_DATA_NULL_CFPOLL
,
66
WIFI_MAC_DATA_NULL_CFACK_CFPOLL
,
67
WIFI_MAC_QOSDATA
,
68
WIFI_MAC_QOSDATA_CFACK
,
69
WIFI_MAC_QOSDATA_CFPOLL
,
70
WIFI_MAC_QOSDATA_CFACK_CFPOLL
,
71
WIFI_MAC_QOSDATA_NULL
,
72
WIFI_MAC_QOSDATA_NULL_CFPOLL
,
73
WIFI_MAC_QOSDATA_NULL_CFACK_CFPOLL
,
74
};
75
81
class
WifiMacHeader
:
public
Header
82
{
83
public
:
87
enum
QosAckPolicy
88
{
89
NORMAL_ACK
= 0,
90
NO_ACK
= 1,
91
NO_EXPLICIT_ACK
= 2,
92
BLOCK_ACK
= 3,
93
};
94
98
enum
AddressType
99
{
100
ADDR1
,
101
ADDR2
,
102
ADDR3
,
103
ADDR4
104
};
105
106
WifiMacHeader
();
107
~WifiMacHeader
();
108
109
static
TypeId
GetTypeId
(
void
);
110
virtual
TypeId
GetInstanceTypeId
(
void
)
const
;
111
virtual
void
Print
(std::ostream &os)
const
;
112
virtual
uint32_t
GetSerializedSize
(
void
)
const
;
113
virtual
void
Serialize
(
Buffer::Iterator
start
)
const
;
114
virtual
uint32_t
Deserialize
(
Buffer::Iterator
start
);
115
119
void
SetAssocReq
(
void
);
123
void
SetAssocResp
(
void
);
127
void
SetProbeReq
(
void
);
131
void
SetProbeResp
(
void
);
135
void
SetBeacon
(
void
);
140
void
SetTypeData
(
void
);
144
void
SetAction
();
148
void
SetBlockAckReq
(
void
);
152
void
SetBlockAck
(
void
);
156
void
SetMultihopAction
();
160
void
SetDsFrom
(
void
);
164
void
SetDsNotFrom
(
void
);
168
void
SetDsTo
(
void
);
172
void
SetDsNotTo
(
void
);
178
void
SetAddr1
(
Mac48Address
address
);
184
void
SetAddr2
(
Mac48Address
address
);
190
void
SetAddr3
(
Mac48Address
address
);
196
void
SetAddr4
(
Mac48Address
address
);
203
void
SetType
(
enum
WifiMacType
type);
209
void
SetRawDuration
(uint16_t duration);
216
void
SetDuration
(
Time
duration);
222
void
SetId
(uint16_t
id
);
228
void
SetSequenceNumber
(uint16_t seq);
234
void
SetFragmentNumber
(uint8_t frag);
238
void
SetNoMoreFragments
(
void
);
242
void
SetMoreFragments
(
void
);
246
void
SetRetry
(
void
);
250
void
SetNoRetry
(
void
);
256
void
SetQosTid
(uint8_t tid);
260
void
SetQosEosp
();
264
void
SetQosNoEosp
();
270
void
SetQosAckPolicy
(
enum
QosAckPolicy
policy);
274
void
SetQosNormalAck
(
void
);
278
void
SetQosBlockAck
(
void
);
282
void
SetQosNoAck
(
void
);
286
void
SetQosAmsdu
(
void
);
290
void
SetQosNoAmsdu
(
void
);
296
void
SetQosTxopLimit
(uint8_t txop);
300
void
SetQosMeshControlPresent
();
304
void
SetQosNoMeshControlPresent
();
308
void
SetOrder
(
void
);
312
void
SetNoOrder
(
void
);
313
319
Mac48Address
GetAddr1
(
void
)
const
;
325
Mac48Address
GetAddr2
(
void
)
const
;
331
Mac48Address
GetAddr3
(
void
)
const
;
337
Mac48Address
GetAddr4
(
void
)
const
;
343
enum
WifiMacType
GetType
(
void
)
const
;
347
bool
IsFromDs
(
void
)
const
;
351
bool
IsToDs
(
void
)
const
;
359
bool
IsData
(
void
)
const
;
366
bool
IsQosData
(
void
)
const
;
372
bool
IsCtl
(
void
)
const
;
378
bool
IsMgt
(
void
)
const
;
384
bool
IsCfpoll
(
void
)
const
;
390
bool
IsRts
(
void
)
const
;
396
bool
IsCts
(
void
)
const
;
402
bool
IsAck
(
void
)
const
;
408
bool
IsBlockAckReq
(
void
)
const
;
414
bool
IsBlockAck
(
void
)
const
;
420
bool
IsAssocReq
(
void
)
const
;
426
bool
IsAssocResp
(
void
)
const
;
432
bool
IsReassocReq
(
void
)
const
;
438
bool
IsReassocResp
(
void
)
const
;
444
bool
IsProbeReq
(
void
)
const
;
450
bool
IsProbeResp
(
void
)
const
;
456
bool
IsBeacon
(
void
)
const
;
462
bool
IsDisassociation
(
void
)
const
;
468
bool
IsAuthentication
(
void
)
const
;
474
bool
IsDeauthentication
(
void
)
const
;
480
bool
IsAction
()
const
;
487
bool
IsMultihopAction
()
const
;
493
uint16_t
GetRawDuration
(
void
)
const
;
499
Time
GetDuration
(
void
)
const
;
505
uint16_t
GetSequenceControl
(
void
)
const
;
511
uint16_t
GetSequenceNumber
(
void
)
const
;
517
uint16_t
GetFragmentNumber
(
void
)
const
;
523
bool
IsRetry
(
void
)
const
;
529
bool
IsMoreFragments
(
void
)
const
;
535
bool
IsQosBlockAck
(
void
)
const
;
541
bool
IsQosNoAck
(
void
)
const
;
547
bool
IsQosAck
(
void
)
const
;
553
bool
IsQosEosp
(
void
)
const
;
560
bool
IsQosAmsdu
(
void
)
const
;
566
uint8_t
GetQosTid
(
void
)
const
;
572
enum
QosAckPolicy
GetQosAckPolicy
(
void
)
const
;
578
uint8_t
GetQosTxopLimit
(
void
)
const
;
585
uint32_t
GetSize
(
void
)
const
;
591
const
char
*
GetTypeString
(
void
)
const
;
592
598
typedef
void (*
TracedCallback
)(
const
WifiMacHeader
&header);
599
600
601
private
:
607
uint16_t
GetFrameControl
(
void
)
const
;
613
uint16_t
GetQosControl
(
void
)
const
;
619
void
SetFrameControl
(uint16_t control);
625
void
SetSequenceControl
(uint16_t seq);
631
void
SetQosControl
(uint16_t qos);
637
void
PrintFrameControl
(std::ostream &os)
const
;
638
639
uint8_t
m_ctrlType
;
640
uint8_t
m_ctrlSubtype
;
641
uint8_t
m_ctrlToDs
;
642
uint8_t
m_ctrlFromDs
;
643
uint8_t
m_ctrlMoreFrag
;
644
uint8_t
m_ctrlRetry
;
645
uint8_t
m_ctrlMoreData
;
646
uint8_t
m_ctrlWep
;
647
uint8_t
m_ctrlOrder
;
648
uint16_t
m_duration
;
649
Mac48Address
m_addr1
;
650
Mac48Address
m_addr2
;
651
Mac48Address
m_addr3
;
652
uint8_t
m_seqFrag
;
653
uint16_t
m_seqSeq
;
654
Mac48Address
m_addr4
;
655
uint8_t
m_qosTid
;
656
uint8_t
m_qosEosp
;
657
uint8_t
m_qosAckPolicy
;
658
uint8_t
m_amsduPresent
;
659
uint16_t
m_qosStuff
;
660
};
661
662
}
//namespace ns3
663
664
#endif
/* WIFI_MAC_HEADER_H */
ns3::WifiMacHeader::m_ctrlMoreData
uint8_t m_ctrlMoreData
Definition:
wifi-mac-header.h:645
ns3::WifiMacHeader::NO_EXPLICIT_ACK
Definition:
wifi-mac-header.h:91
ns3::Header
Protocol header serialization and deserialization.
Definition:
header.h:42
ns3::WIFI_MAC_QOSDATA_CFACK_CFPOLL
Definition:
wifi-mac-header.h:70
ns3::WIFI_MAC_CTL_CTS
Definition:
wifi-mac-header.h:40
ns3::WifiMacHeader::IsBeacon
bool IsBeacon(void) const
Return true if the header is a Beacon header.
Definition:
wifi-mac-header.cc:728
ns3::WifiMacHeader::SetAction
void SetAction()
Set Type/Subtype values for an action header.
Definition:
wifi-mac-header.cc:166
ns3::WifiMacHeader::SetRetry
void SetRetry(void)
Set the Retry bit in the Frame Control field.
Definition:
wifi-mac-header.cc:374
ns3::WifiMacHeader::SetMoreFragments
void SetMoreFragments(void)
Set the More Fragment bit in the Frame Control field.
Definition:
wifi-mac-header.cc:359
ns3::WIFI_MAC_CTL_CTLWRAPPER
Definition:
wifi-mac-header.h:38
ns3::Time
Simulation virtual time values and global simulation resolution.
Definition:
nstime.h:102
ns3::WIFI_MAC_QOSDATA_NULL
Definition:
wifi-mac-header.h:71
ns3::WifiMacHeader::GetSize
uint32_t GetSize(void) const
Return the size of the WifiMacHeader in octets.
Definition:
wifi-mac-header.cc:947
ns3::WIFI_MAC_MGT_PROBE_REQUEST
Definition:
wifi-mac-header.h:51
ns3::WifiMacHeader::GetFragmentNumber
uint16_t GetFragmentNumber(void) const
Return the fragment number of the header.
Definition:
wifi-mac-header.cc:800
ns3::WifiMacHeader::SetQosAckPolicy
void SetQosAckPolicy(enum QosAckPolicy policy)
Set the QoS ACK policy in the QoS control field.
Definition:
wifi-mac-header.cc:399
ns3::WifiMacHeader::SetRawDuration
void SetRawDuration(uint16_t duration)
Set the Duration/ID field with the given raw uint16_t value.
Definition:
wifi-mac-header.cc:326
ns3::WifiMacHeader::SetFrameControl
void SetFrameControl(uint16_t control)
Set the Frame Control field with the given raw value.
Definition:
wifi-mac-header.cc:918
ns3::WIFI_MAC_DATA_NULL_CFACK
Definition:
wifi-mac-header.h:64
ns3::WIFI_MAC_MGT_ACTION_NO_ACK
Definition:
wifi-mac-header.h:56
ns3::WifiMacHeader::IsReassocResp
bool IsReassocResp(void) const
Return true if the header is a Reassociation Response header.
Definition:
wifi-mac-header.cc:710
ns3::WifiMacHeader::SetProbeReq
void SetProbeReq(void)
Set Type/Subtype values for a probe request header.
Definition:
wifi-mac-header.cc:124
ns3::WifiMacHeader::GetRawDuration
uint16_t GetRawDuration(void) const
Return the raw duration from the Duration/ID field.
Definition:
wifi-mac-header.cc:776
ns3::WifiMacHeader::SetDuration
void SetDuration(Time duration)
Set the Duration/ID field with the given duration (Time object).
Definition:
wifi-mac-header.cc:332
ns3::WIFI_MAC_DATA_CFACK_CFPOLL
Definition:
wifi-mac-header.h:62
ns3::WifiMacHeader::m_ctrlType
uint8_t m_ctrlType
Definition:
wifi-mac-header.h:639
ns3::WIFI_MAC_MGT_ASSOCIATION_REQUEST
Definition:
wifi-mac-header.h:46
ns3::WIFI_MAC_MGT_AUTHENTICATION
Definition:
wifi-mac-header.h:53
ns3::WifiMacHeader::IsAction
bool IsAction() const
Return true if the header is an Action header.
Definition:
wifi-mac-header.cc:752
visualizer.core.start
def start()
Definition:
core.py:1482
ns3::TracedCallback
Forward calls to a chain of Callback.
Definition:
traced-callback.h:62
ns3::WifiMacHeader::m_addr2
Mac48Address m_addr2
Definition:
wifi-mac-header.h:650
ns3::WifiMacHeader::GetAddr3
Mac48Address GetAddr3(void) const
Return the address in the Address 3 field.
Definition:
wifi-mac-header.cc:479
ns3::WifiMacHeader::SetNoMoreFragments
void SetNoMoreFragments(void)
Un-set the More Fragment bit in the Frame Control Field.
Definition:
wifi-mac-header.cc:354
ns3::WifiMacHeader::m_qosAckPolicy
uint8_t m_qosAckPolicy
Definition:
wifi-mac-header.h:657
ns3::WifiMacHeader::GetAddr4
Mac48Address GetAddr4(void) const
Return the address in the Address 4 field.
Definition:
wifi-mac-header.cc:485
ns3::WifiMacHeader::GetType
enum WifiMacType GetType(void) const
Return the type (enum WifiMacType)
Definition:
wifi-mac-header.cc:491
ns3::WifiMacHeader::m_qosEosp
uint8_t m_qosEosp
Definition:
wifi-mac-header.h:656
ns3::WifiMacHeader::SetId
void SetId(uint16_t id)
Set the Duration/ID field with the given ID.
Definition:
wifi-mac-header.cc:339
ns3::WifiMacHeader::IsAssocReq
bool IsAssocReq(void) const
Return true if the header is an Association Request header.
Definition:
wifi-mac-header.cc:692
ns3::WifiMacHeader::GetQosControl
uint16_t GetQosControl(void) const
Return the raw QoS Control field.
Definition:
wifi-mac-header.cc:906
ns3::WIFI_MAC_QOSDATA_NULL_CFPOLL
Definition:
wifi-mac-header.h:72
ns3::WifiMacHeader::IsBlockAck
bool IsBlockAck(void) const
Return true if the header is a Block ACK header.
Definition:
wifi-mac-header.cc:770
ns3::WifiMacHeader::IsAssocResp
bool IsAssocResp(void) const
Return true if the header is an Association Response header.
Definition:
wifi-mac-header.cc:698
ns3::WifiMacHeader::SetQosControl
void SetQosControl(uint16_t qos)
Set the QoS Control field with the given raw value.
Definition:
wifi-mac-header.cc:937
ns3::WifiMacHeader::GetFrameControl
uint16_t GetFrameControl(void) const
Return the raw Frame Control field.
Definition:
wifi-mac-header.cc:890
ns3::WifiMacHeader::IsCtl
bool IsCtl(void) const
Return true if the Type is Control.
Definition:
wifi-mac-header.cc:641
ns3::WifiMacHeader::SetProbeResp
void SetProbeResp(void)
Set Type/Subtype values for a probe response header.
Definition:
wifi-mac-header.cc:131
ns3::WifiMacHeader::ADDR3
Definition:
wifi-mac-header.h:102
ns3::WifiMacHeader::m_seqFrag
uint8_t m_seqFrag
Definition:
wifi-mac-header.h:652
ns3::WifiMacHeader::SetQosNoAck
void SetQosNoAck(void)
Set the QoS ACK policy in the QoS control field to no ACK.
Definition:
wifi-mac-header.cc:431
ns3::WifiMacHeader::IsQosAmsdu
bool IsQosAmsdu(void) const
Check if the A-MSDU present bit is set in the QoS control field.
Definition:
wifi-mac-header.cc:846
ns3::WifiMacHeader::IsProbeResp
bool IsProbeResp(void) const
Return true if the header is a Probe Response header.
Definition:
wifi-mac-header.cc:722
ns3::WifiMacHeader::m_addr1
Mac48Address m_addr1
Definition:
wifi-mac-header.h:649
ns3::WifiMacHeader::m_addr3
Mac48Address m_addr3
Definition:
wifi-mac-header.h:651
ns3::Buffer::Iterator
iterator in a Buffer instance
Definition:
buffer.h:98
ns3::WIFI_MAC_DATA_CFACK
Definition:
wifi-mac-header.h:60
ns3::WifiMacHeader::IsCfpoll
bool IsCfpoll(void) const
Return true if the Type/Subtype is one of the possible CF-Poll headers.
Definition:
wifi-mac-header.cc:653
ns3::WIFI_MAC_DATA_NULL
Definition:
wifi-mac-header.h:63
ns3::WifiMacHeader::IsMoreFragments
bool IsMoreFragments(void) const
Return if the More Fragment bit is set.
Definition:
wifi-mac-header.cc:812
ns3::WifiMacHeader::GetDuration
Time GetDuration(void) const
Return the duration from the Duration/ID field (Time object).
Definition:
wifi-mac-header.cc:782
ns3::WifiMacHeader::GetQosTid
uint8_t GetQosTid(void) const
Return the Traffic ID of a QoS header.
Definition:
wifi-mac-header.cc:853
ns3::WIFI_MAC_MGT_REASSOCIATION_REQUEST
Definition:
wifi-mac-header.h:49
ns3::WifiMacHeader::IsReassocReq
bool IsReassocReq(void) const
Return true if the header is a Reassociation Request header.
Definition:
wifi-mac-header.cc:704
ns3::WifiMacHeader::GetSerializedSize
virtual uint32_t GetSerializedSize(void) const
Definition:
wifi-mac-header.cc:1162
ns3::WifiMacHeader::GetQosTxopLimit
uint8_t GetQosTxopLimit(void) const
Return the TXOP limit.
Definition:
wifi-mac-header.cc:883
ns3::WifiMacHeader::SetAddr1
void SetAddr1(Mac48Address address)
Fill the Address 1 field with the given address.
Definition:
wifi-mac-header.cc:86
ns3::WifiMacHeader::m_ctrlToDs
uint8_t m_ctrlToDs
Definition:
wifi-mac-header.h:641
ns3::WifiMacHeader::SetBeacon
void SetBeacon(void)
Set Type/Subtype values for a beacon header.
Definition:
wifi-mac-header.cc:138
ns3::WifiMacHeader::AddressType
AddressType
Address types.
Definition:
wifi-mac-header.h:98
ns3::WifiMacHeader::SetDsNotTo
void SetDsNotTo(void)
Un-set the To DS bit in the Frame Control field.
Definition:
wifi-mac-header.cc:80
ns3::WifiMacHeader::SetAddr3
void SetAddr3(Mac48Address address)
Fill the Address 3 field with the given address.
Definition:
wifi-mac-header.cc:98
ns3::WifiMacHeader::SetAddr4
void SetAddr4(Mac48Address address)
Fill the Address 4 field with the given address.
Definition:
wifi-mac-header.cc:104
ns3::WifiMacType
WifiMacType
Combination of valid MAC header type/subtype.
Definition:
wifi-mac-header.h:36
ns3::WifiMacHeader::GetSequenceControl
uint16_t GetSequenceControl(void) const
Return the raw Sequence Control field.
Definition:
wifi-mac-header.cc:788
ns3::WifiMacHeader::IsProbeReq
bool IsProbeReq(void) const
Return true if the header is a Probe Request header.
Definition:
wifi-mac-header.cc:716
ns3::WIFI_MAC_MGT_MULTIHOP_ACTION
Definition:
wifi-mac-header.h:57
ns3::WifiMacHeader::Print
virtual void Print(std::ostream &os) const
Definition:
wifi-mac-header.cc:1069
ns3::WifiMacHeader::SetOrder
void SetOrder(void)
Set order bit in the frame control field.
Definition:
wifi-mac-header.cc:364
ns3::WifiMacHeader::IsAuthentication
bool IsAuthentication(void) const
Return true if the header is an Authentication header.
Definition:
wifi-mac-header.cc:740
ns3::WifiMacHeader::IsQosBlockAck
bool IsQosBlockAck(void) const
Return if the QoS ACK policy is Block ACK.
Definition:
wifi-mac-header.cc:818
ns3::WifiMacHeader::m_amsduPresent
uint8_t m_amsduPresent
Definition:
wifi-mac-header.h:658
ns3::WifiMacHeader::NORMAL_ACK
Definition:
wifi-mac-header.h:89
ns3::WifiMacHeader::m_addr4
Mac48Address m_addr4
Definition:
wifi-mac-header.h:654
ns3::WifiMacHeader::m_ctrlMoreFrag
uint8_t m_ctrlMoreFrag
Definition:
wifi-mac-header.h:643
ns3::WifiMacHeader::m_ctrlFromDs
uint8_t m_ctrlFromDs
Definition:
wifi-mac-header.h:642
ns3::WifiMacHeader::IsMgt
bool IsMgt(void) const
Return true if the Type is Management.
Definition:
wifi-mac-header.cc:647
ns3::WifiMacHeader::SetAssocReq
void SetAssocReq(void)
Set Type/Subtype values for an association request header.
Definition:
wifi-mac-header.cc:110
ns3::WifiMacHeader::ADDR2
Definition:
wifi-mac-header.h:101
ns3::WifiMacHeader::m_ctrlOrder
uint8_t m_ctrlOrder
Definition:
wifi-mac-header.h:647
ns3::WifiMacHeader::SetQosTid
void SetQosTid(uint8_t tid)
Set the TID for the QoS header.
Definition:
wifi-mac-header.cc:384
ns3::WifiMacHeader::GetInstanceTypeId
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
Definition:
wifi-mac-header.cc:1054
ns3::WifiMacHeader::SetSequenceControl
void SetSequenceControl(uint16_t seq)
Set the Sequence Control field with the given raw value.
Definition:
wifi-mac-header.cc:931
ns3::WifiMacHeader::SetNoRetry
void SetNoRetry(void)
Un-set the Retry bit in the Frame Control field.
Definition:
wifi-mac-header.cc:379
ns3::WifiMacHeader::IsToDs
bool IsToDs(void) const
Definition:
wifi-mac-header.cc:622
ns3
Every class exported by the ns3 library is enclosed in the ns3 namespace.
ns3::WifiMacHeader::m_seqSeq
uint16_t m_seqSeq
Definition:
wifi-mac-header.h:653
ns3::WifiMacHeader::IsDisassociation
bool IsDisassociation(void) const
Return true if the header is a Disassociation header.
Definition:
wifi-mac-header.cc:734
ns3::WifiMacHeader::SetAddr2
void SetAddr2(Mac48Address address)
Fill the Address 2 field with the given address.
Definition:
wifi-mac-header.cc:92
ns3::WIFI_MAC_MGT_DISASSOCIATION
Definition:
wifi-mac-header.h:48
ns3::WIFI_MAC_MGT_PROBE_RESPONSE
Definition:
wifi-mac-header.h:52
ns3::WifiMacHeader::QosAckPolicy
QosAckPolicy
ACK policy for QoS frames.
Definition:
wifi-mac-header.h:87
ns3::Mac48Address
an EUI-48 address
Definition:
mac48-address.h:43
ns3::WIFI_MAC_DATA
Definition:
wifi-mac-header.h:59
ns3::WIFI_MAC_QOSDATA_NULL_CFACK_CFPOLL
Definition:
wifi-mac-header.h:73
ns3::WifiMacHeader::SetBlockAck
void SetBlockAck(void)
Set Type/Subtype values for a Block Ack header.
Definition:
wifi-mac-header.cc:152
ns3::WIFI_MAC_DATA_NULL_CFPOLL
Definition:
wifi-mac-header.h:65
ns3::WifiMacHeader::PrintFrameControl
void PrintFrameControl(std::ostream &os) const
Print the Frame Control field to the output stream.
Definition:
wifi-mac-header.cc:1060
ns3::WifiMacHeader::GetTypeString
const char * GetTypeString(void) const
Return a string corresponds to the header type.
Definition:
wifi-mac-header.cc:990
ns3::WifiMacHeader::WifiMacHeader
WifiMacHeader()
Definition:
wifi-mac-header.cc:49
ns3::WifiMacHeader::m_duration
uint16_t m_duration
Definition:
wifi-mac-header.h:648
ns3::WifiMacHeader::SetAssocResp
void SetAssocResp(void)
Set Type/Subtype values for an association response header.
Definition:
wifi-mac-header.cc:117
ns3::WifiMacHeader::m_ctrlRetry
uint8_t m_ctrlRetry
Definition:
wifi-mac-header.h:644
ns3::WIFI_MAC_QOSDATA_CFPOLL
Definition:
wifi-mac-header.h:69
ns3::WifiMacHeader::SetQosTxopLimit
void SetQosTxopLimit(uint8_t txop)
Set TXOP limit in the QoS control field.
Definition:
wifi-mac-header.cc:446
ns3::WifiMacHeader::m_qosStuff
uint16_t m_qosStuff
Definition:
wifi-mac-header.h:659
ns3::WifiMacHeader::SetSequenceNumber
void SetSequenceNumber(uint16_t seq)
Set the sequence number of the header.
Definition:
wifi-mac-header.cc:344
ns3::WifiMacHeader::IsData
bool IsData(void) const
Return true if the Type is DATA.
Definition:
wifi-mac-header.cc:628
ns3::WifiMacHeader::IsQosData
bool IsQosData(void) const
Return true if the Type is DATA and Subtype is one of the possible values for QoS DATA...
Definition:
wifi-mac-header.cc:635
ns3::WIFI_MAC_DATA_NULL_CFACK_CFPOLL
Definition:
wifi-mac-header.h:66
ns3::WifiMacHeader::IsBlockAckReq
bool IsBlockAckReq(void) const
Return true if the header is a Block ACK Request header.
Definition:
wifi-mac-header.cc:764
ns3::WifiMacHeader::SetQosNormalAck
void SetQosNormalAck(void)
Set the QoS ACK policy in the QoS control field to normal ACK.
Definition:
wifi-mac-header.cc:419
ns3::WifiMacHeader::SetTypeData
void SetTypeData(void)
Set Type/Subtype values for a data packet with no subtype equal to 0.
Definition:
wifi-mac-header.cc:159
ns3::WIFI_MAC_QOSDATA
Definition:
wifi-mac-header.h:67
ns3::WIFI_MAC_CTL_BACKREQ
Definition:
wifi-mac-header.h:42
ns3::WifiMacHeader::SetQosNoAmsdu
void SetQosNoAmsdu(void)
Set that A-MSDU is not present.
Definition:
wifi-mac-header.cc:441
ns3::WIFI_MAC_MGT_BEACON
Definition:
wifi-mac-header.h:45
ns3::WIFI_MAC_MGT_REASSOCIATION_RESPONSE
Definition:
wifi-mac-header.h:50
ns3::WifiMacHeader::Serialize
virtual void Serialize(Buffer::Iterator start) const
Definition:
wifi-mac-header.cc:1168
ns3::WifiMacHeader::SetDsTo
void SetDsTo(void)
Set the To DS bit in the Frame Control field.
Definition:
wifi-mac-header.cc:74
ns3::WifiMacHeader::IsFromDs
bool IsFromDs(void) const
Definition:
wifi-mac-header.cc:616
ns3::WifiMacHeader::SetQosEosp
void SetQosEosp()
Set the end of service period (EOSP) bit in the QoS control field.
Definition:
wifi-mac-header.cc:389
ns3::WifiMacHeader::IsQosEosp
bool IsQosEosp(void) const
Return if the end of service period (EOSP) is set.
Definition:
wifi-mac-header.cc:839
ns3::WifiMacHeader::~WifiMacHeader
~WifiMacHeader()
Definition:
wifi-mac-header.cc:57
ns3::WifiMacHeader::Deserialize
virtual uint32_t Deserialize(Buffer::Iterator start)
Definition:
wifi-mac-header.cc:1221
ns3::WifiMacHeader::SetDsFrom
void SetDsFrom(void)
Set the From DS bit in the Frame Control field.
Definition:
wifi-mac-header.cc:62
ns3::WifiMacHeader::SetNoOrder
void SetNoOrder(void)
Unset order bit in the frame control field.
Definition:
wifi-mac-header.cc:369
ns3::WifiMacHeader::IsMultihopAction
bool IsMultihopAction() const
Check if the header is a Multihop action header.
Definition:
wifi-mac-header.cc:758
ns3::WIFI_MAC_CTL_BACKRESP
Definition:
wifi-mac-header.h:43
ns3::WIFI_MAC_MGT_ASSOCIATION_RESPONSE
Definition:
wifi-mac-header.h:47
ns3::WifiMacHeader::SetType
void SetType(enum WifiMacType type)
Set Type/Subtype values with the correct values depending on the given type.
Definition:
wifi-mac-header.cc:180
ns3::WIFI_MAC_CTL_ACK
Definition:
wifi-mac-header.h:41
ns3::WifiMacHeader::IsCts
bool IsCts(void) const
Return true if the header is a CTS header.
Definition:
wifi-mac-header.cc:680
ns3::WifiMacHeader::GetAddr1
Mac48Address GetAddr1(void) const
Return the address in the Address 1 field.
Definition:
wifi-mac-header.cc:467
ns3::WIFI_MAC_CTL_RTS
Definition:
wifi-mac-header.h:39
first.address
tuple address
Definition:
first.py:37
ns3::WifiMacHeader::m_qosTid
uint8_t m_qosTid
Definition:
wifi-mac-header.h:655
ns3::WifiMacHeader::SetQosMeshControlPresent
void SetQosMeshControlPresent()
Set the Mesh Control Present flag for the QoS header.
Definition:
wifi-mac-header.cc:451
ns3::WifiMacHeader::ADDR4
Definition:
wifi-mac-header.h:103
ns3::WifiMacHeader::SetQosNoMeshControlPresent
void SetQosNoMeshControlPresent()
Clear the Mesh Control Present flag for the QoS header.
Definition:
wifi-mac-header.cc:458
ns3::WifiMacHeader::m_ctrlSubtype
uint8_t m_ctrlSubtype
Definition:
wifi-mac-header.h:640
ns3::WIFI_MAC_MGT_ACTION
Definition:
wifi-mac-header.h:55
ns3::WifiMacHeader::SetMultihopAction
void SetMultihopAction()
Set Type/Subtype values for a multihop action header.
Definition:
wifi-mac-header.cc:173
ns3::WifiMacHeader::IsDeauthentication
bool IsDeauthentication(void) const
Return true if the header is a Deauthentication header.
Definition:
wifi-mac-header.cc:746
ns3::WifiMacHeader::IsRts
bool IsRts(void) const
Return true if the header is a RTS header.
Definition:
wifi-mac-header.cc:674
ns3::WifiMacHeader::SetQosNoEosp
void SetQosNoEosp()
Un-set the end of service period (EOSP) bit in the QoS control field.
Definition:
wifi-mac-header.cc:394
ns3::WifiMacHeader::IsAck
bool IsAck(void) const
Return true if the header is an ACK header.
Definition:
wifi-mac-header.cc:686
ns3::WifiMacHeader::GetTypeId
static TypeId GetTypeId(void)
Definition:
wifi-mac-header.cc:1043
ns3::WifiMacHeader::SetFragmentNumber
void SetFragmentNumber(uint8_t frag)
Set the fragment number of the header.
Definition:
wifi-mac-header.cc:349
ns3::WifiMacHeader::SetBlockAckReq
void SetBlockAckReq(void)
Set Type/Subtype values for a Block Ack Request header.
Definition:
wifi-mac-header.cc:145
ns3::WIFI_MAC_DATA_CFPOLL
Definition:
wifi-mac-header.h:61
ns3::WifiMacHeader::BLOCK_ACK
Definition:
wifi-mac-header.h:92
ns3::TypeId
a unique identifier for an interface.
Definition:
type-id.h:58
ns3::WifiMacHeader::ADDR1
Definition:
wifi-mac-header.h:100
ns3::WifiMacHeader::SetQosAmsdu
void SetQosAmsdu(void)
Set that A-MSDU is present.
Definition:
wifi-mac-header.cc:436
ns3::WifiMacHeader::GetQosAckPolicy
enum QosAckPolicy GetQosAckPolicy(void) const
Return the QoS ACK Policy of a QoS header.
Definition:
wifi-mac-header.cc:860
ns3::WIFI_MAC_MGT_DEAUTHENTICATION
Definition:
wifi-mac-header.h:54
ns3::WifiMacHeader::IsRetry
bool IsRetry(void) const
Return if the Retry bit is set.
Definition:
wifi-mac-header.cc:806
ns3::WifiMacHeader
Implements the IEEE 802.11 MAC header.
Definition:
wifi-mac-header.h:81
ns3::WifiMacHeader::GetAddr2
Mac48Address GetAddr2(void) const
Return the address in the Address 2 field.
Definition:
wifi-mac-header.cc:473
ns3::WifiMacHeader::IsQosNoAck
bool IsQosNoAck(void) const
Return if the QoS ACK policy is No ACK.
Definition:
wifi-mac-header.cc:825
ns3::WifiMacHeader::SetQosBlockAck
void SetQosBlockAck(void)
Set the QoS ACK policy in the QoS control field to block ACK.
Definition:
wifi-mac-header.cc:425
ns3::WifiMacHeader::m_ctrlWep
uint8_t m_ctrlWep
Definition:
wifi-mac-header.h:646
ns3::WifiMacHeader::IsQosAck
bool IsQosAck(void) const
Return if the QoS ACK policy is Normal ACK.
Definition:
wifi-mac-header.cc:832
ns3::WifiMacHeader::SetDsNotFrom
void SetDsNotFrom(void)
Un-set the From DS bit in the Frame Control field.
Definition:
wifi-mac-header.cc:68
ns3::WifiMacHeader::NO_ACK
Definition:
wifi-mac-header.h:90
ns3::WIFI_MAC_QOSDATA_CFACK
Definition:
wifi-mac-header.h:68
ns3::WifiMacHeader::GetSequenceNumber
uint16_t GetSequenceNumber(void) const
Return the sequence number of the header.
Definition:
wifi-mac-header.cc:794
src
wifi
model
wifi-mac-header.h
Generated on Wed Nov 11 2015 20:00:52 for ns-3 by
1.8.9.1