Icmp6.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 1996-2023 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 _INCLUDE_ICMPV6_H
12#define _INCLUDE_ICMPV6_H
13
14#include "Icmp.h"
15
16#if HAVE_NETINET_IN_H
17#include <netinet/in.h>
18#endif
19#if HAVE_NETINET_ICMP6_H
20#include <netinet/icmp6.h>
21#endif
22#if HAVE_NETINET_IP6_H
23#include <netinet/ip6.h>
24#endif
25
26/* see RFC 4443 section 2.1 */
27#ifndef ICMP6_ECHOREQUEST
28#define ICMP6_ECHOREQUEST 128
29#endif
30
31/* see RFC 4443 section 2.1 */
32#ifndef ICMP6_ECHOREPLY
33#define ICMP6_ECHOREPLY 129
34#endif
35
36/* see RFC 4443 section 2.1 */
37#ifndef IPPROTO_ICMPV6
38#define IPPROTO_ICMPV6 58
39#endif
40
45class Icmp6 : public Icmp
46{
47public:
48 Icmp6();
49 ~Icmp6() override;
50
51 int Open() override;
52
53#if USE_ICMP
54 void SendEcho(Ip::Address &, int, const char*, int) override;
55 void Recv(void) override;
56#endif
57};
58
59#if USE_ICMP
60
62extern Icmp6 icmp6;
63
64#endif /* USE_ICMP && SQUID_HELPER */
65#endif /* _INCLUDE_ICMPV6_H */
66
Icmp6 icmp6
pinger helper contains one of these as a global object.
Definition: pinger.cc:92
Definition: Icmp6.h:46
~Icmp6() override
Definition: Icmp6.cc:92
Icmp6()
Definition: Icmp6.cc:87
int Open() override
Start pinger helper and initiate control channel.
Definition: Icmp6.cc:98
void SendEcho(Ip::Address &, int, const char *, int) override
Definition: Icmp6.cc:118
void Recv(void) override
Definition: Icmp6.cc:196
Definition: Icmp.h:68

 

Introduction

Documentation

Support

Miscellaneous

Web Site Translations

Mirrors