]>
Commit | Line | Data |
---|---|---|
f892c2bf | 1 | |
9cef6668 | 2 | /* |
ec4daaa5 | 3 | * $Id: enums.h,v 1.231 2003/04/24 06:35:09 hno Exp $ |
9cef6668 | 4 | * |
5 | * | |
2b6662ba | 6 | * SQUID Web Proxy Cache http://www.squid-cache.org/ |
9cef6668 | 7 | * ---------------------------------------------------------- |
8 | * | |
2b6662ba | 9 | * Squid is the result of efforts by numerous individuals from |
10 | * the Internet community; see the CONTRIBUTORS file for full | |
11 | * details. Many organizations have provided support for Squid's | |
12 | * development; see the SPONSORS file for full details. Squid is | |
13 | * Copyrighted (C) 2001 by the Regents of the University of | |
14 | * California; see the COPYRIGHT file for full details. Squid | |
15 | * incorporates software developed and/or copyrighted by other | |
16 | * sources; see the CREDITS file for full details. | |
9cef6668 | 17 | * |
18 | * This program is free software; you can redistribute it and/or modify | |
19 | * it under the terms of the GNU General Public License as published by | |
20 | * the Free Software Foundation; either version 2 of the License, or | |
21 | * (at your option) any later version. | |
22 | * | |
23 | * This program is distributed in the hope that it will be useful, | |
24 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
25 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
26 | * GNU General Public License for more details. | |
27 | * | |
28 | * You should have received a copy of the GNU General Public License | |
29 | * along with this program; if not, write to the Free Software | |
30 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111, USA. | |
31 | * | |
32 | */ | |
f892c2bf | 33 | |
b5638623 | 34 | #ifndef SQUID_ENUMS_H |
35 | #define SQUID_ENUMS_H | |
36 | ||
9bea1d5b | 37 | typedef enum { |
79a15e0a | 38 | LOG_TAG_NONE, |
39 | LOG_TCP_HIT, | |
40 | LOG_TCP_MISS, | |
41 | LOG_TCP_REFRESH_HIT, | |
42 | LOG_TCP_REFRESH_FAIL_HIT, | |
43 | LOG_TCP_REFRESH_MISS, | |
ee1679df | 44 | LOG_TCP_CLIENT_REFRESH_MISS, |
79a15e0a | 45 | LOG_TCP_IMS_HIT, |
79a15e0a | 46 | LOG_TCP_SWAPFAIL_MISS, |
47 | LOG_TCP_NEGATIVE_HIT, | |
48 | LOG_TCP_MEM_HIT, | |
49 | LOG_TCP_DENIED, | |
b540e168 | 50 | LOG_TCP_OFFLINE_HIT, |
efd900cb | 51 | #if LOG_TCP_REDIRECTS |
52 | LOG_TCP_REDIRECT, | |
53 | #endif | |
79a15e0a | 54 | LOG_UDP_HIT, |
79a15e0a | 55 | LOG_UDP_MISS, |
56 | LOG_UDP_DENIED, | |
57 | LOG_UDP_INVALID, | |
58 | LOG_UDP_MISS_NOFETCH, | |
071a3ae7 | 59 | LOG_ICP_QUERY, |
79a15e0a | 60 | LOG_TYPE_MAX |
9bea1d5b | 61 | } log_type; |
f892c2bf | 62 | |
9bea1d5b | 63 | typedef enum { |
9b312a19 | 64 | ERR_NONE, |
65 | ERR_READ_TIMEOUT, | |
66 | ERR_LIFETIME_EXP, | |
9b312a19 | 67 | ERR_READ_ERROR, |
68 | ERR_WRITE_ERROR, | |
05b744f3 | 69 | ERR_SHUTTING_DOWN, |
9b312a19 | 70 | ERR_CONNECT_FAIL, |
71 | ERR_INVALID_REQ, | |
72 | ERR_UNSUP_REQ, | |
73 | ERR_INVALID_URL, | |
74 | ERR_SOCKET_FAILURE, | |
75 | ERR_DNS_FAIL, | |
9b312a19 | 76 | ERR_CANNOT_FORWARD, |
bdb3c273 | 77 | ERR_FORWARDING_DENIED, |
9b312a19 | 78 | ERR_NO_RELAY, |
9b312a19 | 79 | ERR_ZERO_SIZE_OBJECT, |
80 | ERR_FTP_DISABLED, | |
b9916917 | 81 | ERR_FTP_FAILURE, |
23d92c64 | 82 | ERR_URN_RESOLVE, |
9b312a19 | 83 | ERR_ACCESS_DENIED, |
cb69b4c7 | 84 | ERR_CACHE_ACCESS_DENIED, |
63259c34 | 85 | ERR_CACHE_MGR_ACCESS_DENIED, |
2ac76861 | 86 | ERR_SQUID_SIGNATURE, /* not really an error */ |
ec878047 | 87 | ERR_FTP_PUT_CREATED, /* !error,a note that the file was created */ |
59c4d35b | 88 | ERR_FTP_PUT_MODIFIED, /* modified, !created */ |
89 | ERR_FTP_PUT_ERROR, | |
b6a2f15e | 90 | ERR_FTP_NOT_FOUND, |
91 | ERR_FTP_FORBIDDEN, | |
92 | ERR_FTP_UNAVAILABLE, | |
ec878047 | 93 | ERR_ONLY_IF_CACHED_MISS, /* failure to satisfy only-if-cached request */ |
0483b991 | 94 | ERR_TOO_BIG, |
76cdc28d | 95 | TCP_RESET, |
43ae1d95 | 96 | ERR_ESI, /* Failure to perform ESI processing */ |
9b312a19 | 97 | ERR_MAX |
9bea1d5b | 98 | } err_type; |
9b312a19 | 99 | |
528b2c61 | 100 | enum fd_type { |
f892c2bf | 101 | FD_NONE, |
102 | FD_LOG, | |
103 | FD_FILE, | |
104 | FD_SOCKET, | |
105 | FD_PIPE, | |
106 | FD_UNKNOWN | |
9bea1d5b | 107 | }; |
f892c2bf | 108 | |
9bea1d5b | 109 | enum { |
f892c2bf | 110 | FD_READ, |
111 | FD_WRITE | |
9bea1d5b | 112 | }; |
f892c2bf | 113 | |
9bea1d5b | 114 | typedef enum { |
f892c2bf | 115 | PEER_NONE, |
116 | PEER_SIBLING, | |
117 | PEER_PARENT, | |
118 | PEER_MULTICAST | |
9bea1d5b | 119 | } peer_t; |
f892c2bf | 120 | |
9bea1d5b | 121 | typedef enum { |
9fdfc93e | 122 | LOOKUP_NONE, |
123 | LOOKUP_HIT, | |
4b4cd312 | 124 | LOOKUP_MISS |
9bea1d5b | 125 | } lookup_t; |
9fdfc93e | 126 | |
4f087419 | 127 | /* recognized or "known" header fields; @?@ add more! */ |
9bea1d5b | 128 | typedef enum { |
e6ccf245 | 129 | HDR_BAD_HDR = -1, |
130 | HDR_ACCEPT = 0, | |
d8b249ef | 131 | HDR_ACCEPT_CHARSET, |
132 | HDR_ACCEPT_ENCODING, | |
133 | HDR_ACCEPT_LANGUAGE, | |
de336bbe | 134 | HDR_ACCEPT_RANGES, |
4f087419 | 135 | HDR_AGE, |
99edd1c3 | 136 | HDR_ALLOW, |
137 | HDR_AUTHORIZATION, | |
4f087419 | 138 | HDR_CACHE_CONTROL, |
139 | HDR_CONNECTION, | |
2246b732 | 140 | HDR_CONTENT_BASE, |
4f087419 | 141 | HDR_CONTENT_ENCODING, |
99edd1c3 | 142 | HDR_CONTENT_LANGUAGE, |
4f087419 | 143 | HDR_CONTENT_LENGTH, |
2246b732 | 144 | HDR_CONTENT_LOCATION, |
4f087419 | 145 | HDR_CONTENT_MD5, |
d76fcfa7 | 146 | HDR_CONTENT_RANGE, |
4f087419 | 147 | HDR_CONTENT_TYPE, |
efd900cb | 148 | HDR_COOKIE, |
4f087419 | 149 | HDR_DATE, |
150 | HDR_ETAG, | |
151 | HDR_EXPIRES, | |
99edd1c3 | 152 | HDR_FROM, |
4f087419 | 153 | HDR_HOST, |
c68e9c6b | 154 | HDR_IF_MATCH, |
99edd1c3 | 155 | HDR_IF_MODIFIED_SINCE, |
c68e9c6b | 156 | HDR_IF_NONE_MATCH, |
e17d81d3 | 157 | HDR_IF_RANGE, |
4f087419 | 158 | HDR_LAST_MODIFIED, |
99edd1c3 | 159 | HDR_LINK, |
4f087419 | 160 | HDR_LOCATION, |
161 | HDR_MAX_FORWARDS, | |
d8b249ef | 162 | HDR_MIME_VERSION, |
99edd1c3 | 163 | HDR_PRAGMA, |
4f087419 | 164 | HDR_PROXY_AUTHENTICATE, |
84ecfcb9 | 165 | HDR_PROXY_AUTHENTICATION_INFO, |
99edd1c3 | 166 | HDR_PROXY_AUTHORIZATION, |
167 | HDR_PROXY_CONNECTION, | |
4f087419 | 168 | HDR_PUBLIC, |
02922e76 | 169 | HDR_RANGE, |
135171fe | 170 | HDR_REQUEST_RANGE, /* some clients use this, sigh */ |
99edd1c3 | 171 | HDR_REFERER, |
4f087419 | 172 | HDR_RETRY_AFTER, |
de336bbe | 173 | HDR_SERVER, |
4f087419 | 174 | HDR_SET_COOKIE, |
99edd1c3 | 175 | HDR_TITLE, |
5affedf3 | 176 | HDR_TRANSFER_ENCODING, |
4f087419 | 177 | HDR_UPGRADE, |
99edd1c3 | 178 | HDR_USER_AGENT, |
783e4699 | 179 | HDR_VARY, |
99edd1c3 | 180 | HDR_VIA, |
4f087419 | 181 | HDR_WARNING, |
182 | HDR_WWW_AUTHENTICATE, | |
84ecfcb9 | 183 | HDR_AUTHENTICATION_INFO, |
de336bbe | 184 | HDR_X_CACHE, |
4b4cd312 | 185 | HDR_X_CACHE_LOOKUP, /* tmp hack, remove later */ |
99edd1c3 | 186 | HDR_X_FORWARDED_FOR, |
2246b732 | 187 | HDR_X_REQUEST_URI, /* appended if ADD_X_REQUEST_URI is #defined */ |
fcc62502 | 188 | HDR_X_SQUID_ERROR, |
f66a9ef4 | 189 | HDR_NEGOTIATE, |
190 | #if X_ACCELERATOR_VARY | |
191 | HDR_X_ACCELERATOR_VARY, | |
192 | #endif | |
43ae1d95 | 193 | HDR_SURROGATE_CAPABILITY, |
194 | HDR_SURROGATE_CONTROL, | |
a7ad6e4e | 195 | HDR_FRONT_END_HTTPS, |
4f087419 | 196 | HDR_OTHER, |
197 | HDR_ENUM_END | |
9bea1d5b | 198 | } http_hdr_type; |
4f087419 | 199 | |
9bea1d5b | 200 | typedef enum { |
e6ccf245 | 201 | CC_BADHDR = -1, |
202 | CC_PUBLIC = 0, | |
7faf2bdb | 203 | CC_PRIVATE, |
204 | CC_NO_CACHE, | |
205 | CC_NO_STORE, | |
206 | CC_NO_TRANSFORM, | |
207 | CC_MUST_REVALIDATE, | |
208 | CC_PROXY_REVALIDATE, | |
209 | CC_MAX_AGE, | |
7e3ce7b9 | 210 | CC_S_MAXAGE, |
49ff0930 | 211 | CC_MAX_STALE, |
d8b249ef | 212 | CC_ONLY_IF_CACHED, |
213 | CC_OTHER, | |
7faf2bdb | 214 | CC_ENUM_END |
9bea1d5b | 215 | } http_hdr_cc_type; |
7faf2bdb | 216 | |
43ae1d95 | 217 | typedef enum { |
218 | SC_NO_STORE, | |
219 | SC_NO_STORE_REMOTE, | |
220 | SC_MAX_AGE, | |
221 | SC_CONTENT, | |
222 | SC_OTHER, | |
223 | SC_ENUM_END | |
224 | } http_hdr_sc_type; | |
225 | ||
7faf2bdb | 226 | /* possible types for http header fields */ |
9bea1d5b | 227 | typedef enum { |
399e85ea | 228 | ftInvalid = HDR_ENUM_END, /* to catch nasty errors with hdr_id<->fld_type clashes */ |
7faf2bdb | 229 | ftInt, |
4f7e9dbb | 230 | ftStr, |
7faf2bdb | 231 | ftDate_1123, |
a9771e51 | 232 | ftETag, |
02922e76 | 233 | ftPCc, |
a9771e51 | 234 | ftPContRange, |
02922e76 | 235 | ftPRange, |
43ae1d95 | 236 | ftPSc, |
a9771e51 | 237 | ftDate_1123_or_ETag |
9bea1d5b | 238 | } field_type; |
4f087419 | 239 | |
2246b732 | 240 | /* possible owners of http header */ |
9bea1d5b | 241 | typedef enum { |
2246b732 | 242 | hoNone, |
ff6c30e8 | 243 | #if USE_HTCP |
244 | hoHtcpReply, | |
245 | #endif | |
2246b732 | 246 | hoRequest, |
247 | hoReply | |
9bea1d5b | 248 | } http_hdr_owner_type; |
2246b732 | 249 | |
9bea1d5b | 250 | typedef enum { |
f892c2bf | 251 | HIER_NONE, |
252 | DIRECT, | |
253 | SIBLING_HIT, | |
254 | PARENT_HIT, | |
255 | DEFAULT_PARENT, | |
256 | SINGLE_PARENT, | |
257 | FIRSTUP_PARENT, | |
f892c2bf | 258 | FIRST_PARENT_MISS, |
259 | CLOSEST_PARENT_MISS, | |
69c95dd3 | 260 | CLOSEST_PARENT, |
f892c2bf | 261 | CLOSEST_DIRECT, |
262 | NO_DIRECT_FAIL, | |
263 | SOURCE_FASTEST, | |
f892c2bf | 264 | ROUNDROBIN_PARENT, |
6cfa8966 | 265 | #if USE_CACHE_DIGESTS |
9bc73deb | 266 | CD_PARENT_HIT, |
267 | CD_SIBLING_HIT, | |
afd88fbe | 268 | #endif |
269 | #if USE_CARP | |
270 | CARP, | |
c127134a | 271 | #endif |
6a655df0 | 272 | ANY_OLD_PARENT, |
f892c2bf | 273 | HIER_MAX |
9bea1d5b | 274 | } hier_code; |
f892c2bf | 275 | |
9bea1d5b | 276 | typedef enum { |
27cd7235 | 277 | ICP_INVALID, |
278 | ICP_QUERY, | |
279 | ICP_HIT, | |
280 | ICP_MISS, | |
281 | ICP_ERR, | |
282 | ICP_SEND, | |
283 | ICP_SENDA, | |
284 | ICP_DATABEG, | |
285 | ICP_DATA, | |
286 | ICP_DATAEND, | |
287 | ICP_SECHO, | |
288 | ICP_DECHO, | |
58e170f0 | 289 | ICP_NOTIFY, |
290 | ICP_INVALIDATE, | |
291 | ICP_DELETE, | |
27cd7235 | 292 | ICP_UNUSED15, |
293 | ICP_UNUSED16, | |
294 | ICP_UNUSED17, | |
295 | ICP_UNUSED18, | |
296 | ICP_UNUSED19, | |
297 | ICP_UNUSED20, | |
298 | ICP_MISS_NOFETCH, | |
da2d50d1 | 299 | ICP_DENIED, |
27cd7235 | 300 | ICP_HIT_OBJ, |
301 | ICP_END | |
9bea1d5b | 302 | } icp_opcode; |
f892c2bf | 303 | |
e6ccf245 | 304 | typedef enum _mem_status_t { |
f892c2bf | 305 | NOT_IN_MEMORY, |
f892c2bf | 306 | IN_MEMORY |
e6ccf245 | 307 | } mem_status_t; |
f892c2bf | 308 | |
9bea1d5b | 309 | enum { |
f892c2bf | 310 | PING_NONE, |
311 | PING_WAITING, | |
f892c2bf | 312 | PING_DONE |
9bea1d5b | 313 | }; |
f892c2bf | 314 | |
9bea1d5b | 315 | enum { |
f892c2bf | 316 | STORE_OK, |
b7fe0ab0 | 317 | STORE_PENDING |
9bea1d5b | 318 | }; |
f892c2bf | 319 | |
9bea1d5b | 320 | enum { |
8350fe9b | 321 | SWAPOUT_NONE, |
8350fe9b | 322 | SWAPOUT_WRITING, |
323 | SWAPOUT_DONE | |
9bea1d5b | 324 | }; |
f892c2bf | 325 | |
9bea1d5b | 326 | typedef enum { |
5d86029a | 327 | STORE_NON_CLIENT, |
328 | STORE_MEM_CLIENT, | |
329 | STORE_DISK_CLIENT | |
9bea1d5b | 330 | } store_client_t; |
74ac2ecb | 331 | |
7cdb708d | 332 | typedef enum { |
f892c2bf | 333 | METHOD_NONE, /* 000 */ |
334 | METHOD_GET, /* 001 */ | |
335 | METHOD_POST, /* 010 */ | |
336 | METHOD_PUT, /* 011 */ | |
337 | METHOD_HEAD, /* 100 */ | |
338 | METHOD_CONNECT, /* 101 */ | |
339 | METHOD_TRACE, /* 110 */ | |
710bd872 | 340 | METHOD_PURGE, /* 111 */ |
1f38f50a | 341 | METHOD_OPTIONS, |
7e3ce7b9 | 342 | METHOD_DELETE, /* RFC2616 section 9.7 */ |
21e1d500 | 343 | METHOD_PROPFIND, |
344 | METHOD_PROPPATCH, | |
345 | METHOD_MKCOL, | |
346 | METHOD_COPY, | |
347 | METHOD_MOVE, | |
348 | METHOD_LOCK, | |
349 | METHOD_UNLOCK, | |
42b51993 | 350 | METHOD_BMOVE, |
351 | METHOD_BDELETE, | |
352 | METHOD_BPROPFIND, | |
1594f687 | 353 | METHOD_BPROPPATCH, |
2641e6aa | 354 | METHOD_BCOPY, |
d45ef7f8 | 355 | METHOD_SEARCH, |
2641e6aa | 356 | METHOD_SUBSCRIBE, |
357 | METHOD_UNSUBSCRIBE, | |
358 | METHOD_POLL, | |
56fe752e | 359 | METHOD_EXT00, |
360 | METHOD_EXT01, | |
361 | METHOD_EXT02, | |
362 | METHOD_EXT03, | |
363 | METHOD_EXT04, | |
364 | METHOD_EXT05, | |
365 | METHOD_EXT06, | |
366 | METHOD_EXT07, | |
367 | METHOD_EXT08, | |
368 | METHOD_EXT09, | |
369 | METHOD_EXT10, | |
370 | METHOD_EXT11, | |
371 | METHOD_EXT12, | |
372 | METHOD_EXT13, | |
373 | METHOD_EXT14, | |
374 | METHOD_EXT15, | |
375 | METHOD_EXT16, | |
376 | METHOD_EXT17, | |
377 | METHOD_EXT18, | |
378 | METHOD_EXT19, | |
710bd872 | 379 | METHOD_ENUM_END |
7cdb708d | 380 | } method_t; |
f892c2bf | 381 | |
9bea1d5b | 382 | typedef enum { |
f892c2bf | 383 | PROTO_NONE, |
384 | PROTO_HTTP, | |
385 | PROTO_FTP, | |
386 | PROTO_GOPHER, | |
387 | PROTO_WAIS, | |
388 | PROTO_CACHEOBJ, | |
389 | PROTO_ICP, | |
86aebcda | 390 | #if USE_HTCP |
391 | PROTO_HTCP, | |
392 | #endif | |
23d92c64 | 393 | PROTO_URN, |
53ad48e6 | 394 | PROTO_WHOIS, |
1da5651f | 395 | PROTO_INTERNAL, |
4f3de732 | 396 | PROTO_HTTPS, |
f892c2bf | 397 | PROTO_MAX |
9bea1d5b | 398 | } protocol_t; |
9b312a19 | 399 | |
9bea1d5b | 400 | typedef enum { |
728da2ee | 401 | HTTP_STATUS_NONE = 0, |
9b312a19 | 402 | HTTP_CONTINUE = 100, |
403 | HTTP_SWITCHING_PROTOCOLS = 101, | |
7e3ce7b9 | 404 | HTTP_PROCESSING = 102, /* RFC2518 section 10.1 */ |
9b312a19 | 405 | HTTP_OK = 200, |
406 | HTTP_CREATED = 201, | |
407 | HTTP_ACCEPTED = 202, | |
408 | HTTP_NON_AUTHORITATIVE_INFORMATION = 203, | |
409 | HTTP_NO_CONTENT = 204, | |
410 | HTTP_RESET_CONTENT = 205, | |
411 | HTTP_PARTIAL_CONTENT = 206, | |
7e3ce7b9 | 412 | HTTP_MULTI_STATUS = 207, /* RFC2518 section 10.2 */ |
9b312a19 | 413 | HTTP_MULTIPLE_CHOICES = 300, |
414 | HTTP_MOVED_PERMANENTLY = 301, | |
415 | HTTP_MOVED_TEMPORARILY = 302, | |
416 | HTTP_SEE_OTHER = 303, | |
417 | HTTP_NOT_MODIFIED = 304, | |
418 | HTTP_USE_PROXY = 305, | |
69660be0 | 419 | HTTP_TEMPORARY_REDIRECT = 307, |
9b312a19 | 420 | HTTP_BAD_REQUEST = 400, |
421 | HTTP_UNAUTHORIZED = 401, | |
422 | HTTP_PAYMENT_REQUIRED = 402, | |
423 | HTTP_FORBIDDEN = 403, | |
424 | HTTP_NOT_FOUND = 404, | |
425 | HTTP_METHOD_NOT_ALLOWED = 405, | |
426 | HTTP_NOT_ACCEPTABLE = 406, | |
427 | HTTP_PROXY_AUTHENTICATION_REQUIRED = 407, | |
428 | HTTP_REQUEST_TIMEOUT = 408, | |
429 | HTTP_CONFLICT = 409, | |
430 | HTTP_GONE = 410, | |
431 | HTTP_LENGTH_REQUIRED = 411, | |
432 | HTTP_PRECONDITION_FAILED = 412, | |
433 | HTTP_REQUEST_ENTITY_TOO_LARGE = 413, | |
434 | HTTP_REQUEST_URI_TOO_LARGE = 414, | |
435 | HTTP_UNSUPPORTED_MEDIA_TYPE = 415, | |
7e3ce7b9 | 436 | HTTP_UNPROCESSABLE_ENTITY = 422, /* RFC2518 section 10.3 */ |
437 | HTTP_LOCKED = 423, /* RFC2518 section 10.4 */ | |
438 | HTTP_FAILED_DEPENDENCY = 424, /* RFC2518 section 10.5 */ | |
9b312a19 | 439 | HTTP_INTERNAL_SERVER_ERROR = 500, |
440 | HTTP_NOT_IMPLEMENTED = 501, | |
441 | HTTP_BAD_GATEWAY = 502, | |
442 | HTTP_SERVICE_UNAVAILABLE = 503, | |
443 | HTTP_GATEWAY_TIMEOUT = 504, | |
cb69b4c7 | 444 | HTTP_HTTP_VERSION_NOT_SUPPORTED = 505, |
7e3ce7b9 | 445 | HTTP_INSUFFICIENT_STORAGE = 507, /* RFC2518 section 10.6 */ |
ee1679df | 446 | HTTP_INVALID_HEADER = 600 /* Squid header parsing error */ |
9bea1d5b | 447 | } http_status; |
79a15e0a | 448 | |
d46a87a8 | 449 | /* |
450 | * These are for StoreEntry->flag, which is defined as a SHORT | |
451 | * | |
452 | * NOTE: These flags are written to swap.state, so think very carefully | |
453 | * about deleting or re-assigning! | |
454 | */ | |
9bea1d5b | 455 | enum { |
d46a87a8 | 456 | ENTRY_SPECIAL, |
457 | ENTRY_REVALIDATE, | |
458 | DELAY_SENDING, | |
459 | RELEASE_REQUEST, | |
460 | REFRESH_REQUEST, | |
461 | ENTRY_CACHABLE, | |
462 | ENTRY_DISPATCHED, | |
463 | KEY_PRIVATE, | |
d46a87a8 | 464 | ENTRY_FWD_HDR_WAIT, |
d46a87a8 | 465 | ENTRY_NEGCACHED, |
466 | ENTRY_VALIDATED, | |
b7fe0ab0 | 467 | ENTRY_BAD_LENGTH, |
e95eff47 | 468 | ENTRY_ABORTED |
469 | #if UNUSED_CODE | |
470 | ENTRY_DONT_LOG | |
471 | #endif | |
9bea1d5b | 472 | }; |
79a15e0a | 473 | |
edce4d98 | 474 | /* |
475 | * These are for client Streams. Each node in the stream can be queried for | |
476 | * its status | |
477 | */ | |
478 | typedef enum { | |
479 | STREAM_NONE, /* No particular status */ | |
480 | STREAM_COMPLETE, /* All data has been flushed, no more reads allowed */ | |
b0dd28ba | 481 | /* an unpredicted end has occured, no more |
482 | * reads occured, but no need to tell | |
483 | * downstream that an error occured | |
484 | */ | |
485 | STREAM_UNPLANNED_COMPLETE, | |
486 | /* An error has occured in this node or an above one, | |
487 | * and the node is not generating an error body / it's | |
488 | * midstream | |
489 | */ | |
490 | STREAM_FAILED | |
edce4d98 | 491 | } clientStream_status_t; |
492 | ||
9bea1d5b | 493 | typedef enum { |
fc5d6f7f | 494 | ACCESS_DENIED, |
495 | ACCESS_ALLOWED, | |
496 | ACCESS_REQ_PROXY_AUTH | |
9bea1d5b | 497 | } allow_t; |
a97cfa48 | 498 | |
9bea1d5b | 499 | typedef enum { |
60d096f4 | 500 | AUTH_ACL_CHALLENGE = -2, |
501 | AUTH_ACL_HELPER = -1, | |
502 | AUTH_ACL_CANNOT_AUTHENTICATE = 0, | |
d35b9a94 | 503 | AUTH_AUTHENTICATED = 1 |
9bea1d5b | 504 | } auth_acl_t; |
60d096f4 | 505 | |
9bea1d5b | 506 | typedef enum { |
94439e4e | 507 | AUTH_UNKNOWN, /* default */ |
508 | AUTH_BASIC, | |
509 | AUTH_NTLM, | |
2d70df72 | 510 | AUTH_DIGEST, |
94439e4e | 511 | AUTH_BROKEN /* known type, but broken data */ |
9bea1d5b | 512 | } auth_type_t; |
94439e4e | 513 | |
94439e4e | 514 | /* stateful helper callback response codes */ |
9bea1d5b | 515 | typedef enum { |
94439e4e | 516 | S_HELPER_UNKNOWN, |
517 | S_HELPER_RESERVE, | |
518 | S_HELPER_RELEASE, | |
519 | S_HELPER_DEFER | |
9bea1d5b | 520 | } stateful_helper_callback_t; |
94439e4e | 521 | |
522 | /* stateful helper reservation info */ | |
9bea1d5b | 523 | typedef enum { |
94439e4e | 524 | S_HELPER_FREE, /* available for requests */ |
525 | S_HELPER_RESERVED, /* in a reserved state - no active request, but state data in the helper shouldn't be disturbed */ | |
526 | S_HELPER_DEFERRED /* available for requests, and at least one more will come from a previous caller with the server pointer */ | |
9bea1d5b | 527 | } stateful_helper_reserve_t; |
94439e4e | 528 | |
529 | ||
3f6c0fb2 | 530 | #if SQUID_SNMP |
9bea1d5b | 531 | enum { |
be335c22 | 532 | SNMP_C_VIEW, |
533 | SNMP_C_USER, | |
534 | SNMP_C_COMMUNITY | |
9bea1d5b | 535 | }; |
067bea91 | 536 | |
3f6c0fb2 | 537 | #endif |
538 | ||
9bea1d5b | 539 | typedef enum { |
067bea91 | 540 | MEM_NONE, |
137ee196 | 541 | MEM_2K_BUF, |
067bea91 | 542 | MEM_4K_BUF, |
543 | MEM_8K_BUF, | |
58cd5bbd | 544 | MEM_16K_BUF, |
545 | MEM_32K_BUF, | |
546 | MEM_64K_BUF, | |
c68e9c6b | 547 | MEM_ACL_DENY_INFO_LIST, |
c68e9c6b | 548 | MEM_ACL_NAME_LIST, |
94439e4e | 549 | MEM_ACL_PROXY_AUTH_MATCH, |
c68e9c6b | 550 | #if USE_CACHE_DIGESTS |
551 | MEM_CACHE_DIGEST, | |
552 | #endif | |
c68e9c6b | 553 | MEM_CLIENT_INFO, |
58cd5bbd | 554 | MEM_LINK_LIST, |
c68e9c6b | 555 | MEM_DLINK_NODE, |
c68e9c6b | 556 | MEM_DONTFREE, |
557 | MEM_DREAD_CTRL, | |
067bea91 | 558 | MEM_DWRITE_Q, |
067bea91 | 559 | MEM_FQDNCACHE_ENTRY, |
798b0889 | 560 | MEM_FWD_SERVER, |
94439e4e | 561 | MEM_HELPER_REQUEST, |
562 | MEM_HELPER_STATEFUL_REQUEST, | |
7faf2bdb | 563 | MEM_HTTP_HDR_CC, |
d76fcfa7 | 564 | MEM_HTTP_HDR_CONTENT_RANGE, |
43ae1d95 | 565 | MEM_HTTP_HDR_SC, |
566 | MEM_HTTP_HDR_SCTARGET, | |
067bea91 | 567 | MEM_IPCACHE_ENTRY, |
c68e9c6b | 568 | MEM_MD5_DIGEST, |
c68e9c6b | 569 | MEM_NETDBENTRY, |
067bea91 | 570 | MEM_NET_DB_NAME, |
c68e9c6b | 571 | MEM_RELIST, |
572 | MEM_REQUEST_T, | |
c68e9c6b | 573 | MEM_WORDLIST, |
eb824054 | 574 | #if !USE_DNSSERVERS |
7b724b86 | 575 | MEM_IDNS_QUERY, |
eb824054 | 576 | #endif |
58a39dc9 | 577 | MEM_EVENT, |
58cd5bbd | 578 | MEM_SWAP_LOG_DATA, |
067bea91 | 579 | MEM_MAX |
9bea1d5b | 580 | } mem_type; |
a21fbb54 | 581 | |
69c01cd7 | 582 | /* |
583 | * NOTE! We must preserve the order of this list! | |
584 | */ | |
9bea1d5b | 585 | enum { |
f09f5b26 | 586 | STORE_META_VOID, /* should not come up */ |
587 | STORE_META_KEY_URL, /* key w/ keytype */ | |
588 | STORE_META_KEY_SHA, | |
589 | STORE_META_KEY_MD5, | |
590 | STORE_META_URL, /* the url , if not in the header */ | |
591 | STORE_META_STD, /* standard metadata */ | |
592 | STORE_META_HITMETERING, /* reserved for hit metering */ | |
69c01cd7 | 593 | STORE_META_VALID, |
f66a9ef4 | 594 | STORE_META_VARY_HEADERS, /* Stores Vary request headers */ |
69c01cd7 | 595 | STORE_META_END |
9bea1d5b | 596 | }; |
f09f5b26 | 597 | |
9bea1d5b | 598 | enum { |
5830cdb3 | 599 | STORE_LOG_CREATE, |
600 | STORE_LOG_SWAPIN, | |
601 | STORE_LOG_SWAPOUT, | |
284ac611 | 602 | STORE_LOG_RELEASE, |
603 | STORE_LOG_SWAPOUTFAIL | |
9bea1d5b | 604 | }; |
5830cdb3 | 605 | |
9bea1d5b | 606 | typedef enum { |
5830cdb3 | 607 | SWAP_LOG_NOP, |
608 | SWAP_LOG_ADD, | |
b109de6b | 609 | SWAP_LOG_DEL, |
610 | SWAP_LOG_MAX | |
9bea1d5b | 611 | } swap_log_op; |
adba4a64 | 612 | |
613 | ||
614 | /* parse state of HttpReply or HttpRequest */ | |
9bea1d5b | 615 | typedef enum { |
2ac76861 | 616 | psReadyToParseStartLine = 0, |
617 | psReadyToParseHeaders, | |
618 | psParsed, | |
619 | psError | |
9bea1d5b | 620 | } HttpMsgParseState; |
b87b92fb | 621 | |
622 | ||
9bea1d5b | 623 | enum { |
b87b92fb | 624 | MEDIAN_HTTP, |
625 | MEDIAN_ICP_QUERY, | |
626 | MEDIAN_DNS, | |
627 | MEDIAN_HIT, | |
628 | MEDIAN_MISS, | |
629 | MEDIAN_NM, | |
7c9c84ad | 630 | MEDIAN_NH, |
b87b92fb | 631 | MEDIAN_ICP_REPLY |
9bea1d5b | 632 | }; |
071a3ae7 | 633 | |
9bea1d5b | 634 | enum { |
071a3ae7 | 635 | SENT, |
636 | RECV | |
9bea1d5b | 637 | }; |
de2a0782 | 638 | |
639 | /* | |
640 | * These are field indicators for raw cache-cache netdb transfers | |
641 | */ | |
9bea1d5b | 642 | enum { |
58a6c186 | 643 | NETDB_EX_NONE, |
644 | NETDB_EX_NETWORK, | |
645 | NETDB_EX_RTT, | |
646 | NETDB_EX_HOPS | |
9bea1d5b | 647 | }; |
28c60158 | 648 | |
649 | /* | |
650 | * cbdata types. similar to the MEM_* types above, but managed | |
651 | * in cbdata.c. A big difference is that these types are dynamically | |
652 | * allocated. This list is only a list of predefined types. Other types | |
653 | * are added runtime | |
654 | */ | |
9bea1d5b | 655 | typedef enum { |
28c60158 | 656 | CBDATA_UNKNOWN = 0, |
fe5aab5f | 657 | CBDATA_UNDEF = 0, |
28c60158 | 658 | CBDATA_acl_access, |
28c60158 | 659 | CBDATA_ConnStateData, |
28c60158 | 660 | CBDATA_ErrorState, |
661 | CBDATA_FwdState, | |
662 | CBDATA_generic_cbdata, | |
663 | CBDATA_helper, | |
664 | CBDATA_helper_server, | |
94439e4e | 665 | CBDATA_statefulhelper, |
666 | CBDATA_helper_stateful_server, | |
28c60158 | 667 | CBDATA_peer, |
668 | CBDATA_ps_state, | |
669 | CBDATA_RemovalPolicy, | |
670 | CBDATA_RemovalPolicyWalker, | |
671 | CBDATA_RemovalPurgeWalker, | |
fe5aab5f | 672 | CBDATA_FIRST_CUSTOM_TYPE = 1000 |
9bea1d5b | 673 | } cbdata_type; |
f66a9ef4 | 674 | |
675 | /* | |
676 | * Return codes from checkVary(request) | |
677 | */ | |
9bea1d5b | 678 | enum { |
f66a9ef4 | 679 | VARY_NONE, |
680 | VARY_MATCH, | |
681 | VARY_OTHER, | |
682 | VARY_CANCEL | |
9bea1d5b | 683 | }; |
b5638623 | 684 | |
add2192d | 685 | /* |
686 | * Store digest state enum | |
687 | */ | |
688 | typedef enum { | |
76cdc28d | 689 | DIGEST_READ_NONE, |
690 | DIGEST_READ_REPLY, | |
691 | DIGEST_READ_HEADERS, | |
692 | DIGEST_READ_CBLOCK, | |
693 | DIGEST_READ_MASK, | |
694 | DIGEST_READ_DONE | |
add2192d | 695 | } digest_read_state_t; |
696 | ||
3d7e9d7c | 697 | typedef enum { |
69660be0 | 698 | COMM_OK = 0, |
699 | COMM_ERROR = -1, | |
700 | COMM_NOMESSAGE = -3, | |
701 | COMM_TIMEOUT = -4, | |
702 | COMM_SHUTDOWN = -5, | |
703 | COMM_INPROGRESS = -6, | |
704 | COMM_ERR_CONNECT = -7, | |
705 | COMM_ERR_DNS = -8, | |
706 | COMM_ERR_CLOSING = -9 | |
3d7e9d7c | 707 | } comm_err_t; |
708 | ||
709 | ||
be20dac7 | 710 | /* CygWin & Windows NT Port */ |
ec4daaa5 | 711 | #ifdef _SQUID_WIN32_ |
be20dac7 | 712 | /* |
713 | * Supported Windows OS types codes | |
714 | */ | |
715 | enum { | |
716 | _WIN_OS_UNKNOWN, | |
717 | _WIN_OS_WIN32S, | |
718 | _WIN_OS_WIN95, | |
719 | _WIN_OS_WIN98, | |
720 | _WIN_OS_WINME, | |
721 | _WIN_OS_WINNT, | |
722 | _WIN_OS_WIN2K, | |
6b1846cf | 723 | _WIN_OS_WINXP, |
724 | _WIN_OS_WINNET | |
be20dac7 | 725 | }; |
726 | ||
727 | #endif | |
728 | ||
b5638623 | 729 | #endif /* SQUID_ENUMS_H */ |