1 #ifndef MAIL_FRONT__MAILFRONT_INTERNAL__H__ 2 #define MAIL_FRONT__MAILFRONT_INTERNAL__H__ 3 4 #include "mailfront.h" 5 #include <bglibs/ghash.h> 6 7 struct session 8 { 9 struct protocol* protocol; 10 struct plugin* backend; 11 struct ghash strs; 12 struct ghash nums; 13 str env; 14 int fd; 15 struct plugin* plugin_list; 16 struct plugin* plugin_tail; 17 unsigned flags; 18 const char* module_path; 19 }; 20 21 GHASH_DECL(session_strs,const char*,const char*); 22 GHASH_DECL(session_nums,const char*,unsigned long); 23 24 extern struct session session; 25 26 /* From builtins.c */ 27 extern struct plugin builtin_plugins[]; 28 29 /* From modules.c */ 30 extern void add_plugin(struct plugin*); 31 extern const response* load_modules(const char* protocol_name, 32 const char* backend_name, 33 const char** plugins); 34 35 /* From session.c */ 36 extern void session_init(void); 37 38 #endif /* MAIL_FRONT__MAILFRONT_INTERNAL__H__ */ 39