UbixOS V2  2.0
Options

Macros

#define HTTP_IS_TAG_VOLATILE(ptr)   TCP_WRITE_FLAG_COPY
 
#define HTTPD_DEBUG   LWIP_DBG_OFF
 
#define HTTPD_DEBUG_TIMING   LWIP_DBG_OFF
 
#define HTTPD_LIMIT_SENDING_TO_2MSS   1
 
#define HTTPD_MAX_RETRIES   4
 
#define HTTPD_MAX_WRITE_LEN(pcb)   (2 * tcp_mss(pcb))
 
#define HTTPD_POLL_INTERVAL   4
 
#define HTTPD_PRECALCULATED_CHECKSUM   0
 
#define HTTPD_SERVER_AGENT   "lwIP/" LWIP_VERSION_STRING " (http://savannah.nongnu.org/projects/lwip)"
 
#define HTTPD_SERVER_PORT   80
 
#define HTTPD_TCP_PRIO   TCP_PRIO_MIN
 
#define HTTPD_USE_CUSTOM_FSDATA   0
 
#define HTTPD_USE_MEM_POOL   0
 
#define LWIP_HTTPD_ABORT_ON_CLOSE_MEM_ERROR   0
 
#define LWIP_HTTPD_CGI   0
 
#define LWIP_HTTPD_CGI_SSI   0
 
#define LWIP_HTTPD_CUSTOM_FILES   0
 
#define LWIP_HTTPD_DYNAMIC_FILE_READ   0
 
#define LWIP_HTTPD_DYNAMIC_HEADERS   0
 
#define LWIP_HTTPD_FILE_STATE   0
 
#define LWIP_HTTPD_FS_ASYNC_READ   0
 
#define LWIP_HTTPD_KILL_OLD_ON_CONNECTIONS_EXCEEDED   0
 
#define LWIP_HTTPD_MAX_CGI_PARAMETERS   16
 
#define LWIP_HTTPD_MAX_REQ_LENGTH   LWIP_MIN(1023, (LWIP_HTTPD_REQ_QUEUELEN * PBUF_POOL_BUFSIZE))
 
#define LWIP_HTTPD_MAX_REQUEST_URI_LEN   63
 
#define LWIP_HTTPD_MAX_TAG_INSERT_LEN   192
 
#define LWIP_HTTPD_MAX_TAG_NAME_LEN   8
 
#define LWIP_HTTPD_OMIT_HEADER_FOR_EXTENSIONLESS_URI   0
 
#define LWIP_HTTPD_POST_MANUAL_WND   0
 
#define LWIP_HTTPD_POST_MAX_RESPONSE_URI_LEN   63
 
#define LWIP_HTTPD_REQ_BUFSIZE   LWIP_HTTPD_MAX_REQ_LENGTH
 
#define LWIP_HTTPD_REQ_QUEUELEN   5
 
#define LWIP_HTTPD_SSI   0
 
#define LWIP_HTTPD_SSI_INCLUDE_TAG   1
 
#define LWIP_HTTPD_SSI_MULTIPART   0
 
#define LWIP_HTTPD_SSI_RAW   0
 
#define LWIP_HTTPD_SUPPORT_11_KEEPALIVE   0
 
#define LWIP_HTTPD_SUPPORT_EXTSTATUS   0
 
#define LWIP_HTTPD_SUPPORT_POST   0
 
#define LWIP_HTTPD_SUPPORT_REQUESTLIST   1
 
#define LWIP_HTTPD_SUPPORT_V09   1
 
#define LWIP_HTTPD_TIMING   0
 

Detailed Description

Macro Definition Documentation

◆ HTTP_IS_TAG_VOLATILE

#define HTTP_IS_TAG_VOLATILE (   ptr)    TCP_WRITE_FLAG_COPY

Default: Tags are sent from struct http_state and are therefore volatile

Definition at line 254 of file httpd_opts.h.

◆ HTTPD_DEBUG

