1 /*
2  * (c) Oleg Puchinin 2006
3  * graycardinalster@gmail.com
4  *
5  */
6 
7 #ifndef DEFINE_MOD_H
8 #define DEFINE_MOD_H
9 
10 struct mod_t {
11 	int Type;
12 	int ID;
13 	char * Version;
14 	char * Name;
15 	char Enabled;
16         char * mod_file;
17 	void (*short_info) ();
18 	void (*long_info) ();
19 	void (*usage) ();
20 	char (*opt) (DArray * d_opts, int * pos);
21 	char (*opt2) (DArray * d_opts, int * pos);
22 	char *language;
23 	char *(*the) (struct tt_state_t *d_tt_state); // --the-tt
24 	int (*make_ctags) (char *f_name, FILE *ofile); // SilentBob --make-ctags code body.
25 	int (*call_tags) (char *f_name); // SilentBob --call-tags code body.
26 	int (*print_tags) (); // tags <tag>
27 	void (*file) (char * f_name); // bob <files> --file
28 	bool internal;
29 };
30 
31 int modding_init ();
32 int modding_start (int i_cmd);
33 int modding_load_plugin (char * name, char * path);
34 void mod_plugin_info (int ID);
35 void plugins_viewer ();
36 
37 #endif
38 
39