X-Git-Url: https://jfr.im/git/irc/evilnet/x3.git/blobdiff_plain/d76ed9a966ee3d955c8ef00ecc02e643c2005e2e..30f7b947f03d97a3d526bbadb50b9dd71aba4117:/src/proto.h diff --git a/src/proto.h b/src/proto.h index d95144f..a6f03cd 100644 --- a/src/proto.h +++ b/src/proto.h @@ -1,7 +1,7 @@ /* proto.h - IRC protocol output * Copyright 2000-2004 srvx Development Team * - * This file is part of srvx. + * This file is part of x3. * * srvx is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -23,7 +23,7 @@ /* Warning for those looking at how this code does multi-protocol * support: It's an awful, nasty hack job. It is intended for short - * term use, not long term, since we are already developing srvx2, + * term use, not long term, since we are already developing x3, * which has much nicer interfaces that hide most of the ugly * differences between protocol dialects. */ @@ -150,7 +150,7 @@ void irc_stats(struct userNode *from, struct server *target, char type); void irc_svsnick(struct userNode *from, struct userNode *target, const char *newnick); /* account maintenance */ -void irc_account(struct userNode *user, const char *stamp); +void irc_account(struct userNode *user, const char *stamp, time_t timestamp); void irc_regnick(struct userNode *user); void irc_fakehost(struct userNode *user, const char *host); @@ -169,7 +169,7 @@ void irc_numeric(struct userNode *user, unsigned int num, const char *format, .. /* stuff originally from other headers that is really protocol-specific */ int IsChannelName(const char *name); int is_valid_nick(const char *nick); -struct userNode *AddService(const char *nick, const char *desc, const char *hostname); +struct userNode *AddService(const char *nick, const char *modes, const char *desc, const char *hostname); struct userNode *AddClone(const char *nick, const char *ident, const char *hostname, const char *desc); struct server* AddServer(struct server* uplink, const char *name, int hops, time_t boot, time_t link, const char *numeric, const char *description); void DelServer(struct server* serv, int announce, const char *message); @@ -199,12 +199,13 @@ struct mod_chanmode { union { struct modeNode *member; const char *hostmask; - }; + } u; } args[1]; }; #define MCP_ALLOW_OVB 0x0001 /* allow op, voice, ban manipulation */ #define MCP_FROM_SERVER 0x0002 /* parse as from a server */ #define MCP_KEY_FREE 0x0004 /* -k without a key argument */ +#define MCP_REGISTERED 0x0008 /* chan is already registered; do not allow changes to MODE_REGISTERED */ #define MC_ANNOUNCE 0x0100 /* send a mod_chanmode() change out */ #define MC_NOTIFY 0x0200 /* make local callbacks to announce */ #ifdef NDEBUG @@ -233,7 +234,7 @@ int irc_make_chanmode(struct chanNode *chan, char *out); #define GENMASK_USENICK 2 #define GENMASK_OMITNICK 4 /* Hurray for Kevin! */ #define GENMASK_BYIP 8 -#define GENMASK_SRVXMASK 16 +#define GENMASK_X3MASK 16 #define GENMASK_NO_HIDING 128 char *generate_hostmask(struct userNode *user, int options);