projects
/
NeonServV5.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge remote-tracking branch 'remotes/IOMultiplexer.git/master' into development
[NeonServV5.git]
/
src
/
modules.h
diff --git
a/src/modules.h
b/src/modules.h
index 8e326ea6fd46f885183078fdf7d8c8269afa1b8f..7600f6e59703bfaa80e3e5e318af6edfc876682b 100644
(file)
--- a/
src/modules.h
+++ b/
src/modules.h
@@
-1,4
+1,4
@@
-/* 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
* Copyright (C) 2011-2012 Philipp Kreil (pk910)
*
* This program is free software: you can redistribute it and/or modify
@@
-16,12
+16,37
@@
*/
#ifndef _modules_h
#define _modules_h
*/
#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();
void loadModules();
-
int
loadModule(char *name);
+
struct ModuleInfo *
loadModule(char *name);
void start_modules();
void start_modules();
-void loop_modules();
void stop_modules();
int module_loaded(int module_id);
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