]> git.ipfire.org Git - thirdparty/squid.git/blobdiff - src/enums.h
SourceFormat Enforcement
[thirdparty/squid.git] / src / enums.h
index e6649288c797e9704b5e86a213c5fb9b8f5ed195..bddfda4076c06aa5f51d6452814f1a82e2740b9e 100644 (file)
 #ifndef SQUID_ENUMS_H
 #define SQUID_ENUMS_H
 
+#include "HttpStatusCode.h"
+
 typedef enum {
     LOG_TAG_NONE,
     LOG_TCP_HIT,
     LOG_TCP_MISS,
     LOG_TCP_REFRESH_UNMODIFIED, // refresh from origin revalidated existing entry
-    LOG_TCP_REFRESH_FAIL,       // refresh from origin failed
+    LOG_TCP_REFRESH_FAIL_OLD,   // refresh from origin failed, stale reply sent
+    LOG_TCP_REFRESH_FAIL_ERR,   // refresh from origin failed, error forwarded
     LOG_TCP_REFRESH_MODIFIED,   // refresh from origin replaced existing entry
     LOG_TCP_CLIENT_REFRESH_MISS,
     LOG_TCP_IMS_HIT,
@@ -49,9 +52,7 @@ typedef enum {
     LOG_TCP_DENIED,
     LOG_TCP_DENIED_REPLY,
     LOG_TCP_OFFLINE_HIT,
-#if LOG_TCP_REDIRECTS
     LOG_TCP_REDIRECT,
-#endif
     LOG_UDP_HIT,
     LOG_UDP_MISS,
     LOG_UDP_DENIED,
@@ -61,53 +62,13 @@ typedef enum {
     LOG_TYPE_MAX
 } log_type;
 
-typedef enum {
-    ERR_NONE,
-    ERR_READ_TIMEOUT,
-    ERR_LIFETIME_EXP,
-    ERR_READ_ERROR,
-    ERR_WRITE_ERROR,
-    ERR_SHUTTING_DOWN,
-    ERR_CONNECT_FAIL,
-    ERR_SECURE_CONNECT_FAIL,
-    ERR_INVALID_REQ,
-    ERR_UNSUP_REQ,
-    ERR_INVALID_URL,
-    ERR_SOCKET_FAILURE,
-    ERR_DNS_FAIL,
-    ERR_CANNOT_FORWARD,
-    ERR_FORWARDING_DENIED,
-    ERR_NO_RELAY,
-    ERR_ZERO_SIZE_OBJECT,
-    ERR_FTP_DISABLED,
-    ERR_FTP_FAILURE,
-    ERR_URN_RESOLVE,
-    ERR_ACCESS_DENIED,
-    ERR_CACHE_ACCESS_DENIED,
-    ERR_CACHE_MGR_ACCESS_DENIED,
-    ERR_SQUID_SIGNATURE,       /* not really an error */
-    ERR_FTP_PUT_CREATED,       /* !error,a note that the file was created */
-    ERR_FTP_PUT_MODIFIED,      /* modified, !created */
-    ERR_FTP_PUT_ERROR,
-    ERR_FTP_NOT_FOUND,
-    ERR_FTP_FORBIDDEN,
-    ERR_FTP_UNAVAILABLE,
-    ERR_ONLY_IF_CACHED_MISS,   /* failure to satisfy only-if-cached request */
-    ERR_TOO_BIG,
-    TCP_RESET,
-    ERR_ESI,                    /* Failure to perform ESI processing */
-    ERR_INVALID_RESP,
-    ERR_ICAP_FAILURE,
-    ERR_UNSUP_HTTPVERSION,     /* HTTP version is not supported */
-    ERR_MAX
-} err_type;
-
 enum fd_type {
     FD_NONE,
     FD_LOG,
     FD_FILE,
     FD_SOCKET,
     FD_PIPE,
+    FD_MSGHDR,
     FD_UNKNOWN
 };
 
@@ -123,12 +84,6 @@ typedef enum {
     PEER_MULTICAST
 } peer_t;
 
-typedef enum {
-    LOOKUP_NONE,
-    LOOKUP_HIT,
-    LOOKUP_MISS
-} lookup_t;
-
 typedef enum {
     CC_BADHDR = -1,
     CC_PUBLIC = 0,
@@ -141,7 +96,9 @@ typedef enum {
     CC_MAX_AGE,
     CC_S_MAXAGE,
     CC_MAX_STALE,
+    CC_MIN_FRESH,
     CC_ONLY_IF_CACHED,
+    CC_STALE_IF_ERROR,
     CC_OTHER,
     CC_ENUM_END
 } http_hdr_cc_type;
@@ -155,83 +112,27 @@ typedef enum {
     SC_ENUM_END
 } http_hdr_sc_type;
 
-typedef enum {
-    HIER_NONE,
-    HIER_DIRECT,
-    SIBLING_HIT,
-    PARENT_HIT,
-    DEFAULT_PARENT,
-    SINGLE_PARENT,
-    FIRSTUP_PARENT,
-    FIRST_PARENT_MISS,
-    CLOSEST_PARENT_MISS,
-    CLOSEST_PARENT,
-    CLOSEST_DIRECT,
-    NO_DIRECT_FAIL,
-    SOURCE_FASTEST,
-    ROUNDROBIN_PARENT,
-#if USE_CACHE_DIGESTS
-    CD_PARENT_HIT,
-    CD_SIBLING_HIT,
-#endif
-    CARP,
-    ANY_OLD_PARENT,
-    USERHASH_PARENT,
-    SOURCEHASH_PARENT,
-    HIER_MAX,
-    PINNED
-} hier_code;
-
-/// \ingroup ServerProtocolICPAPI
-typedef enum {
-    ICP_INVALID,
-    ICP_QUERY,
-    ICP_HIT,
-    ICP_MISS,
-    ICP_ERR,
-    ICP_SEND,
-    ICP_SENDA,
-    ICP_DATABEG,
-    ICP_DATA,
-    ICP_DATAEND,
-    ICP_SECHO,
-    ICP_DECHO,
-    ICP_NOTIFY,
-    ICP_INVALIDATE,
-    ICP_DELETE,
-    ICP_UNUSED15,
-    ICP_UNUSED16,
-    ICP_UNUSED17,
-    ICP_UNUSED18,
-    ICP_UNUSED19,
-    ICP_UNUSED20,
-    ICP_MISS_NOFETCH,
-    ICP_DENIED,
-    ICP_HIT_OBJ,
-    ICP_END
-} icp_opcode;
-
 typedef enum _mem_status_t {
     NOT_IN_MEMORY,
     IN_MEMORY
 } mem_status_t;
 
-enum {
+typedef enum {
     PING_NONE,
     PING_WAITING,
     PING_DONE
-};
+} ping_status_t;
 
-enum {
+typedef enum {
     STORE_OK,
     STORE_PENDING
-};
+} store_status_t;
 
-enum {
+typedef enum {
     SWAPOUT_NONE,
     SWAPOUT_WRITING,
     SWAPOUT_DONE
-};
+} swap_status_t;
 
 typedef enum {
     STORE_NON_CLIENT,
@@ -239,76 +140,6 @@ typedef enum {
     STORE_DISK_CLIENT
 } store_client_t;
 
-typedef enum {
-    PROTO_NONE,
-    PROTO_HTTP,
-    PROTO_FTP,
-    PROTO_GOPHER,
-    PROTO_WAIS,
-    PROTO_CACHEOBJ,
-    PROTO_ICP,
-#if USE_HTCP
-    PROTO_HTCP,
-#endif
-    PROTO_URN,
-    PROTO_WHOIS,
-    PROTO_INTERNAL,
-    PROTO_HTTPS,
-    PROTO_MAX
-} protocol_t;
-
-typedef enum {
-    HTTP_STATUS_NONE = 0,
-    HTTP_CONTINUE = 100,
-    HTTP_SWITCHING_PROTOCOLS = 101,
-    HTTP_PROCESSING = 102,     /* RFC2518 section 10.1 */
-    HTTP_OK = 200,
-    HTTP_CREATED = 201,
-    HTTP_ACCEPTED = 202,
-    HTTP_NON_AUTHORITATIVE_INFORMATION = 203,
-    HTTP_NO_CONTENT = 204,
-    HTTP_RESET_CONTENT = 205,
-    HTTP_PARTIAL_CONTENT = 206,
-    HTTP_MULTI_STATUS = 207,   /* RFC2518 section 10.2 */
-    HTTP_MULTIPLE_CHOICES = 300,
-    HTTP_MOVED_PERMANENTLY = 301,
-    HTTP_MOVED_TEMPORARILY = 302,
-    HTTP_SEE_OTHER = 303,
-    HTTP_NOT_MODIFIED = 304,
-    HTTP_USE_PROXY = 305,
-    HTTP_TEMPORARY_REDIRECT = 307,
-    HTTP_BAD_REQUEST = 400,
-    HTTP_UNAUTHORIZED = 401,
-    HTTP_PAYMENT_REQUIRED = 402,
-    HTTP_FORBIDDEN = 403,
-    HTTP_NOT_FOUND = 404,
-    HTTP_METHOD_NOT_ALLOWED = 405,
-    HTTP_NOT_ACCEPTABLE = 406,
-    HTTP_PROXY_AUTHENTICATION_REQUIRED = 407,
-    HTTP_REQUEST_TIMEOUT = 408,
-    HTTP_CONFLICT = 409,
-    HTTP_GONE = 410,
-    HTTP_LENGTH_REQUIRED = 411,
-    HTTP_PRECONDITION_FAILED = 412,
-    HTTP_REQUEST_ENTITY_TOO_LARGE = 413,
-    HTTP_REQUEST_URI_TOO_LARGE = 414,
-    HTTP_UNSUPPORTED_MEDIA_TYPE = 415,
-    HTTP_REQUESTED_RANGE_NOT_SATISFIABLE = 416,
-    HTTP_EXPECTATION_FAILED = 417,
-    HTTP_UNPROCESSABLE_ENTITY = 422,   /* RFC2518 section 10.3 */
-    HTTP_LOCKED = 423,         /* RFC2518 section 10.4 */
-    HTTP_FAILED_DEPENDENCY = 424,      /* RFC2518 section 10.5 */
-    HTTP_INTERNAL_SERVER_ERROR = 500,
-    HTTP_NOT_IMPLEMENTED = 501,
-    HTTP_BAD_GATEWAY = 502,
-    HTTP_SERVICE_UNAVAILABLE = 503,
-    HTTP_GATEWAY_TIMEOUT = 504,
-    HTTP_HTTP_VERSION_NOT_SUPPORTED = 505,
-    HTTP_INSUFFICIENT_STORAGE = 507,   /* RFC2518 section 10.6 */
-    HTTP_INVALID_HEADER = 600, /* Squid header parsing error */
-    HTTP_HEADER_TOO_LARGE = 601        /* Header too large to process */
-} http_status;
-
 /*
  * These are for StoreEntry->flag, which is defined as a SHORT
  *
@@ -350,38 +181,13 @@ typedef enum {
     STREAM_FAILED
 } clientStream_status_t;
 
-typedef enum {
-    AUTH_ACL_CHALLENGE = -2,
-    AUTH_ACL_HELPER = -1,
-    AUTH_ACL_CANNOT_AUTHENTICATE = 0,
-    AUTH_AUTHENTICATED = 1
-} auth_acl_t;
-
-typedef enum {
-    AUTH_UNKNOWN,              /* default */
-    AUTH_BASIC,
-    AUTH_NTLM,
-    AUTH_DIGEST,
-    AUTH_NEGOTIATE,
-    AUTH_BROKEN                        /* known type, but broken data */
-} auth_type_t;
-
 /* stateful helper callback response codes */
 typedef enum {
     S_HELPER_UNKNOWN,
     S_HELPER_RESERVE,
-    S_HELPER_RELEASE,
-    S_HELPER_DEFER
+    S_HELPER_RELEASE
 } stateful_helper_callback_t;
 
-/* stateful helper reservation info */
-typedef enum {
-    S_HELPER_FREE,             /* available for requests */
-    S_HELPER_RESERVED,         /* in a reserved state - no active request, but state data in the helper shouldn't be disturbed */
-    S_HELPER_DEFERRED          /* available for requests, and at least one more will come from a previous caller with the server pointer */
-} stateful_helper_reserve_t;
-
-
 #if SQUID_SNMP
 enum {
     SNMP_C_VIEW,
@@ -407,21 +213,22 @@ typedef enum {
     MEM_CLIENT_INFO,
     MEM_LINK_LIST,
     MEM_DLINK_NODE,
-    MEM_DONTFREE,
     MEM_DREAD_CTRL,
     MEM_DWRITE_Q,
-    MEM_FQDNCACHE_ENTRY,
-    MEM_FWD_SERVER,
-    MEM_HTTP_HDR_CC,
     MEM_HTTP_HDR_CONTENT_RANGE,
-    MEM_IPCACHE_ENTRY,
     MEM_MD5_DIGEST,
     MEM_NETDBENTRY,
     MEM_NET_DB_NAME,
     MEM_RELIST,
-#if !USE_DNSSERVERS
+    // IMPORTANT: leave this here. pools above are initialized early with memInit()
+    MEM_DONTFREE,
+    // following pools are initialized late by their component if needed (or never)
+    MEM_FQDNCACHE_ENTRY,
+    MEM_FWD_SERVER,
+#if !USE_DNSHELPER
     MEM_IDNS_QUERY,
 #endif
+    MEM_IPCACHE_ENTRY,
     MEM_MAX
 } mem_type;
 
@@ -433,15 +240,6 @@ enum {
     STORE_LOG_SWAPOUTFAIL
 };
 
-typedef enum {
-    SWAP_LOG_NOP,
-    SWAP_LOG_ADD,
-    SWAP_LOG_DEL,
-    SWAP_LOG_VERSION,
-    SWAP_LOG_MAX
-} swap_log_op;
-
-
 /* parse state of HttpReply or HttpRequest */
 typedef enum {
     psReadyToParseStartLine = 0,
@@ -450,7 +248,6 @@ typedef enum {
     psError
 } HttpMsgParseState;
 
-
 enum {
     PCTILE_HTTP,
     PCTILE_ICP_QUERY,
@@ -505,9 +302,8 @@ enum {
     ROR_REPLY
 };
 
-
 /* CygWin & Windows NT Port */
-#ifdef _SQUID_WIN32_
+#if _SQUID_WINDOWS_
 /*
  * Supported Windows OS types codes
  */
@@ -524,18 +320,8 @@ enum {
     _WIN_OS_WINLON,
     _WIN_OS_WIN7
 };
-
 #endif
 
-typedef enum {
-    CLF_UNKNOWN,
-    CLF_AUTO,
-    CLF_CUSTOM,
-    CLF_SQUID,
-    CLF_COMMON,
-    CLF_NONE
-} customlog_type;
-
 enum {
     DISABLE_PMTU_OFF,
     DISABLE_PMTU_ALWAYS,