ITS
BasicHeader.h
Go to the documentation of this file.
1 
14 #ifndef BASICHEADER_H
15 #define BASICHEADER_H
16 
17 #include <QByteArray>
18 #include <LifeTime.h>
19 #include <QDataStream>
20 #include <constantes.h>
21 
25 typedef struct sniff_basicHeader_s
26 {
28  quint8 reserved;
30  quint8 rhl;
32 
34 {
35 public:
36 
37 
41  enum e_helper
42  {
44  };
45 
50  {
54  };
55 
59  BasicHeader();
74  BasicHeader(quint8 version_nextHeader, LifeTime lifeTime, quint8 rhl);
78  BasicHeader(uchar*);
83  BasicHeader(const BasicHeader &other);
89 
90  /* Getters */
95  quint8 version() const{return (m_version_nextHeader & 0xF0) >> 4;}
100  quint8 nextHeader() const{return (m_version_nextHeader & 0x0F);}
105  LifeTime lifeTime() const{return m_lifeTime;}
110  quint8 rhl() const{return m_rhl;}
111 
112  /* Setters */
117  void setVersion(quint8 v) {m_version_nextHeader &= 0xF; m_version_nextHeader |= ((v & 0xF) << 4);}
127  void setVersionNextHeader(quint8 vnh) {m_version_nextHeader = vnh;}
137  void setRHL(quint8 r) {m_rhl = r;}
138 
139  /* API */
144  QByteArray toHex();
145 
146 private:
148  quint8 m_reserved;
150  quint8 m_rhl;
151 };
152 
153 #endif // BASICHEADER_H
BasicHeader()
BasicHeader BasicHeader constructor.
Definition: BasicHeader.cpp:3
quint8 m_rhl
Definition: BasicHeader.h:150
The sniff_basicHeader_t is a C version of the class.
Definition: BasicHeader.h:25
quint8 m_version_nextHeader
Definition: BasicHeader.h:147
struct sniff_basicHeader_s sniff_basicHeader_t
The sniff_basicHeader_t is a C version of the class.
void setRHL(quint8 r)
setRHL Router hop limit field setter.
Definition: BasicHeader.h:137
quint8 nextHeader() const
nextHeader Next header field getter.
Definition: BasicHeader.h:100
void setVersion(quint8 v)
setVersion Version field setter.
Definition: BasicHeader.h:117
sniff_lifeTime_t structure is the C style of the class.
Definition: LifeTime.h:16
sniff_lifeTime_t lifeTime
Definition: BasicHeader.h:29
quint8 version() const
version Version field getter.
Definition: BasicHeader.h:95
e_nextHeader
The e_nextHeader enum defines the Next header values.
Definition: BasicHeader.h:49
Constantes used everywhere.
QByteArray toHex()
toHex Byte array translator
Definition: BasicHeader.cpp:43
quint8 rhl() const
rhl Router hop limit field getter.
Definition: BasicHeader.h:110
e_helper
The e_helper enum is used to help to have sizes.
Definition: BasicHeader.h:41
LifeTime lifeTime() const
lifeTime Life time field getter.
Definition: BasicHeader.h:105
quint8 version_nextHeader
Definition: BasicHeader.h:27
void setLifeTime(LifeTime l)
setLifeTime Life time field setter.
Definition: BasicHeader.h:132
LifeTime m_lifeTime
Definition: BasicHeader.h:149
Life time definition.
quint8 m_reserved
Definition: BasicHeader.h:148
void setVersionNextHeader(quint8 vnh)
setVersionNextHeader Version + Next header fields setter.
Definition: BasicHeader.h:127
void setNextHeader(enum e_nextHeader n)
setNextHeader Next header field setter.
Definition: BasicHeader.h:122