added structure for future fun-commands
[NeonServV5.git] / src / modcmd.h
index e33a54a6002aa69fcccdba03b4e38f6c8b56bac1..4ba89a96a4090ed2df73fc3f135673c589242bf6 100644 (file)
@@ -1,4 +1,4 @@
-/* modcmd.h - NeonServ v5.0
+/* modcmd.h - NeonServ v5.2
  * Copyright (C) 2011  Philipp Kreil (pk910)
  * 
  * This program is free software: you can redistribute it and/or modify
@@ -18,6 +18,8 @@
 #define _modcmd_h
 #include "main.h"
 
+#define MAXPARAMETERS 50
+
 #define CMDFLAG_REQUIRE_CHAN            0x0001
 #define CMDFLAG_REQUIRE_AUTH            0x0002
 #define CMDFLAG_REQUIRE_GOD             0x0004
 #define CMDFLAG_CHAN_PARAM              0x0080
 #define CMDFLAG_LOG                     0x0100
 #define CMDFLAG_OPLOG                   0x0200
+#define CMDFLAG_EMPTY_ARGS              0x0400
+#define CMDFLAG_REQUIRED                0x0800
+#define CMDFLAG_TEMPONARY_BIND          0x1000
+#define CMDFLAG_FUNCMD                  0x2000
 
 struct ClientSocket;
 struct UserNode;
@@ -55,7 +61,8 @@ struct cmd_binding {
     int botid;
     struct cmd_function *func;
     unsigned int flags;
-    char *parameters;
+    char *parameters[MAXPARAMETERS];
+    int paramcount;
     int global_access;
     char *channel_access;
     
@@ -84,5 +91,9 @@ void bind_set_parameters(int botid, char *cmd, char *parameters);
 void bind_set_global_access(int botid, char *cmd, int gaccess);
 void bind_set_channel_access(int botid, char *cmd, char *chanaccess);
 struct cmd_binding *find_cmd_binding(int botid, char *cmd);
+void bind_unbound_required_functions(int botid);
+
+void register_command_alias(int botid, char *alias);
+struct cmd_binding *getAllBinds(struct cmd_binding *last);
 
 #endif
\ No newline at end of file