X-Git-Url: https://jfr.im/git/solanum.git/blobdiff_plain/346fba9252bbbbfc02220a066a018f2a5a501f60..b2ee72e4487d9ec90ff64f63d8f8c3974d96bc5c:/include/s_serv.h diff --git a/include/s_serv.h b/include/s_serv.h index bf733bcb..6808c37e 100644 --- a/include/s_serv.h +++ b/include/s_serv.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: s_serv.h 1863 2006-08-27 13:40:37Z jilles $ */ #ifndef INCLUDED_serv_h #define INCLUDED_serv_h -#include "config.h" +#include "defaults.h" #include "capability.h" /* @@ -39,7 +37,7 @@ /* * number of seconds to wait after server starts up, before * starting try_connections() - * TOO SOON and you can nick collide like crazy. + * TOO SOON and you can nick collide like crazy. */ #define STARTUP_CONNECTIONS_TIME 60 @@ -49,6 +47,27 @@ struct Channel; /* Capabilities */ extern struct CapabilityIndex *serv_capindex; +extern struct CapabilityIndex *cli_capindex; + +/* register client capabilities with this structure for 3.2 enhanced capability negotiation */ +#define CLICAP_FLAGS_STICKY 0x001 +#define CLICAP_FLAGS_REQACK 0x002 + +struct ClientCapability { + bool (*visible)(struct Client *); /* whether or not to display the capability. set to NULL or true return value = displayed */ + const char *(*data)(struct Client *); /* any custom data for the capability. set to NULL or return NULL = no data */ + unsigned int flags; +}; + +/* builtin client capabilities */ +extern unsigned int CLICAP_MULTI_PREFIX; +extern unsigned int CLICAP_ACCOUNT_NOTIFY; +extern unsigned int CLICAP_EXTENDED_JOIN; +extern unsigned int CLICAP_AWAY_NOTIFY; +extern unsigned int CLICAP_USERHOST_IN_NAMES; +extern unsigned int CLICAP_CAP_NOTIFY; +extern unsigned int CLICAP_CHGHOST; +extern unsigned int CLICAP_ECHO_MESSAGE; /* * XXX: this is kind of ugly, but this allows us to have backwards @@ -105,7 +124,7 @@ extern int MaxConnectionCount; /* GLOBAL - highest number of connections */ extern int refresh_user_links; /* - * return values for hunt_server() + * return values for hunt_server() */ #define HUNTED_NOSUCH (-1) /* if the hunted server is not found */ #define HUNTED_ISME 0 /* if this server should execute the command */