X-Git-Url: https://jfr.im/git/solanum.git/blobdiff_plain/55abcbb20aeabcf2e878a9c65c9697210dd10079..e241d7979cf8c251efbb66523b41e104804fd27c:/include/s_serv.h?ds=sidebyside diff --git a/include/s_serv.h b/include/s_serv.h index 16900753..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" /* @@ -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