Main Page | Modules | Data Structures | Directories | File List | Data Fields | Globals | Related Pages

# icmp.h

Go to the documentation of this file.

    00001 /*! \file icmp.h \brief ICMP Protocol Library. */
    00002 //*****************************************************************************
    00003 //
    00004 // File Name    : 'icmp.h'
    00005 // Title        : ICMP (Internet Control Message Protocol) Protocol Library
    00006 // Author       : Pascal Stang
    00007 // Created      : 9/10/2004
    00008 // Revised      : 7/3/2005
    00009 // Version      : 0.1
    00010 // Target MCU   : Atmel AVR series
    00011 // Editor Tabs  : 4
    00012 //
    00013 /// \ingroup network
    00014 /// \defgroup icmp ICMP Protocol Library (icmp.c)
    00015 /// \code #include "net/icmp.h" \endcode
    00016 /// \par Description
    00017 ///     ICMP (Internet Control Message Protocol) has many functions on the
    00018 ///     internet, including the handling of ECHO (ping) requests, relaying
    00019 ///     network route status, passing connection status messages, etc.
    00020 ///
    00021 ///     This library currently handles only ICMP ECHO requests (ping), but
    00022 ///     may be expanded to include other useful ICMP operations as needed.
    00023 //
    00024 //  This code is distributed under the GNU Public License
    00025 //      which can be found at http://www.gnu.org/licenses/gpl.txt
    00026 //*****************************************************************************
    00027 //@{
    00028
    00029 #ifndef ICMP_H
    00030 #define ICMP_H
    00031
    00032 #include "global.h"
    00033 #include "net.h"
    00034
    00035 //#define ICMP_DEBUG_PRINT
    00036
    00037 //! Initialize ICMP protocol library.
    00038 void icmpInit(void);
    00039
    00040 //! Incoming IP packets of protocol ICMP should be passed to this function.
    00041 void icmpIpIn(icmpip_hdr* packet);
    00042
    00043 //! Forms and sends a reply in response to an ICMP ECHO request.
    00044 void icmpEchoRequest(icmpip_hdr* packet);
    00045
    00046 //! Print ICMP packet information.
    00047 void icmpPrintHeader(icmpip_hdr* packet);
    00048
    00049 #endif
    00050 //@}