X-Git-Url: https://jfr.im/git/solanum.git/blobdiff_plain/b830b64106720904e9b2f0efd18a7a2bc471ad25..c3780ae27f97a161c6bb5846947fba6605e45281:/include/msg.h diff --git a/include/msg.h b/include/msg.h index 414fd685..3709163a 100644 --- a/include/msg.h +++ b/include/msg.h @@ -20,14 +20,12 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * USA - * - * $Id: msg.h 6 2005-09-10 01:02:21Z nenolod $ */ #ifndef INCLUDED_msg_h #define INCLUDED_msg_h -#include "config.h" +#include "defaults.h" #include "msgbuf.h" struct Client; @@ -45,17 +43,18 @@ typedef enum HandlerType } HandlerType; -/* struct Client* client_p - connection message originated from +/* struct MsgBuf* msgbuf_p - message buffer (including tags) + * struct Client* client_p - connection message originated from * struct Client* source_p - source of message, may be different from client_p - * int parc - parameter count - * char* parv[] - parameter vector + * int parc - parameter count (from msgbuf_p) + * char* parv[] - parameter vector (from msgbuf_p) */ -typedef int (*MessageHandler) (struct Client *, struct Client *, int, const char *[]); +typedef void (*MessageHandler) (struct MsgBuf *, struct Client *, struct Client *, int, const char *[]); struct MessageEntry { MessageHandler handler; - int min_para; + size_t min_para; }; /* Message table structure */ @@ -65,24 +64,19 @@ struct Message unsigned int count; /* number of times command used */ unsigned int rcount; /* number of times command used by server */ unsigned long bytes; /* bytes received for this message */ - unsigned int flags; /* bit 0 set means that this command is allowed - * to be used only on the average of once per 2 - * seconds -SRB - */ + unsigned int flags; + /* handlers: * UNREGISTERED, CLIENT, RCLIENT, SERVER, OPER, LAST */ struct MessageEntry handlers[LAST_HANDLER_TYPE]; }; -#define MFLG_SLOW 0x01 /* executed roughly once per 2s */ -#define MFLG_UNREG 0x02 /* available to unregistered clients */ - /* generic handlers */ -extern int m_ignore(struct Client *, struct Client *, int, const char **); -extern int m_not_oper(struct Client *, struct Client *, int, const char **); -extern int m_registered(struct Client *, struct Client *, int, const char **); -extern int m_unregistered(struct Client *, struct Client *, int, const char **); +extern void m_ignore(struct MsgBuf *, struct Client *, struct Client *, int, const char **); +extern void m_not_oper(struct MsgBuf *, struct Client *, struct Client *, int, const char **); +extern void m_registered(struct MsgBuf *, struct Client *, struct Client *, int, const char **); +extern void m_unregistered(struct MsgBuf *, struct Client *, struct Client *, int, const char **); #define mg_ignore { m_ignore, 0 } #define mg_not_oper { m_not_oper, 0 } @@ -91,7 +85,7 @@ extern int m_unregistered(struct Client *, struct Client *, int, const char **); /* * m_functions execute protocol messages on this server: - * int m_func(struct Client* client_p, struct Client* source_p, int parc, char* parv[]); + * void m_func(struct Client* client_p, struct Client* source_p, int parc, char* parv[]); * * client_p is always NON-NULL, pointing to a *LOCAL* client * structure (with an open socket connected!). This