]>
Commit | Line | Data |
---|---|---|
f892c2bf | 1 | |
9cef6668 | 2 | /* |
d35b9a94 | 3 | * $Id: enums.h,v 1.197 2001/10/17 10:59:08 adrian 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 | ||
d35b9a94 | 37 | typedef enum |
38 | { | |
79a15e0a | 39 | LOG_TAG_NONE, |
40 | LOG_TCP_HIT, | |
41 | LOG_TCP_MISS, | |
42 | LOG_TCP_REFRESH_HIT, | |
43 | LOG_TCP_REFRESH_FAIL_HIT, | |
44 | LOG_TCP_REFRESH_MISS, | |
ee1679df | 45 | LOG_TCP_CLIENT_REFRESH_MISS, |
79a15e0a | 46 | LOG_TCP_IMS_HIT, |
79a15e0a | 47 | LOG_TCP_SWAPFAIL_MISS, |
48 | LOG_TCP_NEGATIVE_HIT, | |
49 | LOG_TCP_MEM_HIT, | |
50 | LOG_TCP_DENIED, | |
b540e168 | 51 | LOG_TCP_OFFLINE_HIT, |
efd900cb | 52 | #if LOG_TCP_REDIRECTS |
53 | LOG_TCP_REDIRECT, | |
54 | #endif | |
79a15e0a | 55 | LOG_UDP_HIT, |
79a15e0a | 56 | LOG_UDP_MISS, |
57 | LOG_UDP_DENIED, | |
58 | LOG_UDP_INVALID, | |
59 | LOG_UDP_MISS_NOFETCH, | |
071a3ae7 | 60 | LOG_ICP_QUERY, |
79a15e0a | 61 | LOG_TYPE_MAX |
d35b9a94 | 62 | } |
63 | log_type; | |
f892c2bf | 64 | |
d35b9a94 | 65 | typedef enum |
66 | { | |
9b312a19 | 67 | ERR_NONE, |
68 | ERR_READ_TIMEOUT, | |
69 | ERR_LIFETIME_EXP, | |
9b312a19 | 70 | ERR_READ_ERROR, |
71 | ERR_WRITE_ERROR, | |
05b744f3 | 72 | ERR_SHUTTING_DOWN, |
9b312a19 | 73 | ERR_CONNECT_FAIL, |
74 | ERR_INVALID_REQ, | |
75 | ERR_UNSUP_REQ, | |
76 | ERR_INVALID_URL, | |
77 | ERR_SOCKET_FAILURE, | |
78 | ERR_DNS_FAIL, | |
9b312a19 | 79 | ERR_CANNOT_FORWARD, |
bdb3c273 | 80 | ERR_FORWARDING_DENIED, |
9b312a19 | 81 | ERR_NO_RELAY, |
9b312a19 | 82 | ERR_ZERO_SIZE_OBJECT, |
83 | ERR_FTP_DISABLED, | |
b9916917 | 84 | ERR_FTP_FAILURE, |
23d92c64 | 85 | ERR_URN_RESOLVE, |
9b312a19 | 86 | ERR_ACCESS_DENIED, |
cb69b4c7 | 87 | ERR_CACHE_ACCESS_DENIED, |
63259c34 | 88 | ERR_CACHE_MGR_ACCESS_DENIED, |
2ac76861 | 89 | ERR_SQUID_SIGNATURE, /* not really an error */ |
ec878047 | 90 | ERR_FTP_PUT_CREATED, /* !error,a note that the file was created */ |
59c4d35b | 91 | ERR_FTP_PUT_MODIFIED, /* modified, !created */ |
92 | ERR_FTP_PUT_ERROR, | |
b6a2f15e | 93 | ERR_FTP_NOT_FOUND, |
94 | ERR_FTP_FORBIDDEN, | |
95 | ERR_FTP_UNAVAILABLE, | |
ec878047 | 96 | ERR_ONLY_IF_CACHED_MISS, /* failure to satisfy only-if-cached request */ |
0483b991 | 97 | ERR_TOO_BIG, |
9b312a19 | 98 | ERR_MAX |
d35b9a94 | 99 | } |
100 | err_type; | |
9b312a19 | 101 | |
d35b9a94 | 102 | typedef enum |
103 | { | |
f892c2bf | 104 | ACL_NONE, |
105 | ACL_SRC_IP, | |
106 | ACL_DST_IP, | |
ae2c08a2 | 107 | ACL_MY_IP, |
f892c2bf | 108 | ACL_SRC_DOMAIN, |
109 | ACL_DST_DOMAIN, | |
d0d41f07 | 110 | ACL_SRC_DOM_REGEX, |
111 | ACL_DST_DOM_REGEX, | |
f892c2bf | 112 | ACL_TIME, |
113 | ACL_URLPATH_REGEX, | |
114 | ACL_URL_REGEX, | |
115 | ACL_URL_PORT, | |
7e3ce7b9 | 116 | ACL_MY_PORT, |
3898f57f | 117 | #if USE_IDENT |
c68e9c6b | 118 | ACL_IDENT, |
145cf928 | 119 | ACL_IDENT_REGEX, |
3898f57f | 120 | #endif |
f892c2bf | 121 | ACL_PROTO, |
122 | ACL_METHOD, | |
123 | ACL_BROWSER, | |
afe95a7e | 124 | ACL_PROXY_AUTH, |
145cf928 | 125 | ACL_PROXY_AUTH_REGEX, |
5d6c7aad | 126 | ACL_SRC_ASN, |
127 | ACL_DST_ASN, | |
6b5fbfee | 128 | #if USE_ARP_ACL |
6b6347d5 | 129 | ACL_SRC_ARP, |
6b5fbfee | 130 | #endif |
131 | #if SQUID_SNMP | |
dba79ac5 | 132 | ACL_SNMP_COMMUNITY, |
6b5fbfee | 133 | #endif |
134 | #if SRC_RTT_NOT_YET_FINISHED | |
bd05e3e3 | 135 | ACL_NETDB_SRC_RTT, |
6b5fbfee | 136 | #endif |
9bc73deb | 137 | ACL_MAXCONN, |
ba2b31a8 | 138 | ACL_REQ_MIME_TYPE, |
c4ab8329 | 139 | ACL_REP_MIME_TYPE, |
60d096f4 | 140 | ACL_MAX_USER_IP, |
f892c2bf | 141 | ACL_ENUM_MAX |
d35b9a94 | 142 | } |
143 | squid_acl; | |
f892c2bf | 144 | |
d35b9a94 | 145 | typedef enum |
146 | { | |
f892c2bf | 147 | ACL_LOOKUP_NONE, |
148 | ACL_LOOKUP_NEEDED, | |
149 | ACL_LOOKUP_PENDING, | |
73e67ee0 | 150 | ACL_LOOKUP_DONE, |
d35b9a94 | 151 | ACL_PROXY_AUTH_NEEDED |
152 | } | |
153 | acl_lookup_state; | |
f892c2bf | 154 | |
d35b9a94 | 155 | enum |
156 | { | |
f892c2bf | 157 | FD_NONE, |
158 | FD_LOG, | |
159 | FD_FILE, | |
160 | FD_SOCKET, | |
161 | FD_PIPE, | |
162 | FD_UNKNOWN | |
d35b9a94 | 163 | }; |
f892c2bf | 164 | |
d35b9a94 | 165 | enum |
166 | { | |
f892c2bf | 167 | FD_READ, |
168 | FD_WRITE | |
d35b9a94 | 169 | }; |
f892c2bf | 170 | |
d35b9a94 | 171 | typedef enum |
172 | { | |
f892c2bf | 173 | PEER_NONE, |
174 | PEER_SIBLING, | |
175 | PEER_PARENT, | |
176 | PEER_MULTICAST | |
d35b9a94 | 177 | } |
178 | peer_t; | |
f892c2bf | 179 | |
d35b9a94 | 180 | typedef enum |
181 | { | |
9fdfc93e | 182 | PEER_SA_NONE, |
183 | PEER_SA_DIGEST, | |
69c95dd3 | 184 | PEER_SA_ICP, |
185 | PEER_SA_NETDB | |
d35b9a94 | 186 | } |
187 | peer_select_alg_t; | |
9fdfc93e | 188 | |
d35b9a94 | 189 | typedef enum |
190 | { | |
9fdfc93e | 191 | LOOKUP_NONE, |
192 | LOOKUP_HIT, | |
4b4cd312 | 193 | LOOKUP_MISS |
d35b9a94 | 194 | } |
195 | lookup_t; | |
9fdfc93e | 196 | |
4f087419 | 197 | /* recognized or "known" header fields; @?@ add more! */ |
d35b9a94 | 198 | typedef enum |
199 | { | |
4f087419 | 200 | HDR_ACCEPT, |
d8b249ef | 201 | HDR_ACCEPT_CHARSET, |
202 | HDR_ACCEPT_ENCODING, | |
203 | HDR_ACCEPT_LANGUAGE, | |
de336bbe | 204 | HDR_ACCEPT_RANGES, |
4f087419 | 205 | HDR_AGE, |
99edd1c3 | 206 | HDR_ALLOW, |
207 | HDR_AUTHORIZATION, | |
4f087419 | 208 | HDR_CACHE_CONTROL, |
209 | HDR_CONNECTION, | |
2246b732 | 210 | HDR_CONTENT_BASE, |
4f087419 | 211 | HDR_CONTENT_ENCODING, |
99edd1c3 | 212 | HDR_CONTENT_LANGUAGE, |
4f087419 | 213 | HDR_CONTENT_LENGTH, |
2246b732 | 214 | HDR_CONTENT_LOCATION, |
4f087419 | 215 | HDR_CONTENT_MD5, |
d76fcfa7 | 216 | HDR_CONTENT_RANGE, |
4f087419 | 217 | HDR_CONTENT_TYPE, |
efd900cb | 218 | HDR_COOKIE, |
4f087419 | 219 | HDR_DATE, |
220 | HDR_ETAG, | |
221 | HDR_EXPIRES, | |
99edd1c3 | 222 | HDR_FROM, |
4f087419 | 223 | HDR_HOST, |
c68e9c6b | 224 | HDR_IF_MATCH, |
99edd1c3 | 225 | HDR_IF_MODIFIED_SINCE, |
c68e9c6b | 226 | HDR_IF_NONE_MATCH, |
e17d81d3 | 227 | HDR_IF_RANGE, |
4f087419 | 228 | HDR_LAST_MODIFIED, |
99edd1c3 | 229 | HDR_LINK, |
4f087419 | 230 | HDR_LOCATION, |
231 | HDR_MAX_FORWARDS, | |
d8b249ef | 232 | HDR_MIME_VERSION, |
99edd1c3 | 233 | HDR_PRAGMA, |
4f087419 | 234 | HDR_PROXY_AUTHENTICATE, |
84ecfcb9 | 235 | HDR_PROXY_AUTHENTICATION_INFO, |
99edd1c3 | 236 | HDR_PROXY_AUTHORIZATION, |
237 | HDR_PROXY_CONNECTION, | |
4f087419 | 238 | HDR_PUBLIC, |
02922e76 | 239 | HDR_RANGE, |
135171fe | 240 | HDR_REQUEST_RANGE, /* some clients use this, sigh */ |
99edd1c3 | 241 | HDR_REFERER, |
4f087419 | 242 | HDR_RETRY_AFTER, |
de336bbe | 243 | HDR_SERVER, |
4f087419 | 244 | HDR_SET_COOKIE, |
99edd1c3 | 245 | HDR_TITLE, |
4f087419 | 246 | HDR_UPGRADE, |
99edd1c3 | 247 | HDR_USER_AGENT, |
783e4699 | 248 | HDR_VARY, |
99edd1c3 | 249 | HDR_VIA, |
4f087419 | 250 | HDR_WARNING, |
251 | HDR_WWW_AUTHENTICATE, | |
84ecfcb9 | 252 | HDR_AUTHENTICATION_INFO, |
de336bbe | 253 | HDR_X_CACHE, |
4b4cd312 | 254 | HDR_X_CACHE_LOOKUP, /* tmp hack, remove later */ |
99edd1c3 | 255 | HDR_X_FORWARDED_FOR, |
2246b732 | 256 | HDR_X_REQUEST_URI, /* appended if ADD_X_REQUEST_URI is #defined */ |
fcc62502 | 257 | HDR_X_SQUID_ERROR, |
f66a9ef4 | 258 | HDR_NEGOTIATE, |
259 | #if X_ACCELERATOR_VARY | |
260 | HDR_X_ACCELERATOR_VARY, | |
261 | #endif | |
4f087419 | 262 | HDR_OTHER, |
263 | HDR_ENUM_END | |
d35b9a94 | 264 | } |
265 | http_hdr_type; | |
4f087419 | 266 | |
d35b9a94 | 267 | typedef enum |
268 | { | |
7faf2bdb | 269 | CC_PUBLIC, |
270 | CC_PRIVATE, | |
271 | CC_NO_CACHE, | |
272 | CC_NO_STORE, | |
273 | CC_NO_TRANSFORM, | |
274 | CC_MUST_REVALIDATE, | |
275 | CC_PROXY_REVALIDATE, | |
276 | CC_MAX_AGE, | |
7e3ce7b9 | 277 | CC_S_MAXAGE, |
49ff0930 | 278 | CC_MAX_STALE, |
d8b249ef | 279 | CC_ONLY_IF_CACHED, |
280 | CC_OTHER, | |
7faf2bdb | 281 | CC_ENUM_END |
d35b9a94 | 282 | } |
283 | http_hdr_cc_type; | |
7faf2bdb | 284 | |
285 | /* possible types for http header fields */ | |
d35b9a94 | 286 | typedef enum |
287 | { | |
399e85ea | 288 | ftInvalid = HDR_ENUM_END, /* to catch nasty errors with hdr_id<->fld_type clashes */ |
7faf2bdb | 289 | ftInt, |
4f7e9dbb | 290 | ftStr, |
7faf2bdb | 291 | ftDate_1123, |
a9771e51 | 292 | ftETag, |
02922e76 | 293 | ftPCc, |
a9771e51 | 294 | ftPContRange, |
02922e76 | 295 | ftPRange, |
a9771e51 | 296 | ftDate_1123_or_ETag |
d35b9a94 | 297 | } |
298 | field_type; | |
4f087419 | 299 | |
2246b732 | 300 | /* possible owners of http header */ |
d35b9a94 | 301 | typedef enum |
302 | { | |
2246b732 | 303 | hoNone, |
ff6c30e8 | 304 | #if USE_HTCP |
305 | hoHtcpReply, | |
306 | #endif | |
2246b732 | 307 | hoRequest, |
308 | hoReply | |
d35b9a94 | 309 | } |
310 | http_hdr_owner_type; | |
2246b732 | 311 | |
d35b9a94 | 312 | typedef enum |
313 | { | |
f892c2bf | 314 | HIER_NONE, |
315 | DIRECT, | |
316 | SIBLING_HIT, | |
317 | PARENT_HIT, | |
318 | DEFAULT_PARENT, | |
319 | SINGLE_PARENT, | |
320 | FIRSTUP_PARENT, | |
f892c2bf | 321 | FIRST_PARENT_MISS, |
322 | CLOSEST_PARENT_MISS, | |
69c95dd3 | 323 | CLOSEST_PARENT, |
f892c2bf | 324 | CLOSEST_DIRECT, |
325 | NO_DIRECT_FAIL, | |
326 | SOURCE_FASTEST, | |
f892c2bf | 327 | ROUNDROBIN_PARENT, |
6cfa8966 | 328 | #if USE_CACHE_DIGESTS |
9bc73deb | 329 | CD_PARENT_HIT, |
330 | CD_SIBLING_HIT, | |
afd88fbe | 331 | #endif |
332 | #if USE_CARP | |
333 | CARP, | |
c127134a | 334 | #endif |
6a655df0 | 335 | ANY_OLD_PARENT, |
f892c2bf | 336 | HIER_MAX |
d35b9a94 | 337 | } |
338 | hier_code; | |
f892c2bf | 339 | |
d35b9a94 | 340 | typedef enum |
341 | { | |
27cd7235 | 342 | ICP_INVALID, |
343 | ICP_QUERY, | |
344 | ICP_HIT, | |
345 | ICP_MISS, | |
346 | ICP_ERR, | |
347 | ICP_SEND, | |
348 | ICP_SENDA, | |
349 | ICP_DATABEG, | |
350 | ICP_DATA, | |
351 | ICP_DATAEND, | |
352 | ICP_SECHO, | |
353 | ICP_DECHO, | |
58e170f0 | 354 | ICP_NOTIFY, |
355 | ICP_INVALIDATE, | |
356 | ICP_DELETE, | |
27cd7235 | 357 | ICP_UNUSED15, |
358 | ICP_UNUSED16, | |
359 | ICP_UNUSED17, | |
360 | ICP_UNUSED18, | |
361 | ICP_UNUSED19, | |
362 | ICP_UNUSED20, | |
363 | ICP_MISS_NOFETCH, | |
da2d50d1 | 364 | ICP_DENIED, |
27cd7235 | 365 | ICP_HIT_OBJ, |
366 | ICP_END | |
d35b9a94 | 367 | } |
368 | icp_opcode; | |
f892c2bf | 369 | |
d35b9a94 | 370 | enum |
371 | { | |
f892c2bf | 372 | NOT_IN_MEMORY, |
f892c2bf | 373 | IN_MEMORY |
d35b9a94 | 374 | }; |
f892c2bf | 375 | |
d35b9a94 | 376 | enum |
377 | { | |
f892c2bf | 378 | PING_NONE, |
379 | PING_WAITING, | |
f892c2bf | 380 | PING_DONE |
d35b9a94 | 381 | }; |
f892c2bf | 382 | |
d35b9a94 | 383 | enum |
384 | { | |
f892c2bf | 385 | STORE_OK, |
b7fe0ab0 | 386 | STORE_PENDING |
d35b9a94 | 387 | }; |
f892c2bf | 388 | |
d35b9a94 | 389 | enum |
390 | { | |
8350fe9b | 391 | SWAPOUT_NONE, |
8350fe9b | 392 | SWAPOUT_WRITING, |
393 | SWAPOUT_DONE | |
d35b9a94 | 394 | }; |
f892c2bf | 395 | |
d35b9a94 | 396 | typedef enum |
397 | { | |
5d86029a | 398 | STORE_NON_CLIENT, |
399 | STORE_MEM_CLIENT, | |
400 | STORE_DISK_CLIENT | |
d35b9a94 | 401 | } |
402 | store_client_t; | |
74ac2ecb | 403 | |
d35b9a94 | 404 | enum |
405 | { | |
f892c2bf | 406 | METHOD_NONE, /* 000 */ |
407 | METHOD_GET, /* 001 */ | |
408 | METHOD_POST, /* 010 */ | |
409 | METHOD_PUT, /* 011 */ | |
410 | METHOD_HEAD, /* 100 */ | |
411 | METHOD_CONNECT, /* 101 */ | |
412 | METHOD_TRACE, /* 110 */ | |
710bd872 | 413 | METHOD_PURGE, /* 111 */ |
1f38f50a | 414 | METHOD_OPTIONS, |
7e3ce7b9 | 415 | METHOD_DELETE, /* RFC2616 section 9.7 */ |
21e1d500 | 416 | METHOD_PROPFIND, |
417 | METHOD_PROPPATCH, | |
418 | METHOD_MKCOL, | |
419 | METHOD_COPY, | |
420 | METHOD_MOVE, | |
421 | METHOD_LOCK, | |
422 | METHOD_UNLOCK, | |
42b51993 | 423 | METHOD_BMOVE, |
424 | METHOD_BDELETE, | |
425 | METHOD_BPROPFIND, | |
56fe752e | 426 | METHOD_EXT00, |
427 | METHOD_EXT01, | |
428 | METHOD_EXT02, | |
429 | METHOD_EXT03, | |
430 | METHOD_EXT04, | |
431 | METHOD_EXT05, | |
432 | METHOD_EXT06, | |
433 | METHOD_EXT07, | |
434 | METHOD_EXT08, | |
435 | METHOD_EXT09, | |
436 | METHOD_EXT10, | |
437 | METHOD_EXT11, | |
438 | METHOD_EXT12, | |
439 | METHOD_EXT13, | |
440 | METHOD_EXT14, | |
441 | METHOD_EXT15, | |
442 | METHOD_EXT16, | |
443 | METHOD_EXT17, | |
444 | METHOD_EXT18, | |
445 | METHOD_EXT19, | |
710bd872 | 446 | METHOD_ENUM_END |
d35b9a94 | 447 | }; |
f892c2bf | 448 | typedef unsigned int method_t; |
449 | ||
d35b9a94 | 450 | typedef enum |
451 | { | |
f892c2bf | 452 | PROTO_NONE, |
453 | PROTO_HTTP, | |
454 | PROTO_FTP, | |
455 | PROTO_GOPHER, | |
456 | PROTO_WAIS, | |
457 | PROTO_CACHEOBJ, | |
458 | PROTO_ICP, | |
86aebcda | 459 | #if USE_HTCP |
460 | PROTO_HTCP, | |
461 | #endif | |
23d92c64 | 462 | PROTO_URN, |
53ad48e6 | 463 | PROTO_WHOIS, |
1da5651f | 464 | PROTO_INTERNAL, |
4f3de732 | 465 | PROTO_HTTPS, |
f892c2bf | 466 | PROTO_MAX |
d35b9a94 | 467 | } |
468 | protocol_t; | |
9b312a19 | 469 | |
d35b9a94 | 470 | typedef enum |
471 | { | |
728da2ee | 472 | HTTP_STATUS_NONE = 0, |
9b312a19 | 473 | HTTP_CONTINUE = 100, |
474 | HTTP_SWITCHING_PROTOCOLS = 101, | |
7e3ce7b9 | 475 | HTTP_PROCESSING = 102, /* RFC2518 section 10.1 */ |
9b312a19 | 476 | HTTP_OK = 200, |
477 | HTTP_CREATED = 201, | |
478 | HTTP_ACCEPTED = 202, | |
479 | HTTP_NON_AUTHORITATIVE_INFORMATION = 203, | |
480 | HTTP_NO_CONTENT = 204, | |
481 | HTTP_RESET_CONTENT = 205, | |
482 | HTTP_PARTIAL_CONTENT = 206, | |
7e3ce7b9 | 483 | HTTP_MULTI_STATUS = 207, /* RFC2518 section 10.2 */ |
9b312a19 | 484 | HTTP_MULTIPLE_CHOICES = 300, |
485 | HTTP_MOVED_PERMANENTLY = 301, | |
486 | HTTP_MOVED_TEMPORARILY = 302, | |
487 | HTTP_SEE_OTHER = 303, | |
488 | HTTP_NOT_MODIFIED = 304, | |
489 | HTTP_USE_PROXY = 305, | |
490 | HTTP_BAD_REQUEST = 400, | |
491 | HTTP_UNAUTHORIZED = 401, | |
492 | HTTP_PAYMENT_REQUIRED = 402, | |
493 | HTTP_FORBIDDEN = 403, | |
494 | HTTP_NOT_FOUND = 404, | |
495 | HTTP_METHOD_NOT_ALLOWED = 405, | |
496 | HTTP_NOT_ACCEPTABLE = 406, | |
497 | HTTP_PROXY_AUTHENTICATION_REQUIRED = 407, | |
498 | HTTP_REQUEST_TIMEOUT = 408, | |
499 | HTTP_CONFLICT = 409, | |
500 | HTTP_GONE = 410, | |
501 | HTTP_LENGTH_REQUIRED = 411, | |
502 | HTTP_PRECONDITION_FAILED = 412, | |
503 | HTTP_REQUEST_ENTITY_TOO_LARGE = 413, | |
504 | HTTP_REQUEST_URI_TOO_LARGE = 414, | |
505 | HTTP_UNSUPPORTED_MEDIA_TYPE = 415, | |
7e3ce7b9 | 506 | HTTP_UNPROCESSABLE_ENTITY = 422, /* RFC2518 section 10.3 */ |
507 | HTTP_LOCKED = 423, /* RFC2518 section 10.4 */ | |
508 | HTTP_FAILED_DEPENDENCY = 424, /* RFC2518 section 10.5 */ | |
9b312a19 | 509 | HTTP_INTERNAL_SERVER_ERROR = 500, |
510 | HTTP_NOT_IMPLEMENTED = 501, | |
511 | HTTP_BAD_GATEWAY = 502, | |
512 | HTTP_SERVICE_UNAVAILABLE = 503, | |
513 | HTTP_GATEWAY_TIMEOUT = 504, | |
cb69b4c7 | 514 | HTTP_HTTP_VERSION_NOT_SUPPORTED = 505, |
7e3ce7b9 | 515 | HTTP_INSUFFICIENT_STORAGE = 507, /* RFC2518 section 10.6 */ |
ee1679df | 516 | HTTP_INVALID_HEADER = 600 /* Squid header parsing error */ |
d35b9a94 | 517 | } |
518 | http_status; | |
79a15e0a | 519 | |
d46a87a8 | 520 | /* |
521 | * These are for StoreEntry->flag, which is defined as a SHORT | |
522 | * | |
523 | * NOTE: These flags are written to swap.state, so think very carefully | |
524 | * about deleting or re-assigning! | |
525 | */ | |
d35b9a94 | 526 | enum |
527 | { | |
d46a87a8 | 528 | ENTRY_SPECIAL, |
529 | ENTRY_REVALIDATE, | |
530 | DELAY_SENDING, | |
531 | RELEASE_REQUEST, | |
532 | REFRESH_REQUEST, | |
533 | ENTRY_CACHABLE, | |
534 | ENTRY_DISPATCHED, | |
535 | KEY_PRIVATE, | |
d46a87a8 | 536 | ENTRY_FWD_HDR_WAIT, |
d46a87a8 | 537 | ENTRY_NEGCACHED, |
538 | ENTRY_VALIDATED, | |
b7fe0ab0 | 539 | ENTRY_BAD_LENGTH, |
e95eff47 | 540 | ENTRY_ABORTED |
541 | #if UNUSED_CODE | |
542 | ENTRY_DONT_LOG | |
543 | #endif | |
d35b9a94 | 544 | }; |
79a15e0a | 545 | |
d35b9a94 | 546 | typedef enum |
547 | { | |
fc5d6f7f | 548 | ACCESS_DENIED, |
549 | ACCESS_ALLOWED, | |
550 | ACCESS_REQ_PROXY_AUTH | |
d35b9a94 | 551 | } |
552 | allow_t; | |
a97cfa48 | 553 | |
d35b9a94 | 554 | typedef enum |
555 | { | |
60d096f4 | 556 | AUTH_ACL_CHALLENGE = -2, |
557 | AUTH_ACL_HELPER = -1, | |
558 | AUTH_ACL_CANNOT_AUTHENTICATE = 0, | |
d35b9a94 | 559 | AUTH_AUTHENTICATED = 1 |
560 | } | |
561 | auth_acl_t; | |
60d096f4 | 562 | |
d35b9a94 | 563 | typedef enum |
564 | { | |
94439e4e | 565 | AUTH_UNKNOWN, /* default */ |
566 | AUTH_BASIC, | |
567 | AUTH_NTLM, | |
2d70df72 | 568 | AUTH_DIGEST, |
94439e4e | 569 | AUTH_BROKEN /* known type, but broken data */ |
d35b9a94 | 570 | } |
571 | auth_type_t; | |
94439e4e | 572 | |
d35b9a94 | 573 | typedef enum |
574 | { | |
94439e4e | 575 | AUTHENTICATE_STATE_NONE, |
576 | AUTHENTICATE_STATE_NEGOTIATE, | |
577 | AUTHENTICATE_STATE_CHALLENGE, | |
578 | AUTHENTICATE_STATE_RESPONSE, | |
579 | AUTHENTICATE_STATE_DONE | |
d35b9a94 | 580 | } |
581 | auth_state_t; /* connection level auth state */ | |
94439e4e | 582 | |
583 | /* stateful helper callback response codes */ | |
d35b9a94 | 584 | typedef enum |
585 | { | |
94439e4e | 586 | S_HELPER_UNKNOWN, |
587 | S_HELPER_RESERVE, | |
588 | S_HELPER_RELEASE, | |
589 | S_HELPER_DEFER | |
d35b9a94 | 590 | } |
591 | stateful_helper_callback_t; | |
94439e4e | 592 | |
593 | /* stateful helper reservation info */ | |
d35b9a94 | 594 | typedef enum |
595 | { | |
94439e4e | 596 | S_HELPER_FREE, /* available for requests */ |
597 | S_HELPER_RESERVED, /* in a reserved state - no active request, but state data in the helper shouldn't be disturbed */ | |
598 | S_HELPER_DEFERRED /* available for requests, and at least one more will come from a previous caller with the server pointer */ | |
d35b9a94 | 599 | } |
600 | stateful_helper_reserve_t; | |
94439e4e | 601 | |
602 | ||
3f6c0fb2 | 603 | #if SQUID_SNMP |
d35b9a94 | 604 | enum |
605 | { | |
be335c22 | 606 | SNMP_C_VIEW, |
607 | SNMP_C_USER, | |
608 | SNMP_C_COMMUNITY | |
d35b9a94 | 609 | }; |
067bea91 | 610 | |
3f6c0fb2 | 611 | #endif |
612 | ||
d35b9a94 | 613 | typedef enum |
614 | { | |
067bea91 | 615 | MEM_NONE, |
137ee196 | 616 | MEM_2K_BUF, |
067bea91 | 617 | MEM_4K_BUF, |
618 | MEM_8K_BUF, | |
58cd5bbd | 619 | MEM_16K_BUF, |
620 | MEM_32K_BUF, | |
621 | MEM_64K_BUF, | |
067bea91 | 622 | MEM_ACL, |
c68e9c6b | 623 | MEM_ACL_DENY_INFO_LIST, |
624 | MEM_ACL_IP_DATA, | |
625 | MEM_ACL_LIST, | |
626 | MEM_ACL_NAME_LIST, | |
94439e4e | 627 | MEM_AUTH_USER_T, |
628 | MEM_AUTH_USER_HASH, | |
629 | MEM_ACL_PROXY_AUTH_MATCH, | |
a72fdaa7 | 630 | MEM_ACL_USER_DATA, |
c68e9c6b | 631 | MEM_ACL_TIME_DATA, |
c68e9c6b | 632 | #if USE_CACHE_DIGESTS |
633 | MEM_CACHE_DIGEST, | |
634 | #endif | |
c68e9c6b | 635 | MEM_CLIENT_INFO, |
636 | MEM_CLIENT_SOCK_BUF, | |
58cd5bbd | 637 | MEM_LINK_LIST, |
c68e9c6b | 638 | MEM_DLINK_NODE, |
c68e9c6b | 639 | MEM_DONTFREE, |
640 | MEM_DREAD_CTRL, | |
067bea91 | 641 | MEM_DWRITE_Q, |
067bea91 | 642 | MEM_FQDNCACHE_ENTRY, |
798b0889 | 643 | MEM_FWD_SERVER, |
94439e4e | 644 | MEM_HELPER_REQUEST, |
645 | MEM_HELPER_STATEFUL_REQUEST, | |
9bc73deb | 646 | #if USE_HTCP |
647 | MEM_HTCP_SPECIFIER, | |
648 | MEM_HTCP_DETAIL, | |
649 | #endif | |
7faf2bdb | 650 | MEM_HTTP_HDR_CC, |
d76fcfa7 | 651 | MEM_HTTP_HDR_CONTENT_RANGE, |
c68e9c6b | 652 | MEM_HTTP_HDR_ENTRY, |
653 | MEM_HTTP_HDR_RANGE, | |
654 | MEM_HTTP_HDR_RANGE_SPEC, | |
655 | MEM_HTTP_REPLY, | |
c68e9c6b | 656 | MEM_INTLIST, |
067bea91 | 657 | MEM_IPCACHE_ENTRY, |
c68e9c6b | 658 | MEM_MD5_DIGEST, |
659 | MEM_MEMOBJECT, | |
660 | MEM_MEM_NODE, | |
661 | MEM_NETDBENTRY, | |
067bea91 | 662 | MEM_NET_DB_NAME, |
c68e9c6b | 663 | MEM_RELIST, |
664 | MEM_REQUEST_T, | |
c68e9c6b | 665 | MEM_STOREENTRY, |
c68e9c6b | 666 | MEM_WORDLIST, |
eb824054 | 667 | #if !USE_DNSSERVERS |
7b724b86 | 668 | MEM_IDNS_QUERY, |
eb824054 | 669 | #endif |
58a39dc9 | 670 | MEM_EVENT, |
58cd5bbd | 671 | MEM_TLV, |
672 | MEM_SWAP_LOG_DATA, | |
58cd5bbd | 673 | MEM_CLIENT_REQ_BUF, |
067bea91 | 674 | MEM_MAX |
d35b9a94 | 675 | } |
676 | mem_type; | |
a21fbb54 | 677 | |
69c01cd7 | 678 | /* |
679 | * NOTE! We must preserve the order of this list! | |
680 | */ | |
d35b9a94 | 681 | enum |
682 | { | |
f09f5b26 | 683 | STORE_META_VOID, /* should not come up */ |
684 | STORE_META_KEY_URL, /* key w/ keytype */ | |
685 | STORE_META_KEY_SHA, | |
686 | STORE_META_KEY_MD5, | |
687 | STORE_META_URL, /* the url , if not in the header */ | |
688 | STORE_META_STD, /* standard metadata */ | |
689 | STORE_META_HITMETERING, /* reserved for hit metering */ | |
69c01cd7 | 690 | STORE_META_VALID, |
f66a9ef4 | 691 | STORE_META_VARY_HEADERS, /* Stores Vary request headers */ |
69c01cd7 | 692 | STORE_META_END |
d35b9a94 | 693 | }; |
f09f5b26 | 694 | |
d35b9a94 | 695 | enum |
696 | { | |
5830cdb3 | 697 | STORE_LOG_CREATE, |
698 | STORE_LOG_SWAPIN, | |
699 | STORE_LOG_SWAPOUT, | |
284ac611 | 700 | STORE_LOG_RELEASE, |
701 | STORE_LOG_SWAPOUTFAIL | |
d35b9a94 | 702 | }; |
5830cdb3 | 703 | |
d35b9a94 | 704 | typedef enum |
705 | { | |
5830cdb3 | 706 | SWAP_LOG_NOP, |
707 | SWAP_LOG_ADD, | |
b109de6b | 708 | SWAP_LOG_DEL, |
709 | SWAP_LOG_MAX | |
d35b9a94 | 710 | } |
711 | swap_log_op; | |
adba4a64 | 712 | |
713 | ||
714 | /* parse state of HttpReply or HttpRequest */ | |
d35b9a94 | 715 | typedef enum |
716 | { | |
2ac76861 | 717 | psReadyToParseStartLine = 0, |
718 | psReadyToParseHeaders, | |
719 | psParsed, | |
720 | psError | |
d35b9a94 | 721 | } |
722 | HttpMsgParseState; | |
b87b92fb | 723 | |
724 | ||
d35b9a94 | 725 | enum |
726 | { | |
b87b92fb | 727 | MEDIAN_HTTP, |
728 | MEDIAN_ICP_QUERY, | |
729 | MEDIAN_DNS, | |
730 | MEDIAN_HIT, | |
731 | MEDIAN_MISS, | |
732 | MEDIAN_NM, | |
7c9c84ad | 733 | MEDIAN_NH, |
b87b92fb | 734 | MEDIAN_ICP_REPLY |
d35b9a94 | 735 | }; |
071a3ae7 | 736 | |
d35b9a94 | 737 | enum |
738 | { | |
071a3ae7 | 739 | SENT, |
740 | RECV | |
d35b9a94 | 741 | }; |
de2a0782 | 742 | |
743 | /* | |
744 | * These are field indicators for raw cache-cache netdb transfers | |
745 | */ | |
d35b9a94 | 746 | enum |
747 | { | |
58a6c186 | 748 | NETDB_EX_NONE, |
749 | NETDB_EX_NETWORK, | |
750 | NETDB_EX_RTT, | |
751 | NETDB_EX_HOPS | |
d35b9a94 | 752 | }; |
28c60158 | 753 | |
754 | /* | |
755 | * cbdata types. similar to the MEM_* types above, but managed | |
756 | * in cbdata.c. A big difference is that these types are dynamically | |
757 | * allocated. This list is only a list of predefined types. Other types | |
758 | * are added runtime | |
759 | */ | |
d35b9a94 | 760 | typedef enum |
761 | { | |
28c60158 | 762 | CBDATA_UNKNOWN = 0, |
fe5aab5f | 763 | CBDATA_UNDEF = 0, |
28c60158 | 764 | CBDATA_acl_access, |
765 | CBDATA_aclCheck_t, | |
766 | CBDATA_clientHttpRequest, | |
767 | CBDATA_ConnStateData, | |
28c60158 | 768 | CBDATA_ErrorState, |
769 | CBDATA_FwdState, | |
770 | CBDATA_generic_cbdata, | |
771 | CBDATA_helper, | |
772 | CBDATA_helper_server, | |
94439e4e | 773 | CBDATA_statefulhelper, |
774 | CBDATA_helper_stateful_server, | |
28c60158 | 775 | CBDATA_HttpStateData, |
776 | CBDATA_peer, | |
777 | CBDATA_ps_state, | |
778 | CBDATA_RemovalPolicy, | |
779 | CBDATA_RemovalPolicyWalker, | |
780 | CBDATA_RemovalPurgeWalker, | |
781 | CBDATA_store_client, | |
fe5aab5f | 782 | CBDATA_FIRST_CUSTOM_TYPE = 1000 |
d35b9a94 | 783 | } |
784 | cbdata_type; | |
f66a9ef4 | 785 | |
786 | /* | |
787 | * Return codes from checkVary(request) | |
788 | */ | |
d35b9a94 | 789 | enum |
790 | { | |
f66a9ef4 | 791 | VARY_NONE, |
792 | VARY_MATCH, | |
793 | VARY_OTHER, | |
794 | VARY_CANCEL | |
d35b9a94 | 795 | }; |
b5638623 | 796 | |
797 | #endif /* SQUID_ENUMS_H */ |