ICMP_ECHO_REPLY structure (ipexport.h)

The ICMP_ECHO_REPLY structure describes the data returned in response to an IPv4 echo request.

Syntax

typedef struct icmp_echo_reply {
  IPAddr                       Address;
  ULONG                        Status;
  ULONG                        RoundTripTime;
  USHORT                       DataSize;
  USHORT                       Reserved;
  PVOID                        Data;
  struct ip_option_information Options;
} ICMP_ECHO_REPLY, *PICMP_ECHO_REPLY;

Members

Address

Type: IPAddr

The replying IPv4 address, in the form of an IPAddr structure.

Status

Type: ULONG

The status of the echo request, in the form of an IP_STATUS code. The possible values for this member are defined in the Ipexport.h header file.

Value Meaning
IP_SUCCESS
0
The status was success.
IP_BUF_TOO_SMALL
11001
The reply buffer was too small.
IP_DEST_NET_UNREACHABLE
11002
The destination network was unreachable.
IP_DEST_HOST_UNREACHABLE
11003
The destination host was unreachable.
IP_DEST_PROT_UNREACHABLE
11004
The destination protocol was unreachable.
IP_DEST_PORT_UNREACHABLE
11005
The destination port was unreachable.
IP_NO_RESOURCES
11006
Insufficient IP resources were available.
IP_BAD_OPTION
11007
A bad IP option was specified.
IP_HW_ERROR
11008
A hardware error occurred.
IP_PACKET_TOO_BIG
11009
The packet was too big.
IP_REQ_TIMED_OUT
11010
The request timed out.
IP_BAD_REQ
11011
A bad request.
IP_BAD_ROUTE
11012
A bad route.
IP_TTL_EXPIRED_TRANSIT
11013
The time to live (TTL) expired in transit.
IP_TTL_EXPIRED_REASSEM
11014
The time to live expired during fragment reassembly.
IP_PARAM_PROBLEM
11015
A parameter problem.
IP_SOURCE_QUENCH
11016
Datagrams are arriving too fast to be processed and datagrams may have been discarded.
IP_OPTION_TOO_BIG
11017
An IP option was too big.
IP_BAD_DESTINATION
11018
A bad destination.
IP_GENERAL_FAILURE
11050
A general failure. This error can be returned for some malformed ICMP packets.

RoundTripTime

Type: ULONG

The round trip time, in milliseconds.

DataSize

Type: USHORT

The data size, in bytes, of the reply.

Reserved

Type: USHORT

Reserved for system use.

Data

Type: PVOID

A pointer to the reply data.

Options

Type: struct ip_option_information

The IP options in the IP header of the reply, in the form of an IP_OPTION_INFORMATION structure.

Remarks

The ICMP_ECHO_REPLY structure is used by the IcmpParseReplies function to return the response to an IPv4 echo request. On a 64-bit platform, the ICMP_ECHO_REPLY32 structure should be used.

For IPv4, some of the possible values for the Status member are specified in RFC 792.

The GetIpErrorString function can be used to retrieve the IP helper error string for the IP_STATUS error code in the Status member.

The ICMP_ECHO_REPLY structure is defined in the Ipexport.h header file which is automatically included in the Iphlpapi.h header file. The Ipexport.h header file should never be used directly.

Requirements

Requirement Value
Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Header ipexport.h (include Iphlpapi.h)

See also

GetIpErrorString

IP Helper Start Page

IP Helper Structures

IPAddr

IP_OPTION_INFORMATION

IP_OPTION_INFORMATION32

IcmpCloseHandle

IcmpCreateFile

IcmpParseReplies

IcmpSendEcho

IcmpSendEcho2

IcmpSendEcho2Ex