25 #define WIMAX_TLV_EXTENDED_LENGTH_MASK 0x80
27 #include "ns3/ipv4-address.h"
30 #include "ns3/assert.h"
31 #include "ns3/uinteger.h"
32 #include "ns3/header.h"
77 Tlv (uint8_t type, uint64_t length,
const TlvValue & value);
81 virtual void Print (std::ostream &os)
const;
170 typedef std::vector<Tlv*>::const_iterator
Iterator;
178 void Add (
const Tlv & val);
288 uint8_t
GetLow (
void)
const;
310 typedef std::vector<struct PortRange>::const_iterator
Iterator;
316 void Add (uint16_t portLow, uint16_t portHigh);
333 typedef std::vector<uint8_t>::const_iterator
Iterator;
337 void Add (uint8_t protiocol);
358 typedef std::vector<struct ipv4Addr>::const_iterator
Iterator;
virtual PortRangeTlvValue * Copy(void) const
virtual uint32_t Deserialize(Buffer::Iterator start, uint64_t valueLength)
virtual uint32_t Deserialize(Buffer::Iterator start, uint64_t valueLength)
virtual ProtocolTlvValue * Copy(void) const
uint8_t GetSizeOfLen(void) const
virtual void Serialize(Buffer::Iterator start) const
std::vector< struct ipv4Addr >::const_iterator Iterator
std::vector< uint8_t >::const_iterator Iterator
uint16_t GetValue(void) const
a class to represent an Ipv4 address mask
virtual uint32_t GetSerializedSize(void) const =0
uint8_t GetValue(void) const
virtual uint32_t Deserialize(Buffer::Iterator start, uint64_t valueLength)=0
virtual uint32_t GetSerializedSize(void) const
virtual uint32_t Deserialize(Buffer::Iterator start)
virtual uint32_t GetSerializedSize(void) const
virtual void Serialize(Buffer::Iterator start) const
void Add(uint16_t portLow, uint16_t portHigh)
virtual uint32_t GetSerializedSize(void) const
this class implements the convergence sub-layer descriptor as a tlv vector
virtual uint32_t GetSerializedSize(void) const
virtual uint32_t Deserialize(Buffer::Iterator start, uint64_t valueLength)
virtual U16TlvValue * Copy(void) const
void Add(uint8_t protiocol)
This class implements the Type-Len-Value structure channel encodings as described by "IEEE Standard f...
virtual uint32_t Deserialize(Buffer::Iterator start, uint64_t valueLength)
iterator in a Buffer instance
The value field of a tlv can take different values (uint8_t, uint16, vector...).
std::vector< struct ipv4Addr > * m_ipv4Addr
uint8_t GetLow(void) const
virtual void Serialize(Buffer::Iterator start) const
virtual void Serialize(Buffer::Iterator start) const
std::vector< struct PortRange >::const_iterator Iterator
virtual uint32_t GetSerializedSize(void) const
virtual uint32_t Deserialize(Buffer::Iterator start, uint64_t valueLength)
virtual void Serialize(Buffer::Iterator start) const
uint64_t GetLength(void) const
virtual VectorTlvValue * Copy(void) const =0
std::vector< Tlv * > * m_tlvList
uint8_t GetHigh(void) const
ClassificationRuleTlvType
virtual TlvValue * Copy(void) const =0
std::vector< uint8_t > * m_protocol
virtual void Serialize(Buffer::Iterator start) const
U8TlvValue * Copy(void) const
virtual U32TlvValue * Copy(void) const
TlvValue * CopyValue(void) const
uint8_t GetType(void) const
virtual TypeId GetInstanceTypeId(void) const
virtual uint32_t Deserialize(Buffer::Iterator start, uint64_t valueLen)=0
virtual SfVectorTlvValue * Copy(void) const
std::vector< struct PortRange > * m_portRange
virtual CsParamVectorTlvValue * Copy(void) const
virtual uint32_t GetSerializedSize(void) const
virtual uint32_t GetSerializedSize(void) const
virtual ClassificationRuleVectorTlvValue * Copy(void) const
TlvValue * PeekValue(void)
ClassificationRuleVectorTlvValue()
this class implements the classifier descriptor as a tlv vector
virtual uint32_t GetSerializedSize(void) const
this class is used to implement a vector of values in one tlv value field
Tlv & operator=(Tlv const &o)
Ipv4 addresses are stored in host order in this class.
virtual uint32_t GetSerializedSize(void) const
virtual uint32_t Deserialize(Buffer::Iterator start, uint64_t valueLen)
virtual void Print(std::ostream &os) const
virtual uint32_t Deserialize(Buffer::Iterator start, uint64_t valueLen)
virtual void Serialize(Buffer::Iterator start) const
virtual void Serialize(Buffer::Iterator start) const =0
virtual void Serialize(Buffer::Iterator start) const
virtual Ipv4AddressTlvValue * Copy() const
uint32_t GetValue(void) const
void Add(Ipv4Address address, Ipv4Mask Mask)
uint8_t GetMask(void) const
std::vector< Tlv * >::const_iterator Iterator
virtual void Serialize(Buffer::Iterator start) const
a unique identifier for an interface.
virtual TosTlvValue * Copy() const
virtual uint32_t Deserialize(Buffer::Iterator start, uint64_t valueLength)
virtual uint32_t Deserialize(Buffer::Iterator start, uint64_t valueLength)
virtual uint32_t Deserialize(Buffer::Iterator start, uint64_t valueLen)