]> git.ipfire.org Git - thirdparty/squid.git/blob - src/comm/forward.h
Maintenance: automate header guards 2/3 (#1655)
[thirdparty/squid.git] / src / comm / forward.h
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 #ifndef SQUID_SRC_COMM_FORWARD_H
10 #define SQUID_SRC_COMM_FORWARD_H
11
12 #include "base/RefCount.h"
13
14 #include <vector>
15
16 /// legacy CBDATA callback functions ABI definition for read or write I/O events
17 /// \deprecated use CommCalls API instead where possible
18 typedef void PF(int, void *);
19
20 /// Abstraction layer for TCP, UDP, TLS, UDS and filedescriptor sockets.
21 namespace Comm
22 {
23
24 class Connection;
25 class ConnOpener;
26 class TcpKeepAlive;
27
28 typedef RefCount<Comm::Connection> ConnectionPointer;
29
30 bool IsConnOpen(const Comm::ConnectionPointer &conn);
31
32 // callback handler to process an FD which is available for writing.
33 PF HandleWrite;
34
35 /// Mark an FD to be watched for its IO status.
36 void SetSelect(int, unsigned int, PF *, void *, time_t);
37
38 }; // namespace Comm
39
40 #endif /* SQUID_SRC_COMM_FORWARD_H */
41