#define HTTPD_DEBUG   LWIP_DBG_OFF

Definition at line 120 of file httpd_opts.h.

◆ HTTPD_DEBUG_TIMING

#define HTTPD_DEBUG_TIMING   LWIP_DBG_OFF

Set this to 1 to enable timing each file sent

Definition at line 161 of file httpd_opts.h.

◆ HTTPD_LIMIT_SENDING_TO_2MSS

#define HTTPD_LIMIT_SENDING_TO_2MSS   1

Definition at line 260 of file httpd_opts.h.

◆ HTTPD_MAX_RETRIES

#define HTTPD_MAX_RETRIES   4

Maximum retries before the connection is aborted/closed.

  • number of times pcb->poll is called -> default is 4*500ms = 2s;
  • reset when pcb->sent is called

Definition at line 140 of file httpd_opts.h.

◆ HTTPD_MAX_WRITE_LEN

#define HTTPD_MAX_WRITE_LEN (   pcb)    (2 * tcp_mss(pcb))

Definition at line 267 of file httpd_opts.h.

◆ HTTPD_POLL_INTERVAL

#define HTTPD_POLL_INTERVAL   4

The poll delay is X*500ms

Definition at line 145 of file httpd_opts.h.

◆ HTTPD_PRECALCULATED_CHECKSUM

#define HTTPD_PRECALCULATED_CHECKSUM   0

HTTPD_PRECALCULATED_CHECKSUM==1: include precompiled checksums for predefined (MSS-sized) chunks of the files to prevent having to calculate the checksums at runtime.

Definition at line 303 of file httpd_opts.h.

◆ HTTPD_SERVER_AGENT

#define HTTPD_SERVER_AGENT   "lwIP/" LWIP_VERSION_STRING " (http://savannah.nongnu.org/projects/lwip)"

This string is passed in the HTTP header as "Server: "

Definition at line 107 of file httpd_opts.h.

◆ HTTPD_SERVER_PORT

#define HTTPD_SERVER_PORT   80

The server port for HTTPD to use

Definition at line 132 of file httpd_opts.h.

◆ HTTPD_TCP_PRIO

#define HTTPD_TCP_PRIO   TCP_PRIO_MIN

Priority for tcp pcbs created by HTTPD (very low by default). Lower priorities get killed first when running out of memory.

Definition at line 152 of file httpd_opts.h.

◆ HTTPD_USE_CUSTOM_FSDATA

#define HTTPD_USE_CUSTOM_FSDATA   0

Set this to 1 to include "fsdata_custom.c" instead of "fsdata.c" for the file system (to prevent changing the file included in CVS)

Definition at line 316 of file httpd_opts.h.

◆ HTTPD_USE_MEM_POOL

#define HTTPD_USE_MEM_POOL   0

Set this to 1 to use a memp pool for allocating struct http_state instead of the heap.

Definition at line 127 of file httpd_opts.h.

◆ LWIP_HTTPD_ABORT_ON_CLOSE_MEM_ERROR

#define LWIP_HTTPD_ABORT_ON_CLOSE_MEM_ERROR   0

Set this to 1 to call tcp_abort when tcp_close fails with memory error. This can be used to prevent consuming all memory in situations where the HTTP server has low priority compared to other communication.

Definition at line 235 of file httpd_opts.h.

◆ LWIP_HTTPD_CGI

#define LWIP_HTTPD_CGI   0

Set this to 1 to support CGI (old style)

Definition at line 54 of file httpd_opts.h.

◆ LWIP_HTTPD_CGI_SSI

#define LWIP_HTTPD_CGI_SSI   0

Set this to 1 to support CGI (new style)

Definition at line 59 of file httpd_opts.h.

◆ LWIP_HTTPD_CUSTOM_FILES

#define LWIP_HTTPD_CUSTOM_FILES   0

