STM32F769IDiscovery  1.00
uDANTE Audio Networking with STM32F7 DISCO board
httpd_opts.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2001-2003 Swedish Institute of Computer Science.
3  * All rights reserved.
4  *
5  * Redistribution and use in source and binary forms, with or without modification,
6  * are permitted provided that the following conditions are met:
7  *
8  * 1. Redistributions of source code must retain the above copyright notice,
9  * this list of conditions and the following disclaimer.
10  * 2. Redistributions in binary form must reproduce the above copyright notice,
11  * this list of conditions and the following disclaimer in the documentation
12  * and/or other materials provided with the distribution.
13  * 3. The name of the author may not be used to endorse or promote products
14  * derived from this software without specific prior written permission.
15  *
16  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
17  * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
18  * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT
19  * SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
20  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
21  * OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
24  * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
25  * OF SUCH DAMAGE.
26  *
27  * This file is part of the lwIP TCP/IP stack.
28  *
29  * Author: Adam Dunkels <adam@sics.se>
30  *
31  * This version of the file has been modified by Texas Instruments to offer
32  * simple server-side-include (SSI) and Common Gateway Interface (CGI)
33  * capability.
34  */
35 
36 #ifndef LWIP_HDR_APPS_HTTPD_OPTS_H
37 #define LWIP_HDR_APPS_HTTPD_OPTS_H
38 
39 #include "lwip/opt.h"
40 
42 #ifndef LWIP_HTTPD_CGI
43 #define LWIP_HTTPD_CGI 0
44 #endif
45 
47 #ifndef LWIP_HTTPD_SSI
48 #define LWIP_HTTPD_SSI 0
49 #endif
50 
52 #ifndef LWIP_HTTPD_SUPPORT_POST
53 #define LWIP_HTTPD_SUPPORT_POST 0
54 #endif
55 
56 /* The maximum number of parameters that the CGI handler can be sent. */
57 #ifndef LWIP_HTTPD_MAX_CGI_PARAMETERS
58 #define LWIP_HTTPD_MAX_CGI_PARAMETERS 16
59 #endif
60 
65 #ifndef LWIP_HTTPD_SSI_MULTIPART
66 #define LWIP_HTTPD_SSI_MULTIPART 0
67 #endif
68 
69 /* The maximum length of the string comprising the tag name */
70 #ifndef LWIP_HTTPD_MAX_TAG_NAME_LEN
71 #define LWIP_HTTPD_MAX_TAG_NAME_LEN 8
72 #endif
73 
74 /* The maximum length of string that can be returned to replace any given tag */
75 #ifndef LWIP_HTTPD_MAX_TAG_INSERT_LEN
76 #define LWIP_HTTPD_MAX_TAG_INSERT_LEN 192
77 #endif
78 
79 #ifndef LWIP_HTTPD_POST_MANUAL_WND
80 #define LWIP_HTTPD_POST_MANUAL_WND 0
81 #endif
82 
84 #ifndef HTTPD_SERVER_AGENT
85 #define HTTPD_SERVER_AGENT "lwIP/1.3.1 (http://savannah.nongnu.org/projects/lwip)"
86 #endif
87 
93 #ifndef LWIP_HTTPD_DYNAMIC_HEADERS
94 #define LWIP_HTTPD_DYNAMIC_HEADERS 0
95 #endif
96 
97 #ifndef HTTPD_DEBUG
98 #define HTTPD_DEBUG LWIP_DBG_OFF
99 #endif
100 
104 #ifndef HTTPD_USE_MEM_POOL
105 #define HTTPD_USE_MEM_POOL 0
106 #endif
107 
109 #ifndef HTTPD_SERVER_PORT
110 #define HTTPD_SERVER_PORT 80
111 #endif
112 
117 #ifndef HTTPD_MAX_RETRIES
118 #define HTTPD_MAX_RETRIES 4
119 #endif
120 
122 #ifndef HTTPD_POLL_INTERVAL
123 #define HTTPD_POLL_INTERVAL 4
124 #endif
125 
129 #ifndef HTTPD_TCP_PRIO
130 #define HTTPD_TCP_PRIO TCP_PRIO_MIN
131 #endif
132 
134 #ifndef LWIP_HTTPD_TIMING
135 #define LWIP_HTTPD_TIMING 0
136 #endif
137 #ifndef HTTPD_DEBUG_TIMING
138 #define HTTPD_DEBUG_TIMING LWIP_DBG_OFF
139 #endif
140 
142 #ifndef LWIP_HTTPD_STRNSTR_PRIVATE
143 #define LWIP_HTTPD_STRNSTR_PRIVATE 1
144 #endif
145 
148 #ifndef LWIP_HTTPD_SUPPORT_EXTSTATUS
149 #define LWIP_HTTPD_SUPPORT_EXTSTATUS 0
150 #endif
151 
153 #ifndef LWIP_HTTPD_SUPPORT_V09
154 #define LWIP_HTTPD_SUPPORT_V09 1
155 #endif
156 
161 #ifndef LWIP_HTTPD_SUPPORT_11_KEEPALIVE
162 #define LWIP_HTTPD_SUPPORT_11_KEEPALIVE 0
163 #endif
164 
166 #ifndef LWIP_HTTPD_SUPPORT_REQUESTLIST
167 #define LWIP_HTTPD_SUPPORT_REQUESTLIST 1
168 #endif
169 
170 #if LWIP_HTTPD_SUPPORT_REQUESTLIST
171 
173 #ifndef LWIP_HTTPD_REQ_QUEUELEN
174 #define LWIP_HTTPD_REQ_QUEUELEN 5
175 #endif
176 
179 #ifndef LWIP_HTTPD_REQ_BUFSIZE
180 #define LWIP_HTTPD_REQ_BUFSIZE LWIP_HTTPD_MAX_REQ_LENGTH
181 #endif
182 
186 #ifndef LWIP_HTTPD_MAX_REQ_LENGTH
187 #define LWIP_HTTPD_MAX_REQ_LENGTH LWIP_MIN(1023, (LWIP_HTTPD_REQ_QUEUELEN * PBUF_POOL_BUFSIZE))
188 #endif
189 #endif /* LWIP_HTTPD_SUPPORT_REQUESTLIST */
190 
194 #ifndef LWIP_HTTPD_POST_MAX_RESPONSE_URI_LEN
195 #define LWIP_HTTPD_POST_MAX_RESPONSE_URI_LEN 63
196 #endif
197 
200 #ifndef LWIP_HTTPD_SSI_INCLUDE_TAG
201 #define LWIP_HTTPD_SSI_INCLUDE_TAG 1
202 #endif
203 
207 #ifndef LWIP_HTTPD_ABORT_ON_CLOSE_MEM_ERROR
208 #define LWIP_HTTPD_ABORT_ON_CLOSE_MEM_ERROR 0
209 #endif
210 
215 #ifndef LWIP_HTTPD_KILL_OLD_ON_CONNECTIONS_EXCEEDED
216 #define LWIP_HTTPD_KILL_OLD_ON_CONNECTIONS_EXCEEDED 0
217 #endif
218 
220 #ifndef HTTP_IS_TAG_VOLATILE
221 #define HTTP_IS_TAG_VOLATILE(ptr) TCP_WRITE_FLAG_COPY
222 #endif
223 
224 /* By default, the httpd is limited to send 2*pcb->mss to keep resource usage low
225  when http is not an important protocol in the device. */
226 #ifndef HTTPD_LIMIT_SENDING_TO_2MSS
227 #define HTTPD_LIMIT_SENDING_TO_2MSS 1
228 #endif
229 
230 /* Define this to a function that returns the maximum amount of data to enqueue.
231  The function have this signature: u16_t fn(struct tcp_pcb* pcb); */
232 #ifndef HTTPD_MAX_WRITE_LEN
233 #if HTTPD_LIMIT_SENDING_TO_2MSS
234 #define HTTPD_MAX_WRITE_LEN(pcb) (2 * tcp_mss(pcb))
235 #endif
236 #endif
237 
238 /*------------------- FS OPTIONS -------------------*/
239 
247 #ifndef LWIP_HTTPD_CUSTOM_FILES
248 #define LWIP_HTTPD_CUSTOM_FILES 0
249 #endif
250 
255 #ifndef LWIP_HTTPD_DYNAMIC_FILE_READ
256 #define LWIP_HTTPD_DYNAMIC_FILE_READ 0
257 #endif
258 
262 #ifndef LWIP_HTTPD_FILE_STATE
263 #define LWIP_HTTPD_FILE_STATE 0
264 #endif
265 
269 #ifndef HTTPD_PRECALCULATED_CHECKSUM
270 #define HTTPD_PRECALCULATED_CHECKSUM 0
271 #endif
272 
276 #ifndef LWIP_HTTPD_FS_ASYNC_READ
277 #define LWIP_HTTPD_FS_ASYNC_READ 0
278 #endif
279 
282 #ifndef HTTPD_USE_CUSTOM_FSDATA
283 #define HTTPD_USE_CUSTOM_FSDATA 0
284 #endif
285 
286 #endif /* LWIP_HDR_APPS_HTTPD_OPTS_H */