summaryrefslogtreecommitdiff
path: root/src/glob.h
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2013-04-06 13:14:46 +0200
committerPaul Buetow <paul@buetow.org>2013-04-06 13:14:46 +0200
commit56187184e11b085b82584d3b088c62f427aae83c (patch)
tree8f8387e750a62581966900a42dade265d34c3146 /src/glob.h
parentd3a0d11f93c1ebe38b4301c9bef952bfd24d01a1 (diff)
tagging yhttpd-0.7.1yhttpd-0.7.1
Diffstat (limited to 'src/glob.h')
-rwxr-xr-xsrc/glob.h184
1 files changed, 68 insertions, 116 deletions
diff --git a/src/glob.h b/src/glob.h
index 7c4a761..c134df5 100755
--- a/src/glob.h
+++ b/src/glob.h
@@ -1,11 +1,12 @@
/*
Notice:
-
+
All #defines which start with an CONFIG can be edited through
gmake config in the main directory!
*/
-#include "maps/hashmap.h"
+
+#include <map>
// global variables.
#ifndef GLOB_H
@@ -15,113 +16,77 @@
#define true 1
#define false 0
-//<<*
-/* FIRST THE YCHAT ONLY OPTIONS */
-
-/* - CONFIG -
- Should yChat get compiled with database support? Currently MyS-
- QL only is a supported database.
-*/
-//#define DATABASE
-
-#ifdef DATABASE
-#define USE_MYSQL
-/* - CONFIG -
- Should all database queries printed out at the admin interface?
- (This option wont take action if database support has not been
- chosen)
-*/
-#define DATA_PRINT_QUERIES
-#endif
-
-/* - CONFIG -
- Defines the amount of newlines which have to be sent to the clie-
- nt's chat stream after the first log-in. It prevents a white scr-
- een because of browser buffers or proxies.
-*/
-#define PUSHSTR 500
-
-/* AFTERWARDS THE YCHAT AND YHTTPD OPTIONS */
-//*>>
-
-/* - CONFIG -
- Should yChat get compiled with OpenSSL support?
-*/
-//#define OPENSSL
-
-/* - CONFIG -
- Should yChat get compiled with comand line interface support?
-*/
-#define CLI
-
/* - CONFIG -
What should be the name of the config file?
*/
-#define CONFILE "ychat.conf"
-
-/* - DISABLED -
- Enable debugging options.
-*/
-//#define DEBUG
-
-/* - DISABLED -
- If you want to enable EXPERIMENTAL features, then set this val-
- ue to true. Else use false which is recommended! All experimen-
- al features are marked inside of the running yChat!
-*/
-//#define EXPERIM
+#define CONFILE "yhttpd.conf"
/* - CONFIG -
- Should yChat get compiled with logging support?
+ In which prefix should yhttpd be installed if typing gmake inst-
+ all?
*/
-#define LOGGING
+#define PREFIX "/usr/local"
+
/* - CONFIG -
Please enter the highest networking port which is allowed to be
- used. If yChat is unable to create the server socket on a cert-
+ used. If yhttpd is unable to create the server socket on a cert-
ain port, it will increment the port number and retries to cre-
ate another socket on the incremented port number. This proced-
ure will continue until MAXPORT has been reached.
*/
#define MAXPORT 65535
-/* Specifies the max amount of lines to read from a HTTP request
- header
-*/
-#define MAXLINES 30
-
-/* Specifies the max length of a lines to read from a HTTP request
- header
+/* - CONFIG -
+ Please specify the maximum length of a line read from a socket
+ or a file. ( config-file, html-template )
*/
-#define MAXLENGTH 1024
+#define READSOCK 2048
-/* - CONFIG -
- Should yChat get compiled with ncurses support?
+/* - CONFIG -
+ Please specify the size of a temporary buffer. (Will be used f-
+ or different tasks)
*/
-#define NCURSES
+#define READBUF 1024
-/* - CONFIG -
+/* - CONFIG -
Please specify the maximum length of a HTTP post request.
*/
#define POSTBUF 512
-/* - CONFIG -
- Please specify the size of a temporary buffer. (Will be used f-
- or different tasks)
+/* - CONFIG -
+ Please specify the maximum occupancy of the internal hash-map
+ data structures given in percentage. 0.9 means 90% iccupancy.
*/
-#define READBUF 2048
+#define HMAPOCC .9
-/* - CONFIG -
- Please specify the maximum length of a line read from a socket
- or a file. ( config-file, html-template )
+/* - CONFIG -
+ Please chose if you want to use verbose server outputs or not.
+ The verbose messages will appear in the ncurses menu if ncurses
+ is enabled or in the server-window if yhttpd has been compiled
+ without ncurses support. This option shows you all incoming
+ requests with the client IP and port numbers. You probably want
+ this to be turned of if you have heavy server load.
*/
-#define READSOCK 2048
+//#define VERBOSE
+
+/* - CONFIG -
+ If you want to enable EXPERIMENTAL features, then set this val-
+ ue to true. Else use false which is recommended! All experimen-
+ al features are marked inside of the running yhttpd!
+*/
+//#define EXPERIM
/* - CONFIG -
- In which prefix should yChat be installed if typing gmake inst-
- all?
+ Should yhttpd get compiled with ncurses support?
+*/
+#define NCURSES
+
+/* - CONFIG -
+ Should yhttpd get compiled with comand line interface support?
*/
-#define PREFIX "/usr/local"
+#define CLI
+
/* - CONFIG -
DO NOT USE TOGETHER WITH NCURSES! Displays important server mes-
@@ -131,65 +96,50 @@
*/
//#define SERVMSG
-/* - CONFIG -
- Set to true if you want yChat to catch the SIGSEGV signal. yChat
- will print a warning message into the system messages and will
- not core dump if an error occurs.
-*/
-//#define CTCSEGV
-
-/* - CONFIG -
- Please chose if you want to use verbose server outputs or not.
- The verbose messages will appear in the ncurses menu if ncurses
- is enabled or in the server-window if yChat has been compiled
- without ncurses support. This option shows you all incoming
- requests with the client IP and port numbers. You probably want
- this to be turned off if you have heavy server load.
-*/
-//#define VERBOSE
-
+// Enables debugging options
+//#define DEBUG
// The following values define the positions of the data stats in the NCURSES interface.
#ifdef NCURSES
#define NCUR_SERVER_HEADER_X 21
-#define NCUR_SERVER_HEADER_Y 2
+#define NCUR_SERVER_HEADER_Y 2
#define NCUR_PORT_X 22
#define NCUR_PORT_Y 2
#define NCUR_HITS_X 23
#define NCUR_HITS_Y 2
#define NCUR_POOL_HEADER_X 21
-#define NCUR_POOL_HEADER_Y 16
-#define NCUR_POOL_WAIT_X 22
-#define NCUR_POOL_WAIT_Y 16
+#define NCUR_POOL_HEADER_Y 18
+#define NCUR_POOL_SIZE_X 22
+#define NCUR_POOL_SIZE_Y 18
#define NCUR_POOL_RUNNING_X 23
-#define NCUR_POOL_RUNNING_Y 16
+#define NCUR_POOL_RUNNING_Y 18
#define NCUR_DATA_HEADER_X 21
-#define NCUR_DATA_HEADER_Y 35
+#define NCUR_DATA_HEADER_Y 35
#define NCUR_GARBAGE_X 22
#define NCUR_GARBAGE_Y 35
-#define NCUR_CON_QUEUE_X 23
+#define NCUR_CON_QUEUE_X 23
#define NCUR_CON_QUEUE_Y 35
-#define NCUR_CHAT_HEADER_X 21
-#define NCUR_CHAT_HEADER_Y 52
+#define NCUR_HTTPD_HEADER_X 21
+#define NCUR_HTTPD_HEADER_Y 52
#define NCUR_NUM_ROOMS_X 22
-#define NCUR_NUM_ROOMS_Y 52
+#define NCUR_NUM_ROOMS_Y 52
#define NCUR_SESSION_X 23
-#define NCUR_SESSION_Y 52
+#define NCUR_SESSION_Y 52
#define NCUR_CACHED_HEADER_X 21
-#define NCUR_CACHED_HEADER_Y 68
+#define NCUR_CACHED_HEADER_Y 68
#define NCUR_CACHED_DOCS_X 22
-#define NCUR_CACHED_DOCS_Y 68
-#define NCUR_CACHED_MODS_X 23
-#define NCUR_CACHED_MODS_Y 68
+#define NCUR_CACHED_DOCS_Y 68
+#define NCUR_CACHED_MODS_X 23
+#define NCUR_CACHED_MODS_Y 68
#define NCUR_MENU_CHAR_X 0
-#define NCUR_MENU_CHAR_Y 33
+#define NCUR_MENU_CHAR_Y 33
#define NCUR_UPTIME_X 0
#define NCUR_UPTIME_Y 44
#define NCUR_TIME_X 0
@@ -203,17 +153,19 @@
using namespace std;
+// some custom typedefs for datatypes which are needed often.
+typedef map<string, string> map_string;
typedef int function( void *v_arg );
struct container
{
- void* elem[4];
+ void* elem[4];
};
struct dynmod
{
- function *the_func ;
- void *the_module;
+ function *the_func ;
+ void *the_module;
};
typedef enum method_ {