Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
GrayLib::cPingICMP4 Class Reference

#include <cPingCommon.h>

Inheritance diagram for GrayLib::cPingICMP4:
IPingProtocol

Public Member Functions

virtual size_t MakePingPacket (OUT BYTE *pData, MSGTYPE_TYPE eMsgType, const void *pPayload, size_t nPayloadSize) const override
 
virtual HRESULT CheckPingPacket (const BYTE *pData, size_t iLen, size_t *pnPayloadOffset) const override
 

Static Public Attributes

static const size_t k_SIZE_MAX = 76
 MAXICMPLEN = max size for ICMP ping. More...
 

Detailed Description

The 'classic' ICMP format ping. SOCK_RAW, IPPROTO_ICMP converts MSGTYPE_TYPE to ICMP_ECHO, ICMP_ECHOREPLY, ICMP_IREQ, ICMP_IREQREPLY ICMP_TSTAMP, ICMP_TSTAMPREPLY ?

Member Function Documentation

◆ CheckPingPacket()

HRESULT GrayLib::cPingICMP4::CheckPingPacket ( const BYTE *  pData,
size_t  iLen,
size_t *  pnPayloadOffset 
) const
overridevirtual

Assume we get raw IP4 data back.

Note
Payload may be padded out to 18 bytes if less.
Returns
MSGTYPE_TYPE

◆ MakePingPacket()

size_t GrayLib::cPingICMP4::MakePingPacket ( OUT BYTE *  pData,
MSGTYPE_TYPE  eMsgType,
const void *  pPayload,
size_t  nPayloadSize 
) const
overridevirtual

Make ICMP packet for socket(AF_INET, SOCK_RAW, IPPROTO_ICMP)

Member Data Documentation

◆ k_SIZE_MAX

const size_t GrayLib::cPingICMP4::k_SIZE_MAX = 76
static

MAXICMPLEN = max size for ICMP ping.


The documentation for this class was generated from the following files: