]> jfr.im git - solanum.git/blobdiff - include/ircd_defs.h
global masktrace doesn't need to be an operspy action
[solanum.git] / include / ircd_defs.h
index 686cea487c4d1b311698d601d4bcfdcce6722eee..b89d7f8506da8a00b782e151b9292f7f6cdd384d 100644 (file)
@@ -1,5 +1,5 @@
 /*
- *  charybdis: An advanced IRCd.
+ *  solanum: An advanced IRCd.
  *  ircd_defs.h: A header for ircd global definitions.
  *
  *  Copyright (C) 1990 Jarkko Oikarinen and University of Oulu, Co Center
  *  along with this program; if not, write to the Free Software
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
- *
- *  $Id: ircd_defs.h 3512 2007-06-06 16:20:40Z nenolod $
  */
 
 /*
  * NOTE: NICKLEN and TOPICLEN do not live here anymore. Set it with configure
- * Otherwise there are no user servicable part here. 
- *
+ * Otherwise there are no user servicable part here.
  */
 
 /* ircd_defs.h - Global size definitions for record entries used
@@ -38,7 +35,7 @@
 #ifndef INCLUDED_ircd_defs_h
 #define INCLUDED_ircd_defs_h
 
-#include "config.h"
+#include "defaults.h"
 
 /* For those unfamiliar with GNU format attributes, a is the 1 based
  * argument number of the format string, and b is the 1 based argument
 #define IRC_DEPRECATED
 #endif
 
-#include "logger.h"
-#include "send.h"
-
-#ifdef SOFT_ASSERT
-#ifdef __GNUC__
-#define s_assert(expr) do                                                              \
-                       if(!(expr)) {                                                   \
-                               ilog(L_MAIN,                                            \
-                               "file: %s line: %d (%s): Assertion failed: (%s)",       \
-                               __FILE__, __LINE__, __PRETTY_FUNCTION__, #expr);        \
-                               sendto_realops_snomask(SNO_GENERAL, L_ALL,                      \
-                               "file: %s line: %d (%s): Assertion failed: (%s)",       \
-                               __FILE__, __LINE__, __PRETTY_FUNCTION__, #expr);        \
-                       }                                                               \
-                       while(0)
-#else
-#define s_assert(expr) do                                                              \
-                       if(!(expr)) {                                                   \
-                               ilog(L_MAIN,                                            \
-                               "file: %s line: %d: Assertion failed: (%s)",            \
-                               __FILE__, __LINE__, #expr);                             \
-                               sendto_realops_snomask(SNO_GENERAL, L_ALL,                      \
-                               "file: %s line: %d: Assertion failed: (%s)"             \
-                               __FILE__, __LINE__, #expr);                             \
-                       }                                                               \
-                       while(0)
-#endif
-#else
-#define s_assert(expr) assert(expr)
+#ifndef MAX
+#define MAX(a, b)      ((a) > (b) ? (a) : (b))
 #endif
 
-#if !defined(CONFIG_RATBOX_LEVEL_1)
-#  error Incorrect config.h for this revision of ircd.
+#ifndef MIN
+#define MIN(a, b)      ((a) < (b) ? (a) : (b))
 #endif
 
+#define ARRAY_SIZE(array)       (sizeof(array) / sizeof((array)[0]))
+
 #define HOSTLEN         63     /* Length of hostname.  Updated to         */
                                /* comply with RFC1123                     */
 
+/* Longest hostname we're willing to work with.
+ * Due to DNSBLs this is more than HOSTLEN.
+ */
+#define IRCD_RES_HOSTLEN 255
+
 #define USERLEN         10
 #define REALLEN         50
 #define CHANNELLEN      200
 
 /* 23+1 for \0 */
 #define KEYLEN          24
+#define TAGSLEN         512    /* IRCv3 message tags */
+#define DATALEN         510    /* RFC1459 message data */
 #define BUFSIZE         512    /* WARNING: *DONT* CHANGE THIS!!!! */
-#define MAXRECIPIENTS   20
-#define MAXBANLENGTH    1024
-#define OPERNICKLEN     NICKLEN*2      /* Length of OPERNICKs. */
+#define EXT_BUFSIZE     (TAGSLEN + DATALEN + 1)
+#define OPERNICKLEN     (NICKLEN*2)    /* Length of OPERNICKs. */
 
-#define USERHOST_REPLYLEN       (NICKLEN+HOSTLEN+USERLEN+5)
+#define NAMELEN                (MAX(NICKLEN, HOSTLEN))
+
+#define USERHOST_REPLYLEN       (NAMELEN+HOSTLEN+USERLEN+5)
 #define MAX_DATE_STRING 32     /* maximum string length for a date string */
 
 #define HELPLEN         400
 
-/* 
- * message return values 
+/*
+ * message return values
  */
 #define CLIENT_EXITED    -2
 #define CLIENT_PARSE_ERROR -1
 #define CLIENT_OK      1
 
-#ifdef RB_IPV6
 #ifndef AF_INET6
 #error "AF_INET6 not defined"
 #endif
 
-
-#else /* #ifdef RB_IPV6 */
-
-#ifndef AF_INET6
-#define AF_INET6 AF_MAX                /* Dummy AF_INET6 declaration */
-#endif
-#endif /* #ifdef RB_IPV6 */
-
-#ifdef RB_IPV6
 #define PATRICIA_BITS  128
-#else
-#define PATRICIA_BITS  32
-#endif
+
+/* Read buffer size */
+#define READBUF_SIZE 16384
 
 #endif /* INCLUDED_ircd_defs_h */