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_
41#define icmp_cksum checksum
42#define icmp_id un.echo.id
43#define icmp_seq un.echo.sequence
49#define ip_off frag_off
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.
void SendEcho(Ip::Address &, int, const char *, int) override
void Recv(void) override
Handle ICMP responses.
int Open() override
Start pinger helper and initiate control channel.