6 * SQUID Web Proxy Cache http://www.squid-cache.org/
7 * ----------------------------------------------------------
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.
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.
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.
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.
41 LOG_TCP_REFRESH_UNMODIFIED
, // refresh from origin revalidated existing entry
42 LOG_TCP_REFRESH_FAIL
, // refresh from origin failed
43 LOG_TCP_REFRESH_MODIFIED
, // refresh from origin replaced existing entry
44 LOG_TCP_CLIENT_REFRESH_MISS
,
46 LOG_TCP_SWAPFAIL_MISS
,
72 ERR_SECURE_CONNECT_FAIL
,
79 ERR_FORWARDING_DENIED
,
86 ERR_CACHE_ACCESS_DENIED
,
87 ERR_CACHE_MGR_ACCESS_DENIED
,
88 ERR_SQUID_SIGNATURE
, /* not really an error */
89 ERR_FTP_PUT_CREATED
, /* !error,a note that the file was created */
90 ERR_FTP_PUT_MODIFIED
, /* modified, !created */
95 ERR_ONLY_IF_CACHED_MISS
, /* failure to satisfy only-if-cached request */
98 ERR_ESI
, /* Failure to perform ESI processing */
101 ERR_UNSUP_HTTPVERSION
, /* HTTP version is not supported */
173 #if USE_CACHE_DIGESTS
185 /// \ingroup ServerProtocolICPAPI
214 typedef enum _mem_status_t
{
261 HTTP_STATUS_NONE
= 0,
263 HTTP_SWITCHING_PROTOCOLS
= 101,
264 HTTP_PROCESSING
= 102, /* RFC2518 section 10.1 */
268 HTTP_NON_AUTHORITATIVE_INFORMATION
= 203,
269 HTTP_NO_CONTENT
= 204,
270 HTTP_RESET_CONTENT
= 205,
271 HTTP_PARTIAL_CONTENT
= 206,
272 HTTP_MULTI_STATUS
= 207, /* RFC2518 section 10.2 */
273 HTTP_MULTIPLE_CHOICES
= 300,
274 HTTP_MOVED_PERMANENTLY
= 301,
275 HTTP_MOVED_TEMPORARILY
= 302,
276 HTTP_SEE_OTHER
= 303,
277 HTTP_NOT_MODIFIED
= 304,
278 HTTP_USE_PROXY
= 305,
279 HTTP_TEMPORARY_REDIRECT
= 307,
280 HTTP_BAD_REQUEST
= 400,
281 HTTP_UNAUTHORIZED
= 401,
282 HTTP_PAYMENT_REQUIRED
= 402,
283 HTTP_FORBIDDEN
= 403,
284 HTTP_NOT_FOUND
= 404,
285 HTTP_METHOD_NOT_ALLOWED
= 405,
286 HTTP_NOT_ACCEPTABLE
= 406,
287 HTTP_PROXY_AUTHENTICATION_REQUIRED
= 407,
288 HTTP_REQUEST_TIMEOUT
= 408,
291 HTTP_LENGTH_REQUIRED
= 411,
292 HTTP_PRECONDITION_FAILED
= 412,
293 HTTP_REQUEST_ENTITY_TOO_LARGE
= 413,
294 HTTP_REQUEST_URI_TOO_LARGE
= 414,
295 HTTP_UNSUPPORTED_MEDIA_TYPE
= 415,
296 HTTP_REQUESTED_RANGE_NOT_SATISFIABLE
= 416,
297 HTTP_EXPECTATION_FAILED
= 417,
298 HTTP_UNPROCESSABLE_ENTITY
= 422, /* RFC2518 section 10.3 */
299 HTTP_LOCKED
= 423, /* RFC2518 section 10.4 */
300 HTTP_FAILED_DEPENDENCY
= 424, /* RFC2518 section 10.5 */
301 HTTP_INTERNAL_SERVER_ERROR
= 500,
302 HTTP_NOT_IMPLEMENTED
= 501,
303 HTTP_BAD_GATEWAY
= 502,
304 HTTP_SERVICE_UNAVAILABLE
= 503,
305 HTTP_GATEWAY_TIMEOUT
= 504,
306 HTTP_HTTP_VERSION_NOT_SUPPORTED
= 505,
307 HTTP_INSUFFICIENT_STORAGE
= 507, /* RFC2518 section 10.6 */
308 HTTP_INVALID_HEADER
= 600, /* Squid header parsing error */
309 HTTP_HEADER_TOO_LARGE
= 601 /* Header too large to process */
313 * These are for StoreEntry->flag, which is defined as a SHORT
315 * NOTE: These flags are written to swap.state, so think very carefully
316 * about deleting or re-assigning!
335 * These are for client Streams. Each node in the stream can be queried for
339 STREAM_NONE
, /* No particular status */
340 STREAM_COMPLETE
, /* All data has been flushed, no more reads allowed */
341 /* an unpredicted end has occured, no more
342 * reads occured, but no need to tell
343 * downstream that an error occured
345 STREAM_UNPLANNED_COMPLETE
,
346 /* An error has occured in this node or an above one,
347 * and the node is not generating an error body / it's
351 } clientStream_status_t
;
354 AUTH_ACL_CHALLENGE
= -2,
355 AUTH_ACL_HELPER
= -1,
356 AUTH_ACL_CANNOT_AUTHENTICATE
= 0,
357 AUTH_AUTHENTICATED
= 1
361 AUTH_UNKNOWN
, /* default */
366 AUTH_BROKEN
/* known type, but broken data */
369 /* stateful helper callback response codes */
375 } stateful_helper_callback_t
;
377 /* stateful helper reservation info */
379 S_HELPER_FREE
, /* available for requests */
380 S_HELPER_RESERVED
, /* in a reserved state - no active request, but state data in the helper shouldn't be disturbed */
381 S_HELPER_DEFERRED
/* available for requests, and at least one more will come from a previous caller with the server pointer */
382 } stateful_helper_reserve_t
;
402 MEM_ACL_DENY_INFO_LIST
,
404 #if USE_CACHE_DIGESTS
416 MEM_HTTP_HDR_CONTENT_RANGE
,
433 STORE_LOG_SWAPOUTFAIL
445 /* parse state of HttpReply or HttpRequest */
447 psReadyToParseStartLine
= 0,
448 psReadyToParseHeaders
,
471 * These are field indicators for raw cache-cache netdb transfers
481 * Return codes from checkVary(request)
491 * Store digest state enum
500 } digest_read_state_t
;
502 /* Distinguish between Request and Reply (for header mangling) */
509 /* CygWin & Windows NT Port */
512 * Supported Windows OS types codes
545 DISABLE_PMTU_TRANSPARENT
550 * This should be in htcp.h but because neighborsHtcpClear is defined in
551 * protos.h it has to be here.
555 HTCP_CLR_INVALIDATION
559 #endif /* SQUID_ENUMS_H */