1#ifndef _LIGHTTPD_SETTINGS_H_ 2#define _LIGHTTPD_SETTINGS_H_ 3 4#ifndef _GNU_SOURCE 5# define _GNU_SOURCE 6#endif 7 8#ifndef __USE_GNU 9# define __USE_GNU /* a hack in my eyes, <fcntl.h> F_SETSIG should work with _GNU_SOURCE */ 10#endif 11 12#ifdef __GNUC__ 13# define LI_NORETURN __attribute__((noreturn)) 14#else 15# define LI_NORETURN 16#endif 17 18#define UNUSED(x) ( (void)(x) ) 19 20#define BV(x) (1 << x) 21 22#define INET_NTOP_CACHE_MAX 4 23#define FILE_CACHE_MAX 16 24 25/** 26 * max size of a buffer which will just be reset 27 * to ->used = 0 instead of really freeing the buffer 28 * 29 * 64kB (no real reason, just a guess) 30 */ 31#define BUFFER_MAX_REUSE_SIZE (4 * 1024) 32 33/* both should be way smaller than SSIZE_MAX :) */ 34#define MAX_READ_LIMIT (256*1024) 35#define MAX_WRITE_LIMIT (256*1024) 36 37/** 38 * max size of the HTTP request header 39 * 40 * 32k should be enough for everything (just a guess) 41 * 42 */ 43#define MAX_HTTP_REQUEST_HEADER (32 * 1024) 44 45typedef enum { HANDLER_UNSET, 46 HANDLER_GO_ON, 47 HANDLER_FINISHED, 48 HANDLER_COMEBACK, 49 HANDLER_WAIT_FOR_EVENT, 50 HANDLER_ERROR, 51 HANDLER_WAIT_FOR_FD 52} handler_t; 53 54#define HTTP_LINGER_TIMEOUT 5 55 56/* we use it in a enum */ 57#ifdef TRUE 58#undef TRUE 59#endif 60 61#ifdef FALSE 62#undef FALSE 63#endif 64 65#endif 66