/* flags used throughout the code to (hopefully) make it easier to follow */ #ifndef FLAGS_H #define FLAGS_H #ifndef TRUE #define TRUE 1 #define FALSE 0 #endif /* TRUE */ #ifndef NULL #define NULL ((void *)0) #endif /* NULL */ #define XML_TAG 0 #define XML_VALUE 1 #define REDIRECT_REQUEST 0 #define REDIRECT_HEADER 1 #define POLICY_ALLOW 0 #define POLICY_DENY 1 #define NET_UNUSED 0 #define NET_LISTEN 1 #define HTTP_CONNECT 0 #define HTTP_RESP 1 #define HTTP_PROXY 2 #define HTTP_REQUEST 3 #define HTTP_HTTP10 0 #define HTTP_HTTP11 1 #define HEADER_DIRECT 0 #define HEADER_FORWARD 1 #define HEADER_RESP 2 #define THREAD_UNUSED 1 /* thread not used */ #define THREAD_IDLE (1<<1) /* thread hasn't filled in it's info yet (avoid race condition) */ #define THREAD_CHEADERWAIT (1<<2) /* waiting for client header */ #define THREAD_SHEADERWAIT (1<<3) /* waiting for server header */ #define THREAD_HTTP (1<<4) /* using http protocol */ #define THREAD_CONNECT (1<<5) /* using connect protocol */ #define THREAD_CTRANSER (1<>6) /* tranfering between client->proxy->server */ #define THREAD_STRANSFER (1<<7) /* transfer between server->proxy->client */ #define FORWARD_HTTP 1 #define FORWARD_CONNECT (1<<1) #define EXTERNAL_PIPE 0 #define EXTERNAL_FILE 1 #define TEMPLATE_FILE 0 #define TEMPLATE_EXECUTABLE 1 #define URL_ENCODE 1 #define URL_DECODEBEFORE (1<<1) #define URL_DECODEAFTER (1<<2) #define CLIENT 0 #define SERVER 1 #define UP 0 #define DOWN 1 #define TOP 0 #define BOTTOM 1 #define IN 0 #define OUT 1 #define HEADER_KEEPALIVE 1 #define PROXY_DIRECT 0 #define PROXY_NORMAL 1 #define PROXY_SOCKS4 2 #define REWRITE_CLIENT 1 #define REWRITE_SERVER (1<<1) #define REWRITE_BODY (1<<2) #define REWRITE_POST (1<<3) #define REDIRECT_LOCATION 1 #define REDIRECT_URL 2 #define REDIRECT_BOTH 3 #define ERROR_AUTH -4 #define ERROR_DNS -3 #define ERROR_CONNECT -2 #define ERROR_UNKNOWN -1 #define SOCKS_GRANTED 90 #define SOCKS_FAILED 91 #define SOCKS_NOIDENT 92 #define SOCKS_BADIDENT 93 #define COOKIE_IN 0 #define COOKIE_OUT 1 #define COOKIE_BOTH 2 #define MMLOG_REQUEST 1 #define MMLOG_NETWORK (1 << 1) #define MMLOG_FILTER (1 << 2) #define MMLOG_HEADER (1 << 3) #define MMLOG_MIME (1 << 4) #define MMLOG_COOKIE (1 << 5) #define MMLOG_REDIRECT (1 << 6) #define MMLOG_TEMPLATE (1 << 7) #define MMLOG_KEYWORDS (1 << 8) #define MMLOG_WARN (1 << 9) #define MMLOG_ERROR (1 << 10) #define MMLOG_DEBUG (1 << 11) #define FEATURE_FILTER 1 #define FEATURE_HEADER (1<<1) #define FEATURE_MIME (1<<2) #define FEATURE_REDIRECT (1<<3) #define FEATURE_COOKIES (1<<4) #define FEATURE_REWRITE (1<<5) #define FEATURE_EXTERNAL (1<<6) #define FEATURE_FORWARD (1<<7) #define FEATURE_KEYWORDS (1<<8) #define ACCESS_CONFIG 1 #define ACCESS_PROXY (1<<1) #define ACCESS_HTTP (1<<2) #define ACCESS_TRANSPARENT (1<<3) #define ACCESS_CONNECT (1<<4) #define ACCESS_BYPASS (1<<5) #endif /* FLAGS_H */