4 // Fraunhofer Institute for Open Communication Systems (FOKUS)
5 // Competence Center NETwork research (NET), St. Augustin, GERMANY
6 // Thorsten Horstmann <tho@berlios.de>
8 // This program is free software; you can redistribute it and/or modify
9 // it under the terms of the GNU General Public License as published by
10 // the Free Software Foundation; either version 2 of the License, or
11 // (at your option) any later version.
13 // This program is distributed in the hope that it will be useful,
14 // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 // GNU General Public License for more details.
18 // You should have received a copy of the GNU General Public License
19 // along with this program; if not, write to the
20 // Free Software Foundation, Inc.,
21 // 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
24 \brief MIH protocol non-inline non-template implementation */
26 #include "MIHPacket.hh"
27 //#include "MIHPacket.ih"
30 #include "../../Packets/Packets.hh"
31 #include <boost/io/ios_state.hpp>
36 prefix_ void senf::MIHPacketType::dump(packet p, std::ostream &os)
38 boost::io::ios_all_saver ias(os);
40 << " protocol header:\n" << "\n"
41 << " Version: " << unsigned( p->version()) << "\n"
42 << " Ack-Request: " << p->ackRequest() << "\n"
43 << " Ack-Response: " << p->ackResponse() << "\n"
44 << " UIR: " << p->uir() << "\n"
45 << " more fragment: " << p->moreFragment() << "\n"
46 << " fragment number: " << p->fragmentNr() << "\n"
47 << " message ID (MID):\n"
48 << " SID: " << unsigned( p->sid()) << "\n"
49 << " Opcode: " << unsigned( p->opcode()) << "\n"
50 << " AID: " << unsigned( p->aid()) << "\n"
51 << " Transaction ID: " << unsigned( p->transactionId()) << "\n"
52 << " payload length: " << unsigned( p->payloadLength()) << "\n";
56 prefix_ void senf::MIHPacketType::finalize(packet p)
58 p->source_length() << senf::bytes( p->source_mihf_id());
59 p->destination_length() << senf::bytes( p->destination_mihf_id());
60 p->payloadLength_() << p.size() - 8;
70 // c-file-style: "senf"
71 // indent-tabs-mode: nil
72 // ispell-local-dictionary: "american"
73 // compile-command: "scons -u test"