Fixed resource leakage during connection accept(2)
[middleman.git] / include / flags.h
1 /* flags used throughout the code to (hopefully) make it easier to follow */
2
3 #ifndef FLAGS_H
4 #define FLAGS_H
5
6 #ifndef TRUE
7 #define TRUE 1
8 #define FALSE 0
9 #endif                          /* TRUE */
10
11 #ifndef NULL
12 #define NULL ((void *)0)
13 #endif                          /* NULL */
14
15 #define XML_TAG 0
16 #define XML_VALUE 1
17
18 #define REDIRECT_REQUEST 0
19 #define REDIRECT_HEADER 1
20
21 #define POLICY_ALLOW 0
22 #define POLICY_DENY 1
23
24 #define NET_UNUSED 0
25 #define NET_LISTEN 1
26
27 #define HTTP_CONNECT 0
28 #define HTTP_RESP 1
29 #define HTTP_PROXY 2
30 #define HTTP_REQUEST 3
31
32 #define HTTP_HTTP10 0
33 #define HTTP_HTTP11 1
34
35 #define HEADER_DIRECT 0
36 #define HEADER_FORWARD 1
37 #define HEADER_RESP 2
38
39 #define THREAD_UNUSED 1 /* thread not used */
40 #define THREAD_IDLE (1<<1) /* thread hasn't filled in it's info yet (avoid race condition) */
41 #define THREAD_CHEADERWAIT (1<<2) /* waiting for client header */
42 #define THREAD_SHEADERWAIT (1<<3) /* waiting for server header */
43 #define THREAD_HTTP (1<<4) /* using http protocol */
44 #define THREAD_CONNECT (1<<5) /* using connect protocol */
45 #define THREAD_CTRANSER (1<>6) /* tranfering between client->proxy->server */
46 #define THREAD_STRANSFER (1<<7) /* transfer between server->proxy->client */
47
48 #define FORWARD_HTTP 1
49 #define FORWARD_CONNECT (1<<1)
50
51 #define EXTERNAL_PIPE 0
52 #define EXTERNAL_FILE 1
53
54 #define TEMPLATE_FILE 0
55 #define TEMPLATE_EXECUTABLE 1
56
57 #define URL_ENCODE 1
58 #define URL_DECODEBEFORE (1<<1)
59 #define URL_DECODEAFTER (1<<2)
60
61 #define CLIENT 0
62 #define SERVER 1
63
64 #define UP 0
65 #define DOWN 1
66
67 #define TOP 0
68 #define BOTTOM 1
69
70 #define IN 0
71 #define OUT 1
72
73 #define HEADER_KEEPALIVE 1
74
75 #define PROXY_DIRECT 0
76 #define PROXY_NORMAL 1
77 #define PROXY_SOCKS4 2
78
79 #define REWRITE_CLIENT 1
80 #define REWRITE_SERVER (1<<1)
81 #define REWRITE_BODY (1<<2)
82 #define REWRITE_POST (1<<3)
83
84 #define REDIRECT_LOCATION 1
85 #define REDIRECT_URL 2
86 #define REDIRECT_BOTH 3
87
88 #define ERROR_AUTH -4
89 #define ERROR_DNS -3
90 #define ERROR_CONNECT -2
91 #define ERROR_UNKNOWN -1
92
93 #define SOCKS_GRANTED 90
94 #define SOCKS_FAILED 91
95 #define SOCKS_NOIDENT 92
96 #define SOCKS_BADIDENT 93
97
98 #define COOKIE_IN 0
99 #define COOKIE_OUT 1
100 #define COOKIE_BOTH 2
101
102 #define MMLOG_REQUEST 1
103 #define MMLOG_NETWORK (1 << 1)
104 #define MMLOG_FILTER (1 << 2)
105 #define MMLOG_HEADER (1 << 3)
106 #define MMLOG_MIME (1 << 4)
107 #define MMLOG_COOKIE (1 << 5)
108 #define MMLOG_REDIRECT (1 << 6)
109 #define MMLOG_TEMPLATE (1 << 7)
110 #define MMLOG_KEYWORDS (1 << 8)
111 #define MMLOG_WARN (1 << 9)
112 #define MMLOG_ERROR (1 << 10)
113 #define MMLOG_DEBUG (1 << 11)
114
115 #define FEATURE_FILTER 1
116 #define FEATURE_HEADER (1<<1)
117 #define FEATURE_MIME (1<<2)
118 #define FEATURE_REDIRECT (1<<3)
119 #define FEATURE_COOKIES (1<<4)
120 #define FEATURE_REWRITE (1<<5)
121 #define FEATURE_EXTERNAL (1<<6)
122 #define FEATURE_FORWARD (1<<7)
123 #define FEATURE_KEYWORDS (1<<8)
124
125 #define ACCESS_CONFIG 1
126 #define ACCESS_PROXY (1<<1)
127 #define ACCESS_HTTP (1<<2)
128 #define ACCESS_TRANSPARENT (1<<3)
129 #define ACCESS_CONNECT (1<<4)
130 #define ACCESS_BYPASS (1<<5)
131
132 #endif                          /* FLAGS_H */