Go to the documentation of this file.
11 #ifndef SQUID_SRC_ICMP_ICMP4_H
12 #define SQUID_SRC_ICMP_ICMP4_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
70 typedef struct iphdr {
104 #ifndef ICMP_ECHOREPLY
105 #define ICMP_ECHOREPLY 0
109 #define IPPROTO_ICMP 1
113 #if !defined(icmphdr) && defined(icmp)
118 #if !defined(iphdr) && defined(ip)
136 void Recv(
void)
override;
Icmp4 icmp4
pinger helper contains one of these as a global object.
int Open() override
Start pinger helper and initiate control channel.
void Recv(void) override
Handle ICMP responses.
void SendEcho(Ip::Address &, int, const char *, int) override