-/* modcmd.h - NeonServ v5.4
+/* modcmd.h - NeonServ v5.6
* Copyright (C) 2011-2012 Philipp Kreil (pk910)
*
* This program is free software: you can redistribute it and/or modify
#define MAXPARAMETERS 50
-#define CMDFLAG_REQUIRE_CHAN 0x0001
-#define CMDFLAG_REQUIRE_AUTH 0x0002
-#define CMDFLAG_REQUIRE_GOD 0x0004
-#define CMDFLAG_CHECK_AUTH 0x0008
-#define CMDFLAG_REGISTERED_CHAN 0x0010
-#define CMDFLAG_OVERRIDE_GLOBAL_ACCESS 0x0020
-#define CMDFLAG_OVERRIDE_CHANNEL_ACCESS 0x0040
-#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
-#define CMDFLAG_ESCAPE_ARGS 0x4000
-#define CMDFLAG_NO_CROSSCHAN 0x8000
+#define CMDFLAG_REQUIRE_CHAN 0x00001
+#define CMDFLAG_REQUIRE_AUTH 0x00002
+#define CMDFLAG_REQUIRE_GOD 0x00004
+#define CMDFLAG_CHECK_AUTH 0x00008
+#define CMDFLAG_REGISTERED_CHAN 0x00010
+#define CMDFLAG_OVERRIDE_GLOBAL_ACCESS 0x00020
+#define CMDFLAG_OVERRIDE_CHANNEL_ACCESS 0x00040
+#define CMDFLAG_CHAN_PARAM 0x00080
+#define CMDFLAG_LOG 0x00100
+#define CMDFLAG_OPLOG 0x00200
+#define CMDFLAG_EMPTY_ARGS 0x00400
+#define CMDFLAG_REQUIRED 0x00800
+#define CMDFLAG_TEMPONARY_BIND 0x01000
+#define CMDFLAG_FUNCMD 0x02000
+#define CMDFLAG_ESCAPE_ARGS 0x04000
+#define CMDFLAG_NO_CROSSCHAN 0x08000
+#define CMDFLAG_SUB_LINKER 0x10000
struct ClientSocket;
struct UserNode;
struct ChanNode;
struct Event;
-#define CMD_BIND(NAME) void NAME(UNUSED_ARG(struct ClientSocket *client), UNUSED_ARG(struct UserNode *user), UNUSED_ARG(struct ChanNode *chan), UNUSED_ARG(char **argv), UNUSED_ARG(char argc), UNUSED_ARG(struct Event *event))
-typedef void cmd_bind_t(struct ClientSocket *client, struct UserNode *user, struct ChanNode *chan, char **argv, char argc, struct Event *event);
+#define CMD_BIND(NAME) void NAME(UNUSED_ARG(struct ClientSocket *client), UNUSED_ARG(struct ClientSocket *textclient), UNUSED_ARG(struct UserNode *user), UNUSED_ARG(struct ChanNode *chan), UNUSED_ARG(char **argv), UNUSED_ARG(char argc), UNUSED_ARG(struct Event *event))
+typedef void cmd_bind_t(struct ClientSocket *client, struct ClientSocket *textclient, struct UserNode *user, struct ChanNode *chan, char **argv, char argc, struct Event *event);
typedef void trigger_callback_t(int clientid, struct ChanNode *chan, char *trigger);
struct cmd_function {
/* MODULAR ACCESSIBLE */ struct cmd_binding *find_botwise_cmd_binding(int botid, int clientid, char *cmd);
/* MODULAR ACCESSIBLE */ void bind_botwise_unbound_required_functions(int botid, int clientid);
/* MODULAR ACCESSIBLE */ struct cmd_function *find_cmd_function(int botid, char *name);
-/* MODULAR ACCESSIBLE */ struct ClientSocket *getTextBot();
/* MODULAR ACCESSIBLE */ void register_command_alias(int botid, char *alias);
/* MODULAR ACCESSIBLE */ struct cmd_binding *getAllBinds(struct cmd_binding *last);