public:
enum IcmpType
{
- EchoReply = 0,
- DestinationUnreachable = 3,
- SourceQuench = 4,
- Redirect = 5,
- EchoRequest = 8,
- TimeExceeded = 11,
- ParameterProblem = 12,
- TimestampRequest = 13,
- TimestampReply = 14,
- InfoRequest = 15,
- InfoReply = 16,
- AddressRequest = 17,
- AddressReply = 18
+ IcmpType_EchoReply = 0,
+ IcmpType_DestinationUnreachable = 3,
+ IcmpType_SourceQuench = 4,
+ IcmpType_Redirect = 5,
+ IcmpType_EchoRequest = 8,
+ IcmpType_TimeExceeded = 11,
+ IcmpType_ParameterProblem = 12,
+ IcmpType_TimestampRequest = 13,
+ IcmpType_TimestampReply = 14,
+ IcmpType_InfoRequest = 15,
+ IcmpType_InfoReply = 16,
+ IcmpType_AddressRequest = 17,
+ IcmpType_AddressReply = 18
};
+public:
IcmpHeader();
IcmpHeader(
IcmpType type,
{
IcmpData icmp_data( "ping-message" );
- IcmpHeader::IcmpType type = IcmpHeader::EchoRequest;
+ IcmpHeader::IcmpType type = IcmpHeader::IcmpType_EchoRequest;
uint8_t code = 0;
uint16_t identifier = get_identifier();
IcmpChecksumCalculator calculator( icmp_data.begin(), icmp_data.end() );
// We can receive all ICMP packets received by the host, so we need to
// filter out only the echo replies that match the our identifier and
// expected sequence number.
- if ( is && icmp_packet.match( IcmpHeader::EchoReply, get_identifier(), SequenceNumber ) )
+ if ( is && icmp_packet.match( IcmpHeader::IcmpType_EchoReply, get_identifier(), SequenceNumber ) )
{
// If this is the first reply, interrupt the echo reply timeout.
if ( RepliesCount == 0 )