]>
Commit | Line | Data |
---|---|---|
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 | 12 | enum 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 | 22 | enum { |
f892c2bf | 23 | FD_READ, |
24 | FD_WRITE | |
9bea1d5b | 25 | }; |
f892c2bf | 26 | |
9bea1d5b | 27 | typedef enum { |
f892c2bf | 28 | PEER_NONE, |
29 | PEER_SIBLING, | |
30 | PEER_PARENT, | |
31 | PEER_MULTICAST | |
9bea1d5b | 32 | } peer_t; |
f892c2bf | 33 | |
9bea1d5b | 34 | typedef 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 | 53 | typedef 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 | 62 | typedef enum _mem_status_t { |
f892c2bf | 63 | NOT_IN_MEMORY, |
f892c2bf | 64 | IN_MEMORY |
e6ccf245 | 65 | } mem_status_t; |
f892c2bf | 66 | |
d1398b75 | 67 | typedef enum { |
f892c2bf | 68 | PING_NONE, |
69 | PING_WAITING, | |
f892c2bf | 70 | PING_DONE |
d1398b75 | 71 | } ping_status_t; |
f892c2bf | 72 | |
d1398b75 | 73 | typedef enum { |
f892c2bf | 74 | STORE_OK, |
b7fe0ab0 | 75 | STORE_PENDING |
d1398b75 | 76 | } store_status_t; |
f892c2bf | 77 | |
d1398b75 | 78 | typedef enum { |
8350fe9b | 79 | SWAPOUT_NONE, |
8350fe9b | 80 | SWAPOUT_WRITING, |
81 | SWAPOUT_DONE | |
d1398b75 | 82 | } swap_status_t; |
f892c2bf | 83 | |
9bea1d5b | 84 | typedef 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 | 96 | enum { |
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 | */ | |
116 | typedef 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 | 132 | typedef 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 | 139 | enum { |
be335c22 | 140 | SNMP_C_VIEW, |
141 | SNMP_C_USER, | |
142 | SNMP_C_COMMUNITY | |
9bea1d5b | 143 | }; |
fafe8849 | 144 | #endif /* SQUID_SNMP */ |
3f6c0fb2 | 145 | |
9bea1d5b | 146 | enum { |
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 | 155 | typedef enum { |
2ac76861 | 156 | psReadyToParseStartLine = 0, |
157 | psReadyToParseHeaders, | |
158 | psParsed, | |
159 | psError | |
9bea1d5b | 160 | } HttpMsgParseState; |
b87b92fb | 161 | |
9bea1d5b | 162 | enum { |
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 | 173 | enum { |
071a3ae7 | 174 | SENT, |
175 | RECV | |
9bea1d5b | 176 | }; |
de2a0782 | 177 | |
178 | /* | |
179 | * These are field indicators for raw cache-cache netdb transfers | |
180 | */ | |
9bea1d5b | 181 | enum { |
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 | 191 | enum { |
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 | */ | |
201 | typedef 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) */ |
211 | enum { | |
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 | */ | |
221 | enum { | |
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 | 236 | enum { |
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 | */ |
246 | typedef 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 |