added modules to neonserv.example.conf and added protected as a module setting
[NeonServV5.git] / src / modules.h
index 8e326ea6fd46f885183078fdf7d8c8269afa1b8f..9df733f97b609b483d22179e0b3fa59dcdb08059 100644 (file)
 #ifndef _modules_h
 #define _modules_h
 
+#define MODINFO_STATE_STARTED   0x01
+#define MODINFO_STATE_PROTECTED 0x02
+
+struct ModuleInfo {
+    char *name;
+    int module_id;
+    #ifndef WIN32
+    void *module;
+    #else
+    HMODULE module;
+    #endif
+    int state;
+    void *startfunc;
+    void *loopfunc;
+    void *stopfunc;
+    struct ModuleInfo *next;
+};
+
+#ifndef DND_FUNCTIONS
 void loadModules();
-int loadModule(char *name);
+struct ModuleInfo *loadModule(char *name);
 void start_modules();
 void loop_modules();
 void stop_modules();
 int module_loaded(int module_id);
 
-#endif
\ No newline at end of file
+int ext_load_module(char *name);
+int ext_unload_module(char *name);
+int ext_reload_module(char *name);
+struct ModuleInfo *ext_get_modules(struct ModuleInfo *last);
+#endif
+#endif