]>
git.ipfire.org Git - thirdparty/squid.git/blob - src/icmp/IcmpSquid.h
2 * Copyright (C) 1996-2021 The Squid Software Foundation and contributors
4 * Squid software is distributed under GPLv2+ license and includes
5 * contributions from numerous individuals and organizations.
6 * Please see the COPYING and CONTRIBUTORS files for details.
9 /* DEBUG: section 37 ICMP Routines */
11 #ifndef _INCLUDE_ICMPSQUID_H
12 #define _INCLUDE_ICMPSQUID_H
17 * Implements a non-blocking pseudo-ICMP engine for squid internally.
19 * Rather than doing all the work itself it passes each request off to
20 * an external pinger helper and returns results form that helper to squid.
22 * Provides ECHO-REQUEST, ECHO-REPLY in a protocol-neutral manner.
24 class IcmpSquid
: public Icmp
33 void DomainPing(Ip::Address
&to
, const char *domain
);
36 virtual void SendEcho(Ip::Address
&to
, int opcode
, const char* payload
=NULL
, int len
=0);
37 virtual void Recv(void);
41 // global engine within squid.
42 extern IcmpSquid icmpEngine
;
44 #endif /* _INCLUDE_ICMPSQUID_H */