summaryrefslogtreecommitdiff
path: root/src/glob.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/glob.h')
-rwxr-xr-xsrc/glob.h179
1 files changed, 98 insertions, 81 deletions
diff --git a/src/glob.h b/src/glob.h
index 1ff4cbf..a0d980a 100755
--- a/src/glob.h
+++ b/src/glob.h
@@ -1,12 +1,11 @@
/*
Notice:
-
+
All #defines which start with an CONFIG can be edited through
gmake config in the main directory!
*/
-
-#include <map>
+#include "maps/hashmap.h"
// global variables.
#ifndef GLOB_H
@@ -16,37 +15,63 @@
#define true 1
#define false 0
-/* - CONFIG -
- What should be the name of the config file?
-*/
-#define CONFILE "ychat.conf"
+//<<*
+/* FIRST THE YCHAT ONLY OPTIONS */
/* - CONFIG -
- In which prefix should yChat be installed if typing gmake inst-
- all?
-*/
-#define PREFIX "/usr/local"
-
-//<<*
-/* - CONFIG -
Should yChat get compiled with database support? Currently MyS-
QL only is a supported database.
*/
-#define DATABASE
+//#define DATABASE
#ifdef DATABASE
-/* - CONFIG -
+#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
-
-#define USE_MYSQL
#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 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
+
+/* - CONFIG -
+ Should yChat get compiled with logging support?
+*/
+#define LOGGING
+
+/* - 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-
ain port, it will increment the port number and retries to cre-
@@ -55,56 +80,43 @@
*/
#define MAXPORT 65535
-/* - CONFIG -
- Please specify the maximum length of a line read from a socket
- or a file. ( config-file, html-template )
-*/
-#define READSOCK 2048
-
-/* - CONFIG -
- Please specify the size of a temporary buffer. (Will be used f-
- or different tasks)
+/* Specifies the max amount of lines to read from a HTTP request
+ header
*/
-#define READBUF 1024
+#define MAXLINES 30
-/* - CONFIG -
- Please specify the maximum length of a HTTP post request.
+/* Specifies the max length of a lines to read from a HTTP request
+ header
*/
-#define POSTBUF 512
+#define MAXLENGTH 1024
-/* - CONFIG -
- Please specify the maximum occupancy of the internal hash-map
- data structures given in percentage. 0.9 means 90% iccupancy.
+/* - CONFIG -
+ Should yChat get compiled with ncurses support?
*/
-#define HMAPOCC .9
+#define NCURSES
-/* - 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 of if you have heavy server load.
+/* - CONFIG -
+ Please specify the maximum length of a HTTP post request.
*/
-//#define VERBOSE
+#define POSTBUF 512
-/* - 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 yChat!
+/* - CONFIG -
+ Please specify the size of a temporary buffer. (Will be used f-
+ or different tasks)
*/
-//#define EXPERIM
+#define READBUF 2048
/* - CONFIG -
- Should yChat get compiled with ncurses support?
-*/
-#define NCURSES
+ Please specify the maximum length of a line read from a socket
+ or a file. ( config-file, html-template )
+*/
+#define READSOCK 2048
/* - CONFIG -
- Should yChat get compiled with comand line interface support?
+ In which prefix should yChat be installed if typing gmake inst-
+ all?
*/
-#define CLI
-
+#define PREFIX "/usr/local"
/* - CONFIG -
DO NOT USE TOGETHER WITH NCURSES! Displays important server mes-
@@ -114,58 +126,65 @@
*/
//#define SERVMSG
-// Enables debugging options
-//#define DEBUG
+/* - 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 -
- 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.
+ 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 PUSHSTR 500
-//*>>
+//#define VERBOSE
+
+
// 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 18
-#define NCUR_POOL_SIZE_X 22
-#define NCUR_POOL_SIZE_Y 18
+#define NCUR_POOL_HEADER_Y 16
+#define NCUR_POOL_WAIT_X 22
+#define NCUR_POOL_WAIT_Y 16
#define NCUR_POOL_RUNNING_X 23
-#define NCUR_POOL_RUNNING_Y 18
+#define NCUR_POOL_RUNNING_Y 16
#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_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
@@ -179,19 +198,17 @@
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_ {