DESERT 3.5.1
Loading...
Searching...
No Matches
DESERT_Addons/uwmulti_traffic_control/initlib.cc
Go to the documentation of this file.
1//
2// Copyright (c) 2014 Regents of the SIGNET lab, University of Padova.
3// All rights reserved.
4//
5// Redistribution and use in source and binary forms, with or without
6// modification, are permitted provided that the following conditions
7// are met:
8// 1. Redistributions of source code must retain the above copyright
9// notice, this list of conditions and the following disclaimer.
10// 2. Redistributions in binary form must reproduce the above copyright
11// notice, this list of conditions and the following disclaimer in the
12// documentation and/or other materials provided with the distribution.
13// 3. Neither the name of the University of Padova (SIGNET lab) nor the
14// names of its contributors may be used to endorse or promote products
15// derived from this software without specific prior written permission.
16//
17// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
19// TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
20// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
21// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
22// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
23// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
24// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
25// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
26// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
27// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
37#include <tclcl.h>
39#include <uwmulti-cmn-hdr.h>
40
41extern EmbeddedTcl UwMultiTrafficControlInitTclCode;
42
44// new protocol
48
51
55
56static class MultiTrHeaderClass : public PacketHeaderClass
57{
58public:
63 : PacketHeaderClass("PacketHeader/MULTI_TR", sizeof(hdr_uwm_tr))
64 {
65 this->bind();
66 bind_offset(&hdr_uwm_tr::offset_);
67 }
69
73static class UwmultiphyPingHeaderClass : public PacketHeaderClass
74{
75public:
80 : PacketHeaderClass("PacketHeader/UWMULTIPHY_PING", sizeof(hdr_uwmultiphy_ping))
81 {
82 this->bind();
83 bind_offset(&hdr_uwmultiphy_ping::offset_);
84 }
86
90static class UwmultiphyPongHeaderClass : public PacketHeaderClass
91{
92public:
97 : PacketHeaderClass("PacketHeader/UWMULTIPHY_PONG", sizeof(hdr_uwmultiphy_pong))
98 {
99 this->bind();
100 bind_offset(&hdr_uwmultiphy_pong::offset_);
101 }
103
107static class UwmultiphyDataHeaderClass : public PacketHeaderClass
108{
109public:
114 : PacketHeaderClass("PacketHeader/UWMULTIPHY_DATA", sizeof(hdr_uwmultiphy_data))
115 {
116 this->bind();
117 bind_offset(&hdr_uwmultiphy_data::offset_);
118 }
120
122{
123 PT_MULTI_TR_PROBE = p_info::addPacket("MULTI_TR_PROBE");
124 PT_MULTI_TR_PROBE_ACK = p_info::addPacket("MULTI_TR_PROBE_ACK");
125
126 PT_UWMULTIPHY_PING = p_info::addPacket((char*) "UWMULTIPHY/UWMULTIPHY_PING");
127 PT_UWMULTIPHY_PONG = p_info::addPacket((char*) "UWMULTIPHY/UWMULTIPHY_PONG");
128
129 PT_UWMULTIPHY_DATA = p_info::addPacket((char*) "UWMULTIPHY/UWMULTIPHY_DATA");
130
132 return 0;
133}
134
136{
138 return 0;
139}
MultiTrHeaderClass class_hdr_MULTI_TR
UwmultiphyPingHeaderClass class_hdr_uwmultiphy_ping
UwmultiphyPongHeaderClass class_hdr_uwmultiphy_pong
EmbeddedTcl UwMultiTrafficControlInitTclCode
UwmultiphyDataHeaderClass class_hdr_uwmultiphy_data
Class that describe the Header of UWMULTIPHY_DATA Packet.
Class that describe the Header of UWMULTIPHY_PING Packet.
Class that describe the Header of UWMULTIPHY_PONG Packet.
traffic, counter
static int offset_
Required by the PacketHeaderManager.
Header of the DATA message.
static int offset_
Required by the PacketHeaderManager.
static int offset_
Required by the PacketHeaderManager.
Header of the uwmultiphy_pong message.
static int offset_
Required by the PacketHeaderManager.