ITS
CommonHeader.cpp
Go to the documentation of this file.
1
#include "
CommonHeader.h
"
2
3
CommonHeader::CommonHeader
()
4
{
5
m_nextHeader
= (
CommonHeader::nextHeaderType_any
& 0xF) << 4;
6
m_headerType_HeaderSubType
= (
headerType_any
& 0xF) << 4;
7
m_headerType_HeaderSubType
|= (
headerSubTypeAny_unspecified
& 0xF);
8
m_trafficClass
=
TrafficClass
();
9
m_flags
= 0;
10
m_payloadLength
= 0;
11
m_maximumHopLimit
= 0;
12
m_reserved
= 0;
13
}
14
15
CommonHeader::CommonHeader
(quint8 nextHeader,
enum
e_headerType
headerType, quint8 headerSubType,
TrafficClass
trafficClass, quint8 flags, quint16 payloadLength, quint8 maximumHopLimit)
16
{
17
m_nextHeader
= (
nextHeader
& 0xF) << 4;
18
m_headerType_HeaderSubType
= (
headerType
& 0xF) << 4;
19
m_headerType_HeaderSubType
|= (
headerSubType
& 0xF);
20
m_trafficClass
=
trafficClass
;
21
m_flags
= (
flags
& 1) << 7;
22
m_payloadLength
=
payloadLength
;
23
m_maximumHopLimit
=
maximumHopLimit
;
24
m_reserved
= 0;
25
}
26
27
CommonHeader::CommonHeader
(quint8 nextHeader, quint8 headerType_HeaderSubType,
TrafficClass
trafficClass, quint8 flags, quint16 payloadLength, quint8 maximumHopLimit)
28
{
29
m_nextHeader
= (
nextHeader
& 0xF) << 4;
30
m_headerType_HeaderSubType
=
headerType_HeaderSubType
;
31
m_trafficClass
=
trafficClass
;
32
m_flags
= (
flags
& 1) << 7;
33
m_payloadLength
=
payloadLength
;
34
m_maximumHopLimit
=
maximumHopLimit
;
35
m_reserved
= 0;
36
}
37
38
CommonHeader::CommonHeader
(
const
CommonHeader
& other)
39
{
40
this->
m_nextHeader
= other.
nextHeader
();
41
this->
m_headerType_HeaderSubType
= other.
headerType_HeaderSubType
();
42
this->
m_trafficClass
= other.
trafficClass
();
43
this->
m_flags
= other.
flags
();
44
this->
m_payloadLength
= other.
payloadLength
();
45
this->
m_maximumHopLimit
= other.
maximumHopLimit
();
46
m_reserved
= 0;
47
}
48
49
CommonHeader::CommonHeader
(
sniff_commonHeader_t
ch)
50
{
51
m_nextHeader
= ch.
nextHeader
;
52
m_headerType_HeaderSubType
= ch.
headerType_HeaderSubType
;
53
m_trafficClass
=
TrafficClass
(ch.
trafficClass
.
SCF_ChannelOffload_TCID
);
54
m_flags
= ch.
flags
;
55
m_payloadLength
=
SWAP16
(ch.
payloadLength
);
56
m_maximumHopLimit
= ch.
maximumHopLimit
;
57
}
58
59
QByteArray
CommonHeader::toHex
()
60
{
61
QByteArray hex;
62
QDataStream ds(&hex, QIODevice::WriteOnly);
63
64
ds <<
m_nextHeader
;
65
ds <<
m_headerType_HeaderSubType
;
66
ds.writeRawData(
m_trafficClass
.
toHex
().data(),
TrafficClass::helper_size
);
67
ds <<
m_flags
;
68
ds <<
m_payloadLength
;
69
ds <<
m_maximumHopLimit
;
70
ds <<
m_reserved
;
71
72
return
hex;
73
}
CommonHeader::toHex
QByteArray toHex()
toHex Create a QByteArray containing the hexadecimal format of the CommonHeader.
Definition:
CommonHeader.cpp:59
CommonHeader.h
Common Header structure.
CommonHeader::m_trafficClass
TrafficClass m_trafficClass
Definition:
CommonHeader.h:228
CommonHeader::m_nextHeader
quint8 m_nextHeader
Definition:
CommonHeader.h:226
TrafficClass::helper_size
Definition:
TrafficClass.h:36
CommonHeader::m_flags
quint8 m_flags
Definition:
CommonHeader.h:229
TrafficClass
Definition:
TrafficClass.h:28
CommonHeader::m_headerType_HeaderSubType
quint8 m_headerType_HeaderSubType
Definition:
CommonHeader.h:227
CommonHeader::m_maximumHopLimit
quint8 m_maximumHopLimit
Definition:
CommonHeader.h:231
CommonHeader::payloadLength
quint16 payloadLength() const
payloadLength Payload length field getter.
Definition:
CommonHeader.h:218
SWAP16
#define SWAP16(nb)
Definition:
api.h:41
sniff_trafficClass_s::SCF_ChannelOffload_TCID
quint8 SCF_ChannelOffload_TCID
Definition:
TrafficClass.h:25
CommonHeader::headerType_any
Definition:
CommonHeader.h:67
sniff_commonHeader_s::headerType_HeaderSubType
quint8 headerType_HeaderSubType
Definition:
CommonHeader.h:32
sniff_commonHeader_s::payloadLength
quint16 payloadLength
Definition:
CommonHeader.h:35
CommonHeader::e_headerType
e_headerType
The e_headerType enum defines the Header type values.
Definition:
CommonHeader.h:65
CommonHeader::headerType
quint8 headerType() const
headerType Header field getter.
Definition:
CommonHeader.h:193
CommonHeader::m_reserved
quint8 m_reserved
Definition:
CommonHeader.h:232
CommonHeader::nextHeaderType_any
Definition:
CommonHeader.h:56
sniff_commonHeader_s::nextHeader
quint8 nextHeader
Definition:
CommonHeader.h:31
CommonHeader::trafficClass
TrafficClass trafficClass() const
trafficClass Traffic class field getter.
Definition:
CommonHeader.h:203
CommonHeader::flags
quint8 flags() const
flags Flags field getter.
Definition:
CommonHeader.h:208
CommonHeader::m_payloadLength
quint16 m_payloadLength
Definition:
CommonHeader.h:230
sniff_commonHeader_s::trafficClass
sniff_trafficClass_t trafficClass
Definition:
CommonHeader.h:33
CommonHeader::CommonHeader
CommonHeader()
CommonHeader Default constructor.
Definition:
CommonHeader.cpp:3
CommonHeader::headerSubType
quint8 headerSubType() const
headerSubType Header sub-type field getter.
Definition:
CommonHeader.h:198
CommonHeader
Definition:
CommonHeader.h:40
CommonHeader::nextHeader
quint8 nextHeader() const
nextHeader Next header field getter.
Definition:
CommonHeader.h:182
TrafficClass::toHex
QByteArray toHex()
toHex Encode the TrafficClass in binary.
Definition:
TrafficClass.cpp:25
sniff_commonHeader_s
The sniff_commonHeader_t is a C version of the class.
Definition:
CommonHeader.h:29
sniff_commonHeader_s::flags
quint8 flags
Definition:
CommonHeader.h:34
CommonHeader::maximumHopLimit
quint8 maximumHopLimit() const
maximumHopLimit Maximum hop limit field getter.
Definition:
CommonHeader.h:223
CommonHeader::headerType_HeaderSubType
quint8 headerType_HeaderSubType() const
headerType_HeaderSubType Header type + header sub-type fields getter.
Definition:
CommonHeader.h:187
sniff_commonHeader_s::maximumHopLimit
quint8 maximumHopLimit
Definition:
CommonHeader.h:36
CommonHeader::headerSubTypeAny_unspecified
Definition:
CommonHeader.h:80
network
src
CommonHeader.cpp
Generated by
1.8.14