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