00001 00002 /* macro.h */ 00003 00004 /* $Id: macro.h,v 1.1 2005/06/13 20:50:47 murrayma Exp $ */ 00005 00006 #ifndef __MACRO_H 00007 #define __MACRO_H 00008 00009 #include <stdio.h> 00010 00011 #include "db.h" 00012 #include "interface.h" 00013 #include "match.h" 00014 #include "config.h" 00015 #include "externs.h" 00016 00017 #define GMac(n) (n >= 0 && n < nummacros) 00018 00019 #define MACRO_L 1 00020 #define MACRO_R 2 00021 #define MACRO_W 4 00022 #define MAX_SLOTS 5 /* Number of macro slots a person can have. */ 00023 00024 typedef struct macroentry MACENT; 00025 struct macroentry { 00026 char *cmdname; 00027 void (*handler) (); 00028 }; 00029 00030 struct macros { 00031 int player; 00032 char status; 00033 char *desc; 00034 int nummacros; 00035 int maxmacros; 00036 char *alias; /* Chopped into 5 byte sections. Macro can have */ 00037 char **string; /* at most a 4 letter alias */ 00038 }; 00039 00040 int nummacros; 00041 int maxmacros; 00042 struct macros **macros; 00043 00044 struct macros *get_macro_set(); 00045 int can_write_macros(); 00046 int can_read_macros(); 00047 00048 void do_sort_macro_set(); 00049 void save_macros(); 00050 void load_macros(); 00051 00052 int do_macro(); 00053 void do_add_macro(); 00054 00055 void do_chown_macro(); 00056 void do_clear_macro(); 00057 void do_chmod_macro(); 00058 void do_create_macro(); 00059 void do_def_macro(); 00060 void do_del_macro(); 00061 void do_desc_macro(); 00062 void do_edit_macro(); 00063 void do_ex_macro(); 00064 void do_list_macro(); 00065 void do_status_macro(); 00066 void do_undef_macro(); 00067 void do_gex_macro(); 00068 char *do_process_macro(); 00069 00070 #endif /* __MACRO_H */