00001 // Copyright (C) 2003, 2004, 2005 Laboratoire de Recherche en Informatique 00002 00003 // This file is part of Qolyester. 00004 00005 // Qolyester is free software; you can redistribute it and/or 00006 // modify it under the terms of the GNU General Public License 00007 // as published by the Free Software Foundation; either version 2 00008 // of the License, or (at your option) any later version. 00009 00010 // Qolyester is distributed in the hope that it will be useful, 00011 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 // GNU General Public License for more details. 00014 00015 // You should have received a copy of the GNU General Public License 00016 // along with this program; if not, write to the Free Software 00017 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 00018 00028 00029 #include "msg/message.hh" 00030 00031 #ifndef QOLYESTER_DAEMON_MSG_TC_HH 00032 # define QOLYESTER_DAEMON_MSG_TC_HH 1 00033 00034 namespace olsr { 00035 00036 namespace msg { 00037 00042 class TCMessage : public Message { 00043 public: 00044 00048 TCMessage(); 00049 00054 TCMessage(const utl::Data&); 00055 00059 virtual ~TCMessage() {} 00060 00067 virtual bool dump(utl::Data&, const address_t&) const; 00068 00074 static void parse(const utl::ConstData& d, 00075 const Message::header& mh); 00076 00077 static const ::size_t min_length = sizeof (raw); 00078 00079 private: 00080 utl::Data _data; 00081 00082 protected: 00087 struct raw { 00088 u_int16_t ansn; 00089 u_int16_t reserved; 00090 u_int8_t data[0]; 00091 }; 00092 }; 00093 00094 } // namespace msg 00095 00096 } // namespace olsr 00097 00098 # ifndef QOLYESTER_DONTINCLUDE_HXX 00099 # include "tc.hxx" 00100 # endif 00101 00102 #endif // ! QOLYESTER_DAEMON_MSG_TC_HH