e3ef329343e0f7cff2700a23ce34d84e53893c2a
[senf.git] / Packets / UDPPacket.cc
1 // $Id$
2 //
3 // Copyright (C) 2006 
4 // Fraunhofer Institut fuer offene Kommunikationssysteme (FOKUS)
5 // Kompetenzzentrum fuer Satelitenkommunikation (SatCom)
6 //     Stefan Bund <stefan.bund@fokus.fraunhofer.de>
7 //
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.
12 //
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.
17 //
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.
22
23 // Definition of non-inline non-template functions
24
25 #include "UDPPacket.hh"
26 //#include "UDPPacket.ih"
27 #include "IpV4Packet.hh"
28
29 // Custom includes
30 #include "DataPacket.hh"
31
32 #define prefix_
33 ///////////////////////////////cc.p////////////////////////////////////////
34
35 namespace {
36     senf::PacketRegistry<senf::IpTypes>::RegistrationProxy<senf::UDPPacket> 
37         registerUDPPacket (17);
38 }
39
40 prefix_ void senf::UDPPacket::v_nextInterpreter()
41     const
42 {
43     registerInterpreter<DataPacket>(begin()+bytes(),end());
44 }
45
46 prefix_ void senf::UDPPacket::v_finalize()
47 {}
48
49 prefix_ void senf::UDPPacket::v_dump(std::ostream & os)
50     const
51 {
52     os << "UDP:\n"
53        << "  source port   : " << source() << "\n"
54        << "  dest port     : " << destination() << "\n"
55        << "  length        : " << length() << "\n"
56        << "  crc           : " << std::hex << crc() << std::dec << "\n";
57 }
58
59 ///////////////////////////////cc.e////////////////////////////////////////
60 #undef prefix_
61
62 \f
63 // Local Variables:
64 // mode: c++
65 // c-file-style: "senf"
66 // End: