Class CICMPCrafter::
GetEcho()
Base ClassesData ItemsConstructorsDestructorsFunctionsCustom CodeGo to hierarchy chart    Prev page: FinalIPHeaderNext page: GetInformation    Show member index
Public Function Declared in:
ICMPCrafter.h

'Declaration' icon -- Shortcut to top of page. Declaration

char * GetEcho(
    BOOL bReply,
    unsigned short usIdentifier,
    unsigned short usSequence,
    unsigned long ulData,
    unsigned short& usTotalSize) const;

'Function Body' icon -- Shortcut to top of page. Function Body

try
{
    //Create the header
    LPICMPHeader lpHead;
    lpHead=ConstructICMP();

    if (!lpHead)
    {
        ReportError("SendEcho","Failed to construct ICMP header!");
        return FALSE;
    }

    //Protect it
    std::auto_ptr<ICMPHeader> pProtection(lpHead);

    //Check if echo or reply
    if (bReply)
        lpHead->ucICMPType=ICMP_Echo_Reply;
    else
        lpHead->ucICMPType=ICMP_Echo;

    lpHead->ucICMPCode=0;
    lpHead->sICMP.sUS.us1=htons(usIdentifier);
    lpHead->sICMP.sUS.us2=htons(usSequence);
    lpHead->ulICMP_Originate_Timestamp=htonl(ulData);

    //And the checksum
    lpHead->usICMPChecksum=CalculateChecksum((unsigned short*)lpHead,ICMPHeaderLength);

    //Create the packet
    return CreateFinal(lpHead,
                       usTotalSize);
}
ERROR_HANDLER_RETURN("GetEcho",NULL)

'See Also' icon -- Shortcut to top of page. See Also

Class Overview Class Overview  |  Public base class CIPCrafter  |  Public base class CICMPSocket  |  Hierarchy Chart Hierarchy Chart


Get Surveyor!This web site was generated using Surveyor V4.50.811.1.  Click here for more information. Site content copyright © 2003 Komodia LTD.. See the About page for additional notices. This page last updated: 24 Feb 2003.