]>
git.ipfire.org Git - thirdparty/squid.git/blob - src/icmp/IcmpPinger.h
2 * Copyright (C) 1996-2018 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_ICMPPINGER_H
12 #define _INCLUDE_ICMPPINGER_H
16 * Implements the interface to squid for ICMP operations
18 class IcmpPinger
: public Icmp
22 virtual ~IcmpPinger();
24 /// Start and initiate control channel to squid
27 /// Shutdown pinger helper and control channel
32 /// Send ICMP results back to squid.
33 void SendResult(pingerReplyData
&preply
, int len
);
35 /// Handle ICMP requests from squid, passing to helpers.
36 virtual void Recv(void);
39 // unused in IcmpPinger
40 virtual void SendEcho(Ip::Address
&to
, int opcode
, const char *payload
, int len
) {};
43 * Control channel(s) to squid.
44 * May be STDIN/STDOUT pipes or an IP socket depending on the OS
46 int socket_from_squid
;
53 /// pinger helper contains one of these as a global object.
54 extern IcmpPinger control
;