]> git.ipfire.org Git - thirdparty/squid.git/blame - src/enums.h
SourceFormat Enforcement
[thirdparty/squid.git] / src / enums.h
CommitLineData
9cef6668 1/*
4ac4a490 2 * Copyright (C) 1996-2017 The Squid Software Foundation and contributors
9cef6668 3 *
bbc27441
AJ
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.
9cef6668 7 */
f892c2bf 8
b5638623 9#ifndef SQUID_ENUMS_H
10#define SQUID_ENUMS_H
11
528b2c61 12enum fd_type {
f892c2bf 13 FD_NONE,
14 FD_LOG,
15 FD_FILE,
16 FD_SOCKET,
17 FD_PIPE,
1bac0258 18 FD_MSGHDR,
f892c2bf 19 FD_UNKNOWN
9bea1d5b 20};
f892c2bf 21
9bea1d5b 22enum {
f892c2bf 23 FD_READ,
24 FD_WRITE
9bea1d5b 25};
f892c2bf 26
9bea1d5b 27typedef enum {
f892c2bf 28 PEER_NONE,
29 PEER_SIBLING,
30 PEER_PARENT,
31 PEER_MULTICAST
9bea1d5b 32} peer_t;
f892c2bf 33
e6ccf245 34typedef enum _mem_status_t {
f892c2bf 35 NOT_IN_MEMORY,
f892c2bf 36 IN_MEMORY
e6ccf245 37} mem_status_t;
f892c2bf 38
d1398b75 39typedef enum {
f892c2bf 40 PING_NONE,
41 PING_WAITING,
f892c2bf 42 PING_DONE
d1398b75 43} ping_status_t;
f892c2bf 44
d1398b75 45typedef enum {
f892c2bf 46 STORE_OK,
b7fe0ab0 47 STORE_PENDING
d1398b75 48} store_status_t;
f892c2bf 49
d1398b75 50typedef enum {
8350fe9b 51 SWAPOUT_NONE,
8350fe9b 52 SWAPOUT_WRITING,
53 SWAPOUT_DONE
d1398b75 54} swap_status_t;
f892c2bf 55
9bea1d5b 56typedef enum {
5d86029a 57 STORE_NON_CLIENT,
58 STORE_MEM_CLIENT,
59 STORE_DISK_CLIENT
9bea1d5b 60} store_client_t;
74ac2ecb 61
d46a87a8 62/*
63 * These are for StoreEntry->flag, which is defined as a SHORT
64 *
65 * NOTE: These flags are written to swap.state, so think very carefully
66 * about deleting or re-assigning!
67 */
9bea1d5b 68enum {
d46a87a8 69 ENTRY_SPECIAL,
fa83b766 70 ENTRY_REVALIDATE_ALWAYS,
d46a87a8 71 DELAY_SENDING,
72 RELEASE_REQUEST,
73 REFRESH_REQUEST,
fa83b766 74 ENTRY_REVALIDATE_STALE,
d46a87a8 75 ENTRY_DISPATCHED,
76 KEY_PRIVATE,
d46a87a8 77 ENTRY_FWD_HDR_WAIT,
d46a87a8 78 ENTRY_NEGCACHED,
79 ENTRY_VALIDATED,
b7fe0ab0 80 ENTRY_BAD_LENGTH,
e95eff47 81 ENTRY_ABORTED
9bea1d5b 82};
79a15e0a 83
edce4d98 84/*
85 * These are for client Streams. Each node in the stream can be queried for
86 * its status
87 */
88typedef enum {
f53969cc
SM
89 STREAM_NONE, /* No particular status */
90 STREAM_COMPLETE, /* All data has been flushed, no more reads allowed */
b0dd28ba 91 /* an unpredicted end has occured, no more
26ac0430 92 * reads occured, but no need to tell
b0dd28ba 93 * downstream that an error occured
94 */
95 STREAM_UNPLANNED_COMPLETE,
96 /* An error has occured in this node or an above one,
97 * and the node is not generating an error body / it's
98 * midstream
99 */
100 STREAM_FAILED
edce4d98 101} clientStream_status_t;
102
94439e4e 103/* stateful helper callback response codes */
9bea1d5b 104typedef enum {
94439e4e 105 S_HELPER_UNKNOWN,
106 S_HELPER_RESERVE,
d20ce97d 107 S_HELPER_RELEASE
9bea1d5b 108} stateful_helper_callback_t;
94439e4e 109
3f6c0fb2 110#if SQUID_SNMP
9bea1d5b 111enum {
be335c22 112 SNMP_C_VIEW,
113 SNMP_C_USER,
114 SNMP_C_COMMUNITY
9bea1d5b 115};
fafe8849 116#endif /* SQUID_SNMP */
3f6c0fb2 117
9bea1d5b 118enum {
5830cdb3 119 STORE_LOG_CREATE,
120 STORE_LOG_SWAPIN,
121 STORE_LOG_SWAPOUT,
284ac611 122 STORE_LOG_RELEASE,
123 STORE_LOG_SWAPOUTFAIL
9bea1d5b 124};
5830cdb3 125
adba4a64 126/* parse state of HttpReply or HttpRequest */
9bea1d5b 127typedef enum {
2ac76861 128 psReadyToParseStartLine = 0,
129 psReadyToParseHeaders,
130 psParsed,
131 psError
9bea1d5b 132} HttpMsgParseState;
b87b92fb 133
9bea1d5b 134enum {
04a28d46 135 PCTILE_HTTP,
136 PCTILE_ICP_QUERY,
137 PCTILE_DNS,
138 PCTILE_HIT,
139 PCTILE_MISS,
140 PCTILE_NM,
141 PCTILE_NH,
142 PCTILE_ICP_REPLY
9bea1d5b 143};
071a3ae7 144
9bea1d5b 145enum {
071a3ae7 146 SENT,
147 RECV
9bea1d5b 148};
de2a0782 149
150/*
151 * These are field indicators for raw cache-cache netdb transfers
152 */
9bea1d5b 153enum {
58a6c186 154 NETDB_EX_NONE,
155 NETDB_EX_NETWORK,
156 NETDB_EX_RTT,
157 NETDB_EX_HOPS
9bea1d5b 158};
28c60158 159
f66a9ef4 160/*
161 * Return codes from checkVary(request)
162 */
9bea1d5b 163enum {
f66a9ef4 164 VARY_NONE,
165 VARY_MATCH,
166 VARY_OTHER,
167 VARY_CANCEL
9bea1d5b 168};
b5638623 169
add2192d 170/*
171 * Store digest state enum
172 */
173typedef enum {
76cdc28d 174 DIGEST_READ_NONE,
175 DIGEST_READ_REPLY,
176 DIGEST_READ_HEADERS,
177 DIGEST_READ_CBLOCK,
178 DIGEST_READ_MASK,
179 DIGEST_READ_DONE
add2192d 180} digest_read_state_t;
181
be20dac7 182/* CygWin & Windows NT Port */
be266cb2 183#if _SQUID_WINDOWS_
be20dac7 184/*
185 * Supported Windows OS types codes
186 */
187enum {
188 _WIN_OS_UNKNOWN,
189 _WIN_OS_WIN32S,
190 _WIN_OS_WIN95,
191 _WIN_OS_WIN98,
192 _WIN_OS_WINME,
193 _WIN_OS_WINNT,
194 _WIN_OS_WIN2K,
6b1846cf 195 _WIN_OS_WINXP,
28170269 196 _WIN_OS_WINNET,
4f5320f2
GS
197 _WIN_OS_WINLON,
198 _WIN_OS_WIN7
be20dac7 199};
fafe8849 200#endif /* _SQUID_WINDOWS_ */
7684c4b1 201
5529ca8a 202enum {
203 DISABLE_PMTU_OFF,
204 DISABLE_PMTU_ALWAYS,
205 DISABLE_PMTU_TRANSPARENT
206};
207
90bd689c
BR
208#if USE_HTCP
209/*
592b8687 210 * TODO: This should be in htcp.h
90bd689c
BR
211 */
212typedef enum {
213 HTCP_CLR_PURGE,
2227c2b3 214 HTCP_CLR_INVALIDATION
90bd689c 215} htcp_clr_reason;
fafe8849 216#endif /* USE_HTCP */
90bd689c 217
b5638623 218#endif /* SQUID_ENUMS_H */
f53969cc 219