diff options
Diffstat (limited to 'src/glob.h')
| -rwxr-xr-x | src/glob.h | 232 |
1 files changed, 37 insertions, 195 deletions
@@ -1,201 +1,35 @@ -/* - Notice: - - All #defines which start with an CONFIG can be edited through - gmake config in the main directory! -*/ - -#include "maps/hashmap.h" - // global variables. + #ifndef GLOB_H #define GLOB_H -// Definition of boolean values. +#include <map> +#include <pthread.h> + +// definition of boolean values. #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 filename. +#define CONFILE "conf.txt" -/* - 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 - -/* - 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- - ate another socket on the incremented port number. This proced- - ure will continue until MAXPORT has been reached. -*/ +// the highest port which is allowed to use. if ychat is unable to create the server +// socket it will increment the port number and tries to create another socket. +// this procedure will go on until MAXPORT is 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 -*/ -#define MAXLENGTH 1024 - -/* - CONFIG - - Should yChat get compiled with ncurses support? -*/ -#define NCURSES - -/* - 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) -*/ -#define READBUF 2048 - -/* - CONFIG - - Please specify the maximum length of a line read from a socket - or a file. ( config-file, html-template ) -*/ -#define READSOCK 2048 - -/* - CONFIG - - In which prefix should yChat be installed if typing gmake inst- - all? -*/ -#define PREFIX "/usr/local" - -/* - CONFIG - - DO NOT USE TOGETHER WITH NCURSES! Displays important server mes- - ages. This one will print all messages to stdout if no NCURSES - is defined. Don't use this until NCURSES is defined! all messag- - es will appear in the ncurses interface anyways. -*/ -//#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 - - - - -// 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_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_RUNNING_X 23 -#define NCUR_POOL_RUNNING_Y 16 - -#define NCUR_DATA_HEADER_X 21 -#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_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_SESSION_X 23 -#define NCUR_SESSION_Y 52 - -#define NCUR_CACHED_HEADER_X 21 -#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_MENU_CHAR_X 0 -#define NCUR_MENU_CHAR_Y 33 -#define NCUR_UPTIME_X 0 -#define NCUR_UPTIME_Y 44 -#define NCUR_TIME_X 0 -#define NCUR_TIME_Y 64 +// max length of a line read from a socket or a file ( config-file, html-template ). +#define READBUF 1024 + +// definition for verbosity level 0 ( normal outputs ). see vmsg.h for custumizing all +// the messages. this messages will only printed out by the master thread. +#define VERBOSE + +// Defines the amount of newlines which have to send to the client's +// chat stream the first log-in. ( prevents white screen because of buffers +// or proxies ). +#define PUSHSTR 1000 -#endif ////////////////////////////////////////////////////////////////////////////////////////// // DO NOT CHANGE ANYTHING BEHIND THIS LINE! @@ -203,11 +37,26 @@ using namespace std; +// internal rang descriptors ( their external names may be specified different ) +enum rang +{ + CODER , // programmer. + ADMIN , // administrator. + MAGIC , // super user with special privileges. + SUPER , // temporary super user. + BASIC , // normal user without special privileges. + GUEST , // guest user, has almost no privileges. + RESTR , // a very restrivted user. + OUTBN // banned out of the system. +}; + +// 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[3]; }; struct dynmod @@ -216,11 +65,4 @@ struct dynmod void *the_module; }; -typedef enum method_ { - METH_NCURSES, - METH_RETSTRING -} method; - -// Define external executables: -#define GMAKE "/usr/local/bin/gmake \0" #endif |
