]> git.ipfire.org Git - thirdparty/squid.git/blame - src/enums.h
- access.log start time is now synced with swap.state start time
[thirdparty/squid.git] / src / enums.h
CommitLineData
f892c2bf 1
2
3typedef enum {
79a15e0a 4 LOG_TAG_NONE,
5 LOG_TCP_HIT,
6 LOG_TCP_MISS,
7 LOG_TCP_REFRESH_HIT,
8 LOG_TCP_REFRESH_FAIL_HIT,
9 LOG_TCP_REFRESH_MISS,
ee1679df 10 LOG_TCP_CLIENT_REFRESH_MISS,
79a15e0a 11 LOG_TCP_IMS_HIT,
12 LOG_TCP_IMS_MISS,
13 LOG_TCP_SWAPFAIL_MISS,
14 LOG_TCP_NEGATIVE_HIT,
15 LOG_TCP_MEM_HIT,
16 LOG_TCP_DENIED,
17 LOG_UDP_HIT,
79a15e0a 18 LOG_UDP_MISS,
19 LOG_UDP_DENIED,
20 LOG_UDP_INVALID,
21 LOG_UDP_MISS_NOFETCH,
22 LOG_TYPE_MAX
f892c2bf 23} log_type;
24
9b312a19 25typedef enum {
26 ERR_NONE,
27 ERR_READ_TIMEOUT,
28 ERR_LIFETIME_EXP,
9b312a19 29 ERR_READ_ERROR,
30 ERR_WRITE_ERROR,
31 ERR_CLIENT_ABORT,
32 ERR_CONNECT_FAIL,
33 ERR_INVALID_REQ,
34 ERR_UNSUP_REQ,
35 ERR_INVALID_URL,
36 ERR_SOCKET_FAILURE,
37 ERR_DNS_FAIL,
9b312a19 38 ERR_CANNOT_FORWARD,
bdb3c273 39 ERR_FORWARDING_DENIED,
9b312a19 40 ERR_NO_RELAY,
9b312a19 41 ERR_ZERO_SIZE_OBJECT,
42 ERR_FTP_DISABLED,
b9916917 43 ERR_FTP_FAILURE,
23d92c64 44 ERR_URN_RESOLVE,
9b312a19 45 ERR_ACCESS_DENIED,
cb69b4c7 46 ERR_CACHE_ACCESS_DENIED,
63259c34 47 ERR_CACHE_MGR_ACCESS_DENIED,
2ac76861 48 ERR_SQUID_SIGNATURE, /* not really an error */
ec878047 49 ERR_FTP_PUT_CREATED, /* !error,a note that the file was created */
59c4d35b 50 ERR_FTP_PUT_MODIFIED, /* modified, !created */
51 ERR_FTP_PUT_ERROR,
ec878047 52 ERR_ONLY_IF_CACHED_MISS, /* failure to satisfy only-if-cached request */
9b312a19 53 ERR_MAX
54} err_type;
55
f892c2bf 56typedef enum {
57 ACL_NONE,
58 ACL_SRC_IP,
59 ACL_DST_IP,
60 ACL_SRC_DOMAIN,
61 ACL_DST_DOMAIN,
d0d41f07 62 ACL_SRC_DOM_REGEX,
63 ACL_DST_DOM_REGEX,
f892c2bf 64 ACL_TIME,
65 ACL_URLPATH_REGEX,
66 ACL_URL_REGEX,
67 ACL_URL_PORT,
68 ACL_USER,
69 ACL_PROTO,
70 ACL_METHOD,
71 ACL_BROWSER,
afe95a7e 72 ACL_PROXY_AUTH,
5d6c7aad 73 ACL_SRC_ASN,
74 ACL_DST_ASN,
6b6347d5 75 ACL_SRC_ARP,
f892c2bf 76 ACL_ENUM_MAX
77} squid_acl;
78
79typedef enum {
80 ACL_LOOKUP_NONE,
81 ACL_LOOKUP_NEEDED,
82 ACL_LOOKUP_PENDING,
83 ACL_LOOKUP_DONE
84} acl_lookup_state;
85
86typedef enum {
87 IP_ALLOW,
88 IP_DENY
89} ip_access_type;
90
91enum {
92 FD_NONE,
93 FD_LOG,
94 FD_FILE,
95 FD_SOCKET,
96 FD_PIPE,
97 FD_UNKNOWN
98};
99
100enum {
101 FD_READ,
102 FD_WRITE
103};
104
105enum {
106 FD_CLOSE,
107 FD_OPEN
108};
109
110enum {
111 FQDN_CACHED,
112 FQDN_NEGATIVE_CACHED,
113 FQDN_PENDING, /* waiting to be dispatched */
114 FQDN_DISPATCHED /* waiting for reply from dnsserver */
115};
116typedef unsigned int fqdncache_status_t;
117
118enum {
119 IP_CACHED,
120 IP_NEGATIVE_CACHED,
121 IP_PENDING, /* waiting to be dispatched */
122 IP_DISPATCHED /* waiting for reply from dnsserver */
123};
124typedef unsigned int ipcache_status_t;
125
126typedef enum {
127 PEER_NONE,
128 PEER_SIBLING,
129 PEER_PARENT,
130 PEER_MULTICAST
131} peer_t;
132
133typedef enum {
134 MGR_NONE,
135 MGR_CLIENT_LIST,
f53b06f9 136 MGR_CONFIGURATION,
f892c2bf 137 MGR_DNSSERVERS,
138 MGR_FILEDESCRIPTORS,
139 MGR_FQDNCACHE,
140 MGR_INFO,
141 MGR_IO,
142 MGR_IPCACHE,
143 MGR_LOG_CLEAR,
144 MGR_LOG_DISABLE,
145 MGR_LOG_ENABLE,
146 MGR_LOG_STATUS,
147 MGR_LOG_VIEW,
148 MGR_NETDB,
149 MGR_OBJECTS,
150 MGR_REDIRECTORS,
151 MGR_REFRESH,
152 MGR_REMOVE,
cb69b4c7 153 MGR_REQUEST_HDRS,
f892c2bf 154 MGR_REPLY_HDRS,
cb69b4c7 155 MGR_MSG_HDRS,
f892c2bf 156 MGR_SERVER_LIST,
e102ebda 157 MGR_NON_PEERS,
f892c2bf 158 MGR_SHUTDOWN,
159 MGR_UTILIZATION,
160 MGR_VM_OBJECTS,
161 MGR_STOREDIR,
162 MGR_CBDATA,
6605655c 163 MGR_PCONN,
0f5607d9 164 MGR_COUNTERS,
20903cac 165 MGR_5MIN,
a7c05555 166 MGR_60MIN,
3f6c0fb2 167 MGR_MEM,
f892c2bf 168 MGR_MAX
169} objcache_op;
170
4f087419 171/* recognized or "known" header fields; @?@ add more! */
172typedef enum {
173 HDR_ACCEPT,
d8b249ef 174 HDR_ACCEPT_CHARSET,
175 HDR_ACCEPT_ENCODING,
176 HDR_ACCEPT_LANGUAGE,
de336bbe 177 HDR_ACCEPT_RANGES,
4f087419 178 HDR_AGE,
179 HDR_CACHE_CONTROL,
180 HDR_CONNECTION,
181 HDR_CONTENT_ENCODING,
182 HDR_CONTENT_LENGTH,
183 HDR_CONTENT_MD5,
d76fcfa7 184 HDR_CONTENT_RANGE,
4f087419 185 HDR_CONTENT_TYPE,
186 HDR_DATE,
187 HDR_ETAG,
188 HDR_EXPIRES,
189 HDR_HOST,
190 HDR_IMS,
191 HDR_LAST_MODIFIED,
192 HDR_LOCATION,
193 HDR_MAX_FORWARDS,
d8b249ef 194 HDR_MIME_VERSION,
4f087419 195 HDR_PROXY_AUTHENTICATE,
196 HDR_PUBLIC,
02922e76 197 HDR_RANGE,
4f087419 198 HDR_RETRY_AFTER,
de336bbe 199 HDR_SERVER,
4f087419 200 HDR_SET_COOKIE,
201 HDR_UPGRADE,
202 HDR_WARNING,
203 HDR_WWW_AUTHENTICATE,
de336bbe 204 HDR_X_CACHE,
d8b249ef 205 HDR_PROXY_CONNECTION,
4f087419 206 HDR_OTHER,
207 HDR_ENUM_END
208} http_hdr_type;
209
210/* server cache-control */
211typedef enum {
7faf2bdb 212 CC_PUBLIC,
213 CC_PRIVATE,
214 CC_NO_CACHE,
215 CC_NO_STORE,
216 CC_NO_TRANSFORM,
217 CC_MUST_REVALIDATE,
218 CC_PROXY_REVALIDATE,
219 CC_MAX_AGE,
d8b249ef 220 CC_ONLY_IF_CACHED,
221 CC_OTHER,
7faf2bdb 222 CC_ENUM_END
223} http_hdr_cc_type;
224
225/* possible types for http header fields */
226typedef enum {
399e85ea 227 ftInvalid = HDR_ENUM_END, /* to catch nasty errors with hdr_id<->fld_type clashes */
7faf2bdb 228 ftInt,
4f7e9dbb 229 ftStr,
7faf2bdb 230 ftDate_1123,
02922e76 231 ftPCc,
232 ftPRange,
e17bd982 233 ftPContRange
7faf2bdb 234} field_type;
4f087419 235
f892c2bf 236typedef enum {
237 HIER_NONE,
238 DIRECT,
239 SIBLING_HIT,
240 PARENT_HIT,
241 DEFAULT_PARENT,
242 SINGLE_PARENT,
243 FIRSTUP_PARENT,
244 NO_PARENT_DIRECT,
245 FIRST_PARENT_MISS,
246 CLOSEST_PARENT_MISS,
247 CLOSEST_DIRECT,
248 NO_DIRECT_FAIL,
249 SOURCE_FASTEST,
f892c2bf 250 ROUNDROBIN_PARENT,
251 HIER_MAX
252} hier_code;
253
254typedef enum {
27cd7235 255 ICP_INVALID,
256 ICP_QUERY,
257 ICP_HIT,
258 ICP_MISS,
259 ICP_ERR,
260 ICP_SEND,
261 ICP_SENDA,
262 ICP_DATABEG,
263 ICP_DATA,
264 ICP_DATAEND,
265 ICP_SECHO,
266 ICP_DECHO,
267 ICP_UNUSED12,
268 ICP_UNUSED13,
269 ICP_UNUSED14,
270 ICP_UNUSED15,
271 ICP_UNUSED16,
272 ICP_UNUSED17,
273 ICP_UNUSED18,
274 ICP_UNUSED19,
275 ICP_UNUSED20,
276 ICP_MISS_NOFETCH,
da2d50d1 277 ICP_DENIED,
27cd7235 278 ICP_HIT_OBJ,
279 ICP_END
f892c2bf 280} icp_opcode;
281
282enum {
283 NOT_IN_MEMORY,
f892c2bf 284 IN_MEMORY
285};
286
287enum {
288 PING_NONE,
289 PING_WAITING,
290 PING_TIMEOUT,
291 PING_DONE
292};
293
294enum {
295 STORE_OK,
296 STORE_PENDING,
297 STORE_ABORTED
298};
299
300enum {
8350fe9b 301 SWAPOUT_NONE,
302 SWAPOUT_OPENING,
303 SWAPOUT_WRITING,
304 SWAPOUT_DONE
f892c2bf 305};
306
74ac2ecb 307enum {
5d86029a 308 STORE_NON_CLIENT,
309 STORE_MEM_CLIENT,
310 STORE_DISK_CLIENT
74ac2ecb 311};
312
f892c2bf 313enum {
314 METHOD_NONE, /* 000 */
315 METHOD_GET, /* 001 */
316 METHOD_POST, /* 010 */
317 METHOD_PUT, /* 011 */
318 METHOD_HEAD, /* 100 */
319 METHOD_CONNECT, /* 101 */
320 METHOD_TRACE, /* 110 */
710bd872 321 METHOD_PURGE, /* 111 */
322 METHOD_ENUM_END
f892c2bf 323};
324typedef unsigned int method_t;
325
326typedef enum {
327 PROTO_NONE,
328 PROTO_HTTP,
329 PROTO_FTP,
330 PROTO_GOPHER,
331 PROTO_WAIS,
332 PROTO_CACHEOBJ,
333 PROTO_ICP,
23d92c64 334 PROTO_URN,
53ad48e6 335 PROTO_WHOIS,
f892c2bf 336 PROTO_MAX
337} protocol_t;
9b312a19 338
339typedef enum {
340 HTTP_CONTINUE = 100,
341 HTTP_SWITCHING_PROTOCOLS = 101,
342 HTTP_OK = 200,
343 HTTP_CREATED = 201,
344 HTTP_ACCEPTED = 202,
345 HTTP_NON_AUTHORITATIVE_INFORMATION = 203,
346 HTTP_NO_CONTENT = 204,
347 HTTP_RESET_CONTENT = 205,
348 HTTP_PARTIAL_CONTENT = 206,
349 HTTP_MULTIPLE_CHOICES = 300,
350 HTTP_MOVED_PERMANENTLY = 301,
351 HTTP_MOVED_TEMPORARILY = 302,
352 HTTP_SEE_OTHER = 303,
353 HTTP_NOT_MODIFIED = 304,
354 HTTP_USE_PROXY = 305,
355 HTTP_BAD_REQUEST = 400,
356 HTTP_UNAUTHORIZED = 401,
357 HTTP_PAYMENT_REQUIRED = 402,
358 HTTP_FORBIDDEN = 403,
359 HTTP_NOT_FOUND = 404,
360 HTTP_METHOD_NOT_ALLOWED = 405,
361 HTTP_NOT_ACCEPTABLE = 406,
362 HTTP_PROXY_AUTHENTICATION_REQUIRED = 407,
363 HTTP_REQUEST_TIMEOUT = 408,
364 HTTP_CONFLICT = 409,
365 HTTP_GONE = 410,
366 HTTP_LENGTH_REQUIRED = 411,
367 HTTP_PRECONDITION_FAILED = 412,
368 HTTP_REQUEST_ENTITY_TOO_LARGE = 413,
369 HTTP_REQUEST_URI_TOO_LARGE = 414,
370 HTTP_UNSUPPORTED_MEDIA_TYPE = 415,
371 HTTP_INTERNAL_SERVER_ERROR = 500,
372 HTTP_NOT_IMPLEMENTED = 501,
373 HTTP_BAD_GATEWAY = 502,
374 HTTP_SERVICE_UNAVAILABLE = 503,
375 HTTP_GATEWAY_TIMEOUT = 504,
cb69b4c7 376 HTTP_HTTP_VERSION_NOT_SUPPORTED = 505,
ee1679df 377 HTTP_INVALID_HEADER = 600 /* Squid header parsing error */
9b312a19 378} http_status;
79a15e0a 379
754b687d 380/* These are for StoreEntry->flag, which is defined as a SHORT */
79a15e0a 381enum {
382 ENTRY_SPECIAL,
79a15e0a 383 ENTRY_REVALIDATE,
384 DELAY_SENDING,
79a15e0a 385 RELEASE_REQUEST,
386 REFRESH_REQUEST,
387 ENTRY_CACHABLE,
79a15e0a 388 ENTRY_DISPATCHED,
389 KEY_PRIVATE,
390 HIERARCHICAL,
391 ENTRY_NEGCACHED,
b34ed725 392 ENTRY_VALIDATED,
393 ENTRY_BAD_LENGTH
79a15e0a 394};
395
79a15e0a 396enum {
fc5d6f7f 397 HTTP_PROXYING,
398 HTTP_KEEPALIVE
79a15e0a 399};
400
401enum {
fc5d6f7f 402 ERR_FLAG_CBDATA
79a15e0a 403};
404
405enum {
406 REQ_RANGE,
407 REQ_NOCACHE,
408 REQ_IMS,
409 REQ_AUTH,
410 REQ_CACHABLE,
411 REQ_UNUSED05,
412 REQ_HIERARCHICAL,
413 REQ_LOOPDETECT,
414 REQ_PROXY_KEEPALIVE,
415 REQ_PROXYING,
416 REQ_REFRESH,
417 REQ_USED_PROXY_AUTH
418};
419
420enum {
421 FD_CLOSE_REQUEST,
422 FD_WRITE_DAEMON,
79a15e0a 423 FD_CLOSING,
424 FD_SOCKET_EOF
425};
426
427enum {
428 HELPER_ALIVE,
429 HELPER_BUSY,
e144eae4 430 HELPER_CLOSING,
431 HELPER_SHUTDOWN
79a15e0a 432};
433
434enum {
435 NEIGHBOR_PROXY_ONLY,
436 NEIGHBOR_NO_QUERY,
437 NEIGHBOR_DEFAULT_PARENT,
438 NEIGHBOR_ROUNDROBIN,
439 NEIGHBOR_MCAST_RESPONDER,
e8d185d2 440 NEIGHBOR_CLOSEST_ONLY,
dc9d133b 441#if USE_HTCP
3278f8a2 442 NEIGHBOR_HTCP,
dc9d133b 443#endif
3278f8a2 444 NEIGHBOR_END
79a15e0a 445};
fc5d6f7f 446
447typedef enum {
448 ACCESS_DENIED,
449 ACCESS_ALLOWED,
450 ACCESS_REQ_PROXY_AUTH
451} allow_t;
a97cfa48 452
3f6c0fb2 453#if SQUID_SNMP
a97cfa48 454enum {
be335c22 455 SNMP_C_VIEW,
456 SNMP_C_USER,
457 SNMP_C_COMMUNITY
a97cfa48 458};
067bea91 459
3f6c0fb2 460#endif
461
462typedef enum {
067bea91 463 MEM_NONE,
464 MEM_DISK_BUF,
465 MEM_STMEM_BUF,
466 MEM_4K_BUF,
467 MEM_8K_BUF,
468 MEM_ACL_IP_DATA,
469 MEM_ACL_TIME_DATA,
470 MEM_ACL_NAME_LIST,
471 MEM_ACL_DENY_INFO_LIST,
472 MEM_ACL,
067bea91 473 MEM_ACL_LIST,
474 MEM_ACL_ACCESS,
ec878047 475 MEM_ACL_PROXY_AUTH_USER,
067bea91 476 MEM_ACLCHECK_T,
477 MEM_AIO_RESULT_T,
478 MEM_WORDLIST,
479 MEM_INTLIST,
480 MEM_USHORTLIST,
481 MEM_RELIST,
482 MEM_SQUIDCONFIG,
483 MEM_SQUIDCONFIG2,
484 MEM_CLOSE_HANDLER,
485 MEM_DREAD_CTRL,
486 MEM_DNSSERVER_T,
487 MEM_DNSSTATDATA,
488 MEM_DWRITE_Q,
489 MEM_FILEMAP,
490 MEM_FQDNCACHE_ENTRY,
59c4d35b 491 MEM_FQDNCACHE_PENDING,
067bea91 492 MEM_HASH_LINK,
493 MEM_HASH_TABLE,
d8b249ef 494 MEM_HTTP_REPLY,
495 MEM_HTTP_HDR_ENTRY,
7faf2bdb 496 MEM_HTTP_HDR_CC,
b5107edb 497 MEM_HTTP_HDR_RANGE_SPEC,
498 MEM_HTTP_HDR_RANGE,
d76fcfa7 499 MEM_HTTP_HDR_CONTENT_RANGE,
cb87dab6 500 MEM_HTTP_STATE_DATA,
067bea91 501 MEM_ICPUDPDATA,
502 MEM_CLIENTHTTPREQUEST,
503 MEM_CONNSTATEDATA,
59c4d35b 504 MEM_IPCACHE_PENDING,
067bea91 505 MEM_IPCACHE_ENTRY,
506 MEM_DOMAIN_PING,
507 MEM_DOMAIN_TYPE,
508 MEM_PEER,
509 MEM_NET_DB_NAME,
510 MEM_NET_DB_PEER,
511 MEM_NETDBENTRY,
512 MEM_ICP_PING_DATA,
513 MEM_PS_STATE,
514 MEM_HIERARCHYLOGENTRY,
515 MEM_PINGERECHODATA,
516 MEM_PINGERREPLYDATA,
517 MEM_ICP_COMMON_T,
067bea91 518 MEM_IOSTATS,
519 MEM_MEM_NODE,
520 MEM_MEM_HDR,
521 MEM_STORE_CLIENT,
522 MEM_MEMOBJECT,
523 MEM_STOREENTRY,
524 MEM_SWAPDIR,
525 MEM_REQUEST_T,
526 MEM_ACCESSLOGENTRY,
527 MEM_CACHEMGR_PASSWD,
528 MEM_REFRESH_T,
529 MEM_COMMWRITESTATEDATA,
530 MEM_ERRORSTATE,
531 MEM_DLINK_NODE,
532 MEM_DLINK_LIST,
533 MEM_STATCOUNTERS,
59c4d35b 534 MEM_CLIENT_INFO,
067bea91 535 MEM_MAX
3f6c0fb2 536} mem_type;
a21fbb54 537
69c01cd7 538/*
539 * NOTE! We must preserve the order of this list!
540 */
a21fbb54 541enum {
f09f5b26 542 STORE_META_VOID, /* should not come up */
543 STORE_META_KEY_URL, /* key w/ keytype */
544 STORE_META_KEY_SHA,
545 STORE_META_KEY_MD5,
546 STORE_META_URL, /* the url , if not in the header */
547 STORE_META_STD, /* standard metadata */
548 STORE_META_HITMETERING, /* reserved for hit metering */
69c01cd7 549 STORE_META_VALID,
550 STORE_META_END
f09f5b26 551};
552
553enum {
5830cdb3 554 STORE_LOG_CREATE,
555 STORE_LOG_SWAPIN,
556 STORE_LOG_SWAPOUT,
557 STORE_LOG_RELEASE
558};
559
b109de6b 560typedef enum {
5830cdb3 561 SWAP_LOG_NOP,
562 SWAP_LOG_ADD,
b109de6b 563 SWAP_LOG_DEL,
564 SWAP_LOG_MAX
565} swap_log_op;
adba4a64 566
567
568/* parse state of HttpReply or HttpRequest */
2ac76861 569typedef enum {
570 psReadyToParseStartLine = 0,
571 psReadyToParseHeaders,
572 psParsed,
573 psError
adba4a64 574} HttpMsgParseState;