A Discrete-Event Network Simulator
API
llc-snap-header.h
Go to the documentation of this file.
1 /* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2 /*
3  * Copyright (c) 2005 INRIA
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License version 2 as
7  * published by the Free Software Foundation;
8  *
9  * This program is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with this program; if not, write to the Free Software
16  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17  *
18  * Author: Mathieu Lacage <mathieu.lacage@sophia.inria.fr>
19  */
20 
21 #ifndef LLC_SNAP_HEADER_H
22 #define LLC_SNAP_HEADER_H
23 
24 #include <stdint.h>
25 #include <string>
26 #include "ns3/header.h"
27 
28 namespace ns3 {
29 
33 static const uint16_t LLC_SNAP_HEADER_LENGTH = 8;
34 
42 class LlcSnapHeader : public Header
43 {
44 public:
45  LlcSnapHeader ();
46 
51  void SetType (uint16_t type);
56  uint16_t GetType (void);
57 
62  static TypeId GetTypeId (void);
63  virtual TypeId GetInstanceTypeId (void) const;
64  virtual void Print (std::ostream &os) const;
65  virtual uint32_t GetSerializedSize (void) const;
66  virtual void Serialize (Buffer::Iterator start) const;
67  virtual uint32_t Deserialize (Buffer::Iterator start);
68 private:
69  uint16_t m_etherType;
70 };
71 
72 } // namespace ns3
73 
74 #endif /* LLC_SNAP_HEADER_H */
Protocol header serialization and deserialization.
Definition: header.h:42
def start()
Definition: core.py:1844
void SetType(uint16_t type)
Set the Ethertype.
iterator in a Buffer instance
Definition: buffer.h:98
virtual uint32_t Deserialize(Buffer::Iterator start)
virtual uint32_t GetSerializedSize(void) const
uint16_t GetType(void)
Return the Ethertype.
uint16_t m_etherType
the Ethertype
virtual void Print(std::ostream &os) const
static const uint16_t LLC_SNAP_HEADER_LENGTH
The length in octects of the LLC/SNAP header.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
virtual TypeId GetInstanceTypeId(void) const
Get the most derived TypeId for this Object.
static TypeId GetTypeId(void)
Get the type ID.
a unique identifier for an interface.
Definition: type-id.h:58
virtual void Serialize(Buffer::Iterator start) const
Header for the LLC/SNAP encapsulation.