-/* modules.h - NeonServ v5.3
+/* modules.h - NeonServ v5.6
* Copyright (C) 2011-2012 Philipp Kreil (pk910)
*
* This program is free software: you can redistribute it and/or modify
*/
#ifndef _modules_h
#define _modules_h
+#include "main.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 *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
+/* MODULAR ACCESSIBLE */ char *get_module_name(int module_id);
+
+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