]> git.ipfire.org Git - thirdparty/squid.git/blame - src/enums.h
SourceFormat Enforcement
[thirdparty/squid.git] / src / enums.h
CommitLineData
9cef6668 1/*
bde978a6 2 * Copyright (C) 1996-2015 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
9bea1d5b 34typedef enum {
e6ccf245 35 CC_BADHDR = -1,
36 CC_PUBLIC = 0,
7faf2bdb 37 CC_PRIVATE,
38 CC_NO_CACHE,
39 CC_NO_STORE,
40 CC_NO_TRANSFORM,
41 CC_MUST_REVALIDATE,
42 CC_PROXY_REVALIDATE,
43 CC_MAX_AGE,
7e3ce7b9 44 CC_S_MAXAGE,
49ff0930 45 CC_MAX_STALE,
64f8c2cb 46 CC_MIN_FRESH,
d8b249ef 47 CC_ONLY_IF_CACHED,
65fd3895 48 CC_STALE_IF_ERROR,
d8b249ef 49 CC_OTHER,
7faf2bdb 50 CC_ENUM_END
9bea1d5b 51} http_hdr_cc_type;
7faf2bdb 52
43ae1d95 53typedef enum {
54 SC_NO_STORE,
55 SC_NO_STORE_REMOTE,
56 SC_MAX_AGE,
57 SC_CONTENT,
58 SC_OTHER,
59 SC_ENUM_END
60} http_hdr_sc_type;
61
e6ccf245 62typedef enum _mem_status_t {
f892c2bf 63 NOT_IN_MEMORY,
f892c2bf 64 IN_MEMORY
e6ccf245 65} mem_status_t;
f892c2bf 66
d1398b75 67typedef enum {
f892c2bf 68 PING_NONE,
69 PING_WAITING,
f892c2bf 70 PING_DONE
d1398b75 71} ping_status_t;
f892c2bf 72
d1398b75 73typedef enum {
f892c2bf 74 STORE_OK,
b7fe0ab0 75 STORE_PENDING
d1398b75 76} store_status_t;
f892c2bf 77
d1398b75 78typedef enum {
8350fe9b 79 SWAPOUT_NONE,
8350fe9b 80 SWAPOUT_WRITING,
81 SWAPOUT_DONE
d1398b75 82} swap_status_t;
f892c2bf 83
9bea1d5b 84typedef enum {
5d86029a 85 STORE_NON_CLIENT,
86 STORE_MEM_CLIENT,
87 STORE_DISK_CLIENT
9bea1d5b 88} store_client_t;
74ac2ecb 89
d46a87a8 90/*
91 * These are for StoreEntry->flag, which is defined as a SHORT
92 *
93 * NOTE: These flags are written to swap.state, so think very carefully
94 * about deleting or re-assigning!
95 */
9bea1d5b 96enum {
d46a87a8 97 ENTRY_SPECIAL,
98 ENTRY_REVALIDATE,
99 DELAY_SENDING,
100 RELEASE_REQUEST,
101 REFRESH_REQUEST,
6919be24 102 ENTRY_CACHABLE_RESERVED_FOR_FUTURE_USE,
d46a87a8 103 ENTRY_DISPATCHED,
104 KEY_PRIVATE,
d46a87a8 105 ENTRY_FWD_HDR_WAIT,
d46a87a8 106 ENTRY_NEGCACHED,
107 ENTRY_VALIDATED,
b7fe0ab0 108 ENTRY_BAD_LENGTH,
e95eff47 109 ENTRY_ABORTED
9bea1d5b 110};
79a15e0a 111
edce4d98 112/*
113 * These are for client Streams. Each node in the stream can be queried for
114 * its status
115 */
116typedef enum {
f53969cc
SM
117 STREAM_NONE, /* No particular status */
118 STREAM_COMPLETE, /* All data has been flushed, no more reads allowed */
b0dd28ba 119 /* an unpredicted end has occured, no more
26ac0430 120 * reads occured, but no need to tell
b0dd28ba 121 * downstream that an error occured
122 */
123 STREAM_UNPLANNED_COMPLETE,
124 /* An error has occured in this node or an above one,
125 * and the node is not generating an error body / it's
126 * midstream
127 */
128 STREAM_FAILED
edce4d98 129} clientStream_status_t;
130
94439e4e 131/* stateful helper callback response codes */
9bea1d5b 132typedef enum {
94439e4e 133 S_HELPER_UNKNOWN,
134 S_HELPER_RESERVE,
d20ce97d 135 S_HELPER_RELEASE
9bea1d5b 136} stateful_helper_callback_t;
94439e4e 137
3f6c0fb2 138#if SQUID_SNMP
9bea1d5b 139enum {
be335c22 140 SNMP_C_VIEW,
141 SNMP_C_USER,
142 SNMP_C_COMMUNITY
9bea1d5b 143};
fafe8849 144#endif /* SQUID_SNMP */
3f6c0fb2 145
9bea1d5b 146enum {
5830cdb3 147 STORE_LOG_CREATE,
148 STORE_LOG_SWAPIN,
149 STORE_LOG_SWAPOUT,
284ac611 150 STORE_LOG_RELEASE,
151 STORE_LOG_SWAPOUTFAIL
9bea1d5b 152};
5830cdb3 153
adba4a64 154/* parse state of HttpReply or HttpRequest */
9bea1d5b 155typedef enum {
2ac76861 156 psReadyToParseStartLine = 0,
157 psReadyToParseHeaders,
158 psParsed,
159 psError
9bea1d5b 160} HttpMsgParseState;
b87b92fb 161
9bea1d5b 162enum {
04a28d46 163 PCTILE_HTTP,
164 PCTILE_ICP_QUERY,
165 PCTILE_DNS,
166 PCTILE_HIT,
167 PCTILE_MISS,
168 PCTILE_NM,
169 PCTILE_NH,
170 PCTILE_ICP_REPLY
9bea1d5b 171};
071a3ae7 172
9bea1d5b 173enum {
071a3ae7 174 SENT,
175 RECV
9bea1d5b 176};
de2a0782 177
178/*
179 * These are field indicators for raw cache-cache netdb transfers
180 */
9bea1d5b 181enum {
58a6c186 182 NETDB_EX_NONE,
183 NETDB_EX_NETWORK,
184 NETDB_EX_RTT,
185 NETDB_EX_HOPS
9bea1d5b 186};
28c60158 187
f66a9ef4 188/*
189 * Return codes from checkVary(request)
190 */
9bea1d5b 191enum {
f66a9ef4 192 VARY_NONE,
193 VARY_MATCH,
194 VARY_OTHER,
195 VARY_CANCEL
9bea1d5b 196};
b5638623 197
add2192d 198/*
199 * Store digest state enum
200 */
201typedef enum {
76cdc28d 202 DIGEST_READ_NONE,
203 DIGEST_READ_REPLY,
204 DIGEST_READ_HEADERS,
205 DIGEST_READ_CBLOCK,
206 DIGEST_READ_MASK,
207 DIGEST_READ_DONE
add2192d 208} digest_read_state_t;
209
8c01ada0 210/* Distinguish between Request and Reply (for header mangling) */
211enum {
212 ROR_REQUEST,
213 ROR_REPLY
214};
215
be20dac7 216/* CygWin & Windows NT Port */
be266cb2 217#if _SQUID_WINDOWS_
be20dac7 218/*
219 * Supported Windows OS types codes
220 */
221enum {
222 _WIN_OS_UNKNOWN,
223 _WIN_OS_WIN32S,
224 _WIN_OS_WIN95,
225 _WIN_OS_WIN98,
226 _WIN_OS_WINME,
227 _WIN_OS_WINNT,
228 _WIN_OS_WIN2K,
6b1846cf 229 _WIN_OS_WINXP,
28170269 230 _WIN_OS_WINNET,
4f5320f2
GS
231 _WIN_OS_WINLON,
232 _WIN_OS_WIN7
be20dac7 233};
fafe8849 234#endif /* _SQUID_WINDOWS_ */
7684c4b1 235
5529ca8a 236enum {
237 DISABLE_PMTU_OFF,
238 DISABLE_PMTU_ALWAYS,
239 DISABLE_PMTU_TRANSPARENT
240};
241
90bd689c
BR
242#if USE_HTCP
243/*
592b8687 244 * TODO: This should be in htcp.h
90bd689c
BR
245 */
246typedef enum {
247 HTCP_CLR_PURGE,
2227c2b3 248 HTCP_CLR_INVALIDATION
90bd689c 249} htcp_clr_reason;
fafe8849 250#endif /* USE_HTCP */
90bd689c 251
b5638623 252#endif /* SQUID_ENUMS_H */
f53969cc 253