X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=include%2Fmsg.h;h=18b5ba37719478defc5a22a6f0d2ce6328b802f5;hb=cae7b1e6ebcfa73c382f672f8c94e0fb174db399;hp=9087926bd2a567c1044519779e6161ad7b542a64;hpb=5ba09703da9f8f21f3278dc0222cd6fe077cfe31;p=ircu2.10.12-pk.git diff --git a/include/msg.h b/include/msg.h index 9087926..18b5ba3 100644 --- a/include/msg.h +++ b/include/msg.h @@ -16,8 +16,10 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - * - * $Id$ + */ +/** @file + * @brief Command and token declarations and structures. + * @version $Id$ */ #ifndef INCLUDED_msg_h #define INCLUDED_msg_h @@ -351,30 +353,48 @@ struct Client; #define TOK_GET "GET" #define MSG_PRIVS "PRIVS" /* PRIV */ -#define TOK_PRIVS "PRIVS" +#define TOK_PRIVS "PR" +#define CMD_PRIVS MSG_PRIVS, TOK_PRIVS + +#define MSG_CAP "CAP" +#define TOK_CAP "CAP" +#define CMD_CAP MSG_CAP, TOK_CAP + +#define MSG_XQUERY "XQUERY" +#define TOK_XQUERY "XQ" +#define CMD_XQUERY MSG_XQUERY, TOK_XQUERY + +#define MSG_XREPLY "XREPLY" +#define TOK_XREPLY "XR" +#define CMD_XREPLY MSG_XREPLY, TOK_XREPLY /* * Constants */ -#define MFLG_SLOW 0x01 /* Command can be executed roughly * - * once per 2 seconds. */ -#define MFLG_UNREG 0x02 /* Command available to unregistered * - * clients. */ -#define MFLG_IGNORE 0x04 /* silently ignore command from - * unregistered clients */ +#define MFLG_SLOW 0x01 /** Limit command usage to + * once per 2 seconds (for + * local users). */ +#define MFLG_UNREG 0x02 /** Command available to + * unregistered clients. */ +#define MFLG_IGNORE 0x04 /** Silently ignore command from + * unregistered clients. */ +#define MFLG_EXTRA 0x08 /** Handler requests that + * mptr->extra be passed in + * parv[1]. */ /* * Structures */ + +/** Information on how to parse a message. */ struct Message { - char *cmd; /* command string */ - char *tok; /* token (shorter command string) */ - unsigned int count; /* number of times message used */ - unsigned int parameters; - 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 bytes; /* bytes received for this message */ + char *cmd; /**< command string */ + char *tok; /**< token (shorter command string) */ + unsigned int count; /**< number of times message used */ + unsigned int parameters; /**< minimum number of parameters */ + unsigned int flags; /**< MFLG_* flags for command */ + unsigned int bytes; /**< bytes received for this message */ + void *extra; /**< extra pointer to be passed in parv[1] */ /* * cptr = Connected client ptr * sptr = Source client ptr