Set this to 1 and provide the functions:

  • "int fs_open_custom(struct fs_file *file, const char *name)" Called first for every opened file to allow opening files that are not included in fsdata(_custom).c
  • "void fs_close_custom(struct fs_file *file)" Called to free resources allocated by fs_open_custom().

Definition at line 281 of file httpd_opts.h.

◆ LWIP_HTTPD_DYNAMIC_FILE_READ

#define LWIP_HTTPD_DYNAMIC_FILE_READ   0

Set this to 1 to support fs_read() to dynamically read file data. Without this (default=off), only one-block files are supported, and the contents must be ready after fs_open().

Definition at line 289 of file httpd_opts.h.

◆ LWIP_HTTPD_DYNAMIC_HEADERS

#define LWIP_HTTPD_DYNAMIC_HEADERS   0

Set this to 1 if you want to include code that creates HTTP headers at runtime. Default is off: HTTP headers are then created statically by the makefsdata tool. Static headers mean smaller code size, but the (readonly) fsdata will grow a bit as every file includes the HTTP header.

Definition at line 116 of file httpd_opts.h.

◆ LWIP_HTTPD_FILE_STATE

#define LWIP_HTTPD_FILE_STATE   0

Set this to 1 to include an application state argument per file that is opened. This allows to keep a state per connection/file.

Definition at line 296 of file httpd_opts.h.

◆ LWIP_HTTPD_FS_ASYNC_READ

#define LWIP_HTTPD_FS_ASYNC_READ   0

LWIP_HTTPD_FS_ASYNC_READ==1: support asynchronous read operations (fs_read_async returns FS_READ_DELAYED and calls a callback when finished).

Definition at line 310 of file httpd_opts.h.

◆ LWIP_HTTPD_KILL_OLD_ON_CONNECTIONS_EXCEEDED

#define LWIP_HTTPD_KILL_OLD_ON_CONNECTIONS_EXCEEDED   0

Set this to 1 to kill the oldest connection when running out of memory for 'struct http_state' or 'struct http_ssi_state'. ATTENTION: This puts all connections on a linked list, so may be kind of slow.

Definition at line 243 of file httpd_opts.h.

◆ LWIP_HTTPD_MAX_CGI_PARAMETERS

#define LWIP_HTTPD_MAX_CGI_PARAMETERS   16

Definition at line 80 of file httpd_opts.h.

◆ LWIP_HTTPD_MAX_REQ_LENGTH

#define LWIP_HTTPD_MAX_REQ_LENGTH   LWIP_MIN(1023, (LWIP_HTTPD_REQ_QUEUELEN * PBUF_POOL_BUFSIZE))

Defines the maximum length of a HTTP request line (up to the first CRLF, copied from pbuf into this a global buffer when pbuf- or packet-queues are received - otherwise the input pbuf is used directly)

Definition at line 205 of file httpd_opts.h.

◆ LWIP_HTTPD_MAX_REQUEST_URI_LEN

#define LWIP_HTTPD_MAX_REQUEST_URI_LEN   63

This is the size of a static buffer used when URIs end with '/'. In this buffer, the directory requested is concatenated with all the configured default file names. Set to 0 to disable checking default filenames on non-root directories.

Definition at line 215 of file httpd_opts.h.

◆ LWIP_HTTPD_MAX_TAG_INSERT_LEN

#define LWIP_HTTPD_MAX_TAG_INSERT_LEN   192

Definition at line 98 of file httpd_opts.h.

◆ LWIP_HTTPD_MAX_TAG_NAME_LEN

#define LWIP_HTTPD_MAX_TAG_NAME_LEN   8

Definition at line 93 of file httpd_opts.h.

◆ LWIP_HTTPD_OMIT_HEADER_FOR_EXTENSIONLESS_URI

#define LWIP_HTTPD_OMIT_HEADER_FOR_EXTENSIONLESS_URI   0

Set this to 1 to send URIs without extension without headers (who uses this at all??)

Definition at line 249 of file httpd_opts.h.

