Squid Web Cache master
Loading...
Searching...
No Matches
IcmpSquid.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 1996-2025 The Squid Software Foundation and contributors
3 *
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.
7 */
8
9/* DEBUG: section 37 ICMP Routines */
10
11#ifndef SQUID_SRC_ICMP_ICMPSQUID_H
12#define SQUID_SRC_ICMP_ICMPSQUID_H
13
14#include "Icmp.h"
15
24class IcmpSquid : public Icmp
25{
26public:
27 IcmpSquid();
28 ~IcmpSquid() override;
29
30 int Open() override;
31 void Close() override;
32
33 void DomainPing(Ip::Address &to, const char *domain);
34
35#if USE_ICMP
36 void SendEcho(Ip::Address &to, int opcode, const char* payload=nullptr, int len=0) override;
37 void Recv(void) override;
38#endif
39};
40
41// global engine within squid.
43
44#endif /* SQUID_SRC_ICMP_ICMPSQUID_H */
45
IcmpSquid icmpEngine
Definition IcmpSquid.cc:28
void DomainPing(Ip::Address &to, const char *domain)
Definition IcmpSquid.cc:206
void Close() override
Shutdown pinger helper and control channel.
Definition IcmpSquid.cc:283
~IcmpSquid() override
Definition IcmpSquid.cc:45
void Recv(void) override
Handle ICMP responses.
Definition IcmpSquid.cc:120
int Open() override
Start pinger helper and initiate control channel.
Definition IcmpSquid.cc:218
void SendEcho(Ip::Address &to, int opcode, const char *payload=nullptr, int len=0) override
Definition IcmpSquid.cc:53
Definition Icmp.h:68