summaryrefslogtreecommitdiff
path: root/include/modules.h
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2013-04-10 22:26:40 -0500
committerAdam <Adam@anope.org>2013-04-10 22:26:40 -0500
commit207c46c871e85b55ae66acc456c6bc412c0c79f9 (patch)
tree27b07dc9d1e0ee068872ec7841920eea9b846b65 /include/modules.h
parent957cb2bf93d77a5ebb97d945b0656bd1e7bec164 (diff)
Move some of the modules in extras/ that arent really extra out of extras. Mark our modules as VENDOR and allow modules to have multple types.
Diffstat (limited to 'include/modules.h')
-rw-r--r--include/modules.h23
1 files changed, 22 insertions, 1 deletions
diff --git a/include/modules.h b/include/modules.h
index 22a3b9ce7..ae7ceb651 100644
--- a/include/modules.h
+++ b/include/modules.h
@@ -139,7 +139,28 @@ enum ModuleReturn
*/
enum Priority { PRIORITY_FIRST, PRIORITY_DONTCARE, PRIORITY_LAST, PRIORITY_BEFORE, PRIORITY_AFTER };
/* Module types, in the order in which they are unloaded. The order these are in is IMPORTANT */
-enum ModType { MT_BEGIN, THIRD, SUPPORTED, CORE, DATABASE, ENCRYPTION, PROTOCOL, MT_END };
+enum
+{
+ MT_BEGIN,
+ /* Module is 3rd party. All 3rd party modules should set this. Mutually exclusive to VENDOR. */
+ THIRD = 1 << 0,
+ /* A vendor module, which is made and shipped by Anope. Mutually exclusive to THIRD. */
+ VENDOR = 1 << 1,
+ /* Extra module not required for standard use. Probably requires external dependencies.
+ * This module does something extreme enough that we want it to show in the default /os modlist command
+ */
+ EXTRA = 1 << 2,
+ /* Module provides access to a database */
+ DATABASE = 1 << 3,
+ /* Module provides encryption */
+ ENCRYPTION = 1 << 4,
+ /* Module provides a pseudoclient */
+ PSEUDOCLIENT = 1 << 5,
+ /* Module provides IRCd protocol support */
+ PROTOCOL = 1 << 6,
+ MT_END = 1 << 7
+};
+typedef unsigned short ModType;
/** Returned by Module::GetVersion, used to see what version of Anope
* a module is compiled against.