◆ LWIP_HTTPD_POST_MANUAL_WND

#define LWIP_HTTPD_POST_MANUAL_WND   0

Definition at line 102 of file httpd_opts.h.

◆ LWIP_HTTPD_POST_MAX_RESPONSE_URI_LEN

#define LWIP_HTTPD_POST_MAX_RESPONSE_URI_LEN   63

Maximum length of the filename to send as response to a POST request, filled in by the application when a POST is finished.

Definition at line 222 of file httpd_opts.h.

◆ LWIP_HTTPD_REQ_BUFSIZE

#define LWIP_HTTPD_REQ_BUFSIZE   LWIP_HTTPD_MAX_REQ_LENGTH

Number of (TCP payload-) bytes (in pbufs) to enqueue to parse and incoming request (up to the first double-newline)

Definition at line 198 of file httpd_opts.h.

◆ LWIP_HTTPD_REQ_QUEUELEN

#define LWIP_HTTPD_REQ_QUEUELEN   5

Number of rx pbufs to enqueue to parse an incoming request (up to the first newline)

Definition at line 192 of file httpd_opts.h.

◆ LWIP_HTTPD_SSI

#define LWIP_HTTPD_SSI   0

Set this to 1 to support SSI (Server-Side-Includes)

Definition at line 64 of file httpd_opts.h.

◆ LWIP_HTTPD_SSI_INCLUDE_TAG

#define LWIP_HTTPD_SSI_INCLUDE_TAG   1

Set this to 0 to not send the SSI tag (default is on, so the tag will be sent in the HTML page

Definition at line 228 of file httpd_opts.h.

◆ LWIP_HTTPD_SSI_MULTIPART

#define LWIP_HTTPD_SSI_MULTIPART   0

LWIP_HTTPD_SSI_MULTIPART==1: SSI handler function is called with 2 more arguments indicating a counter for insert string that are too long to be inserted at once: the SSI handler function must then set 'next_tag_part' which will be passed back to it in the next call.

Definition at line 88 of file httpd_opts.h.

◆ LWIP_HTTPD_SSI_RAW

#define LWIP_HTTPD_SSI_RAW   0

Set this to 1 to implement an SSI tag handler callback that gets a const char* to the tag (instead of an index into a pre-registered array of known tags)

Definition at line 70 of file httpd_opts.h.

◆ LWIP_HTTPD_SUPPORT_11_KEEPALIVE

#define LWIP_HTTPD_SUPPORT_11_KEEPALIVE   0

Set this to 1 to enable HTTP/1.1 persistent connections. ATTENTION: If the generated file system includes HTTP headers, these must include the "Connection: keep-alive" header (pass argument "-11" to makefsdata).

Definition at line 180 of file httpd_opts.h.

◆ LWIP_HTTPD_SUPPORT_EXTSTATUS

#define LWIP_HTTPD_SUPPORT_EXTSTATUS   0

Set this to one to show error pages when parsing a request fails instead of simply closing the connection.

Definition at line 167 of file httpd_opts.h.

◆ LWIP_HTTPD_SUPPORT_POST

#define LWIP_HTTPD_SUPPORT_POST   0

Set this to 1 to support HTTP POST

Definition at line 75 of file httpd_opts.h.

◆ LWIP_HTTPD_SUPPORT_REQUESTLIST

#define LWIP_HTTPD_SUPPORT_REQUESTLIST   1

Set this to 1 to support HTTP request coming in in multiple packets/pbufs

Definition at line 185 of file httpd_opts.h.

◆ LWIP_HTTPD_SUPPORT_V09

#define LWIP_HTTPD_SUPPORT_V09   1

Set this to 0 to drop support for HTTP/0.9 clients (to save some bytes)

Definition at line 172 of file httpd_opts.h.

◆ LWIP_HTTPD_TIMING

#define LWIP_HTTPD_TIMING   0

Set this to 1 to enable timing each file sent

Definition at line 157 of file httpd_opts.h.