]> jfr.im git - solanum.git/blobdiff - include/s_serv.h
Merge pull request #260 from FauxFaux/yesno-1
[solanum.git] / include / s_serv.h
index bf733bcb7993f52a4d8adcdb6848b3906c65016c..6808c37e9aa786befbd9cf94f869258986a5e3ae 100644 (file)
  *  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 */