/*********************************************************************/ /* file: tintin.h - the include file for tintin++ */ /* TINTIN ++ */ /* (T)he K(I)cki(N) (T)ickin D(I)kumud Clie(N)t */ /* modified by Bill Reiss 1993 */ /* coded by peter unold 1992 */ /*********************************************************************/ #include <stdio.h> /************************/ /* The meaning of life: */ /************************/ #define TRUE 1 #define FALSE 0 /******************************/ /* Type of system declaration */ /******************************/ /***********************************************/ /* Some default values you might wanna change: */ /***********************************************/ #define SCREEN_WIDTH 80 #define DEFAULT_OPEN '{' /*character that starts an argument */ #define DEFAULT_CLOSE '}' /*character that ends an argument */ #define SYSTEM_COMMAND_DEFAULT "system" /* name of the system command */ #define HISTORY_SIZE 15 /* history size */ #define MAX_PATH_LENGHT 50 /* max path lenght */ #define DEFAULT_TINTIN_CHAR '#' /* tintin char */ #define DEFAULT_VERBATIM_CHAR '\\' /* if an input starts with this char, it will be sent 'as is' to the MUD */ #define DEFAULT_ECHO FALSE /* echo */ #define DEFAULT_IGNORE FALSE /* ignore */ #define DEFAULT_SPEEDWALK TRUE /* speedwalk */ #define DEFAULT_PRESUB TRUE /* presub before actions */ #define DEFAULT_TOGGLESUBS FALSE /* turn subs on and off FALSE=ON*/ #define DEFAULT_ALIAS_MESS TRUE /* messages for responses */ #define DEFAULT_ACTION_MESS TRUE /* when setting/deleting aliases, */ #define DEFAULT_SUB_MESS TRUE /* actions, etc. may be set to */ #define DEFAULT_ANTISUB_MESS TRUE /* default either on or off */ #define DEFAULT_HIGHLIGHT_MESS TRUE /* TRUE=ON FALSE=OFF */ #define DEFAULT_VARIABLE_MESS TRUE /* might want to turn off these */ #define DEFAULT_REDRAW FALSE /**************************************************************************/ /* Whenever TINTIN has written something to the screen, the program sends */ /* a CR/LF to the diku to force a new prompt to appear. You can have */ /* TINTIN print it's own pseudo prompt instead. */ /**************************************************************************/ #define PSEUDO_PROMPT TRUE /**************************************************************************/ /* the codes below are used for highlighting text, and is set for the */ /* codes for VT-100 terminal emulation. If you are using a different */ /* teminal type, replace the codes below with the correct codes */ /**************************************************************************/ #define REVERSE_START_STRING "[7m" #define BOLD_START_STRING "[1m" #define BLINK_START_STRING "[5m" #define ITALIC_START_STRING "[3m" #define FAINT_START_STRING "[2m" #define COLOR1_START_STRING "[30m" #define COLOR2_START_STRING "[31m" #define COLOR3_START_STRING "[32m" #define COLOR4_START_STRING "[33m" #define COLOR5_START_STRING "[34m" #define COLOR6_START_STRING "[35m" #define COLOR7_START_STRING "[36m" #define COLOR8_START_STRING "[37m" #define REVERSE_END_STRING "[m" #define BOLD_END_STRING "[m" #define FAINT_END_STRING "[m" #define BLINK_END_STRING "[m" #define ITALIC_END_STRING "[m" #define COLOR1_END_STRING "[m" #define COLOR2_END_STRING "[m" #define COLOR3_END_STRING "[m" #define COLOR4_END_STRING "[m" #define COLOR5_END_STRING "[m" #define COLOR6_END_STRING "[m" #define COLOR7_END_STRING "[m" #define COLOR8_END_STRING "[m" /*************************************************************************/ /* The text below is checked for. If it trickers then echo is turned off */ /* echo is turned back on the next time the user types a return */ /*************************************************************************/ #define PROMPT_FOR_PW_TEXT "^Password:" /**************************************************************************/ /* The stuff below here shouldn't be modified unless you know what you're */ /* doing........ */ /**************************************************************************/ #define BUFFER_SIZE 1024 /************************ structures *********************/ struct listnode { struct listnode *next; char *left, *right; }; struct completenode { struct completenode *next; char *strng; }; struct session { struct session *next; char *name; char *address; int tickstatus; int snoopstatus; FILE *logfile; struct listnode *aliases, *actions, *subs, *myvars, *highs, *antisubs; char *history[HISTORY_SIZE]; char path[MAX_PATH_LENGHT]; int path_mark, path_now, path_lenght; int socket, socketbit; int old_more_coming,more_coming; char last_line[BUFFER_SIZE]; };