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