11 #ifndef _INCLUDE_ICMPV4_H
12 #define _INCLUDE_ICMPV4_H
17 #include <netinet/in.h>
20 #include <netinet/ip.h>
22 #if HAVE_NETINET_IP_ICMP_H
23 #include <netinet/ip_icmp.h>
26 #if !_SQUID_LINUX_ && !_SQUID_WINDOWS_
39 #define icmp_type type
40 #define icmp_code code
41 #define icmp_cksum checksum
42 #define icmp_id un.echo.id
43 #define icmp_seq un.echo.sequence
47 #define ip_len tot_len
49 #define ip_off frag_off
77 typedef struct iphdr {
111 #ifndef ICMP_ECHOREPLY
112 #define ICMP_ECHOREPLY 0
116 #define IPPROTO_ICMP 1
120 #if !defined(icmphdr) && defined(icmp)
125 #if !defined(iphdr) && defined(ip)
143 virtual void Recv(
void);
Icmp4 icmp4
pinger helper contains one of these as a global object.
virtual void Recv(void)
Handle ICMP responses.
virtual int Open()
Start pinger helper and initiate control channel.
virtual void SendEcho(Ip::Address &, int, const char *, int)