summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/extern.h5
-rw-r--r--include/services.h11
-rw-r--r--include/solidircd.h78
-rw-r--r--include/sysconf.h.in6
4 files changed, 96 insertions, 4 deletions
diff --git a/include/extern.h b/include/extern.h
index 31b37a8cf..a3e6da887 100644
--- a/include/extern.h
+++ b/include/extern.h
@@ -609,6 +609,8 @@ E time_t start_time;
E void save_databases(void);
E void expire_all(void);
+E void do_backtrace(void);
+E void sighandler(int signum);
/**** memory.c ****/
@@ -871,7 +873,8 @@ E void disconn(int s);
E User *userlist[1024];
-E int32 usercnt, opcnt, maxusercnt;
+E int32 usercnt, opcnt;
+E uint32 maxusercnt;
E time_t maxusertime;
E void delete_user(User *user);
diff --git a/include/services.h b/include/services.h
index 9002789ae..2d6aae05f 100644
--- a/include/services.h
+++ b/include/services.h
@@ -50,6 +50,10 @@
#include <sys/types.h>
#include <sys/time.h>
+#ifdef HAVE_BACKTRACE
+#include <execinfo.h>
+#endif
+
#ifdef USE_RDB
# define MAX_SQL_BUF 4096
#endif
@@ -171,6 +175,7 @@ typedef enum { false, true } boolean;
#include "ultimate3.h"
#include "dreamforge.h"
#include "unreal32.h"
+#include "solidircd.h"
typedef struct ircdvars_ IRCDVar;
typedef struct ircdcapab_ IRCDCAPAB;
@@ -372,7 +377,7 @@ struct nickcore_ {
char *greet; /* Greet associated to the nick */
uint32 icq; /* ICQ # associated to the nick */
char *url; /* URL associated to the nick */
- int32 flags; /* See NI_* below */
+ uint32 flags; /* See NI_* below */
uint16 language; /* Language selected by nickname owner (LANG_*) */
int16 accesscount; /* # of entries */
char **access; /* Array of strings */
@@ -899,7 +904,7 @@ struct hostcore_ {
struct newsitem_ {
int16 type;
- int32 num; /* Numbering is separate for login and oper news */
+ uint32 num; /* Numbering is separate for login and oper news */
char *text;
char who[NICKMAX];
time_t time;
@@ -968,7 +973,7 @@ struct hostcache_ {
/* Memo Flags */
#define MF_UNREAD 0x0001 /* Memo has not yet been read */
#define MF_RECEIPT 0x0002 /* Sender requested receipt */
-
+#define MF_NOTIFYS 0x0004 /* Memo is a notification of receitp */
/* Nickname status flags: */
#define NS_VERBOTEN 0x0002 /* Nick may not be registered or used */
diff --git a/include/solidircd.h b/include/solidircd.h
new file mode 100644
index 000000000..6225885ea
--- /dev/null
+++ b/include/solidircd.h
@@ -0,0 +1,78 @@
+/* Bahamut functions
+ *
+ * (C) 2003 Anope Team
+ * Contact us at info@anope.org
+ *
+ * Please read COPYING and README for furhter details.
+ *
+ * Based on the original code of Epona by Lara.
+ * Based on the original code of Services by Andy Church.
+ *
+ *
+ */
+
+/*************************************************************************/
+
+#ifdef IRC_SOLID
+
+#define PROTECT_SET_MODE "+"
+#define PROTECT_UNSET_MODE "-"
+#define CS_CMD_PROTECT "PROTECT"
+#define CS_CMD_DEPROTECT "DEPROTECT"
+#define FANT_PROTECT_ADD "!protect"
+#define FANT_PROTECT_DEL "!deprotect"
+#define LEVEL_PROTECT_WORD "AUTOPROTECT"
+#define LEVELINFO_PROTECT_WORD "PROTECT"
+#define LEVELINFO_PROTECTME_WORD "PROTECTME"
+
+#define UMODE_a 0x00000001 /* umode +a - Services Admin */
+#define UMODE_h 0x00000002 /* umode +h - Helper */
+#define UMODE_i 0x00000004 /* umode +i - Invisible */
+#define UMODE_o 0x00000008 /* umode +o - Oper */
+#define UMODE_r 0x00000010 /* umode +r - registered nick */
+#define UMODE_w 0x00000020 /* umode +w - Get wallops */
+#define UMODE_A 0x00000040 /* umode +A - Server Admin */
+#define UMODE_x 0x00000080 /* umode +x - Squelch with notice */
+#define UMODE_X 0x00000100 /* umode +X - Squelch without notice */
+#define UMODE_F 0x00000200 /* umode +F - no cptr->since message rate throttle */
+#define UMODE_j 0x00000400 /* umode +j - client rejection notices */
+#define UMODE_K 0x00000800 /* umode +K - U: lined server kill messages */
+#define UMODE_O 0x00001000 /* umode +O - Local Oper */
+#define UMODE_s 0x00002000 /* umode +s - Server notices */
+#define UMODE_c 0x00004000 /* umode +c - Client connections/exits */
+#define UMODE_k 0x00008000 /* umode +k - Server kill messages */
+#define UMODE_f 0x00010000 /* umode +f - Server flood messages */
+#define UMODE_y 0x00020000 /* umode +y - Stats/links */
+#define UMODE_d 0x00040000 /* umode +d - Debug info */
+#define UMODE_g 0x00080000 /* umode +g - Globops */
+#define UMODE_b 0x00100000 /* umode +b - Chatops */
+#define UMODE_n 0x00200000 /* umode +n - Routing Notices */
+#define UMODE_m 0x00400000 /* umode +m - spambot notices */
+#define UMODE_e 0x00800000 /* umode +e - oper notices for the above +D */
+#define UMODE_D 0x01000000 /* umode +D - Hidden dccallow umode */
+#define UMODE_I 0x02000000 /* umode +I - invisible oper (masked) */
+#define UMODE_C 0x04000000 /* umode +C - conops */
+#define UMODE_v 0x10000000 /* umode +v - hostmasking */
+#define UMODE_H 0x20000000 /* umode +H - Oper Hiding */
+#define UMODE_z 0x40000000 /* umode +z - SSL */
+#define UMODE_R 0x80000000 /* umode +R - No non registered msgs */
+
+#define CMODE_i 0x00000001
+#define CMODE_m 0x00000002
+#define CMODE_n 0x00000004
+#define CMODE_p 0x00000008
+#define CMODE_s 0x00000010
+#define CMODE_t 0x00000020
+#define CMODE_k 0x00000040 /* These two used only by ChanServ */
+#define CMODE_l 0x00000080
+#define CMODE_R 0x00000100 /* Only identified users can join */
+#define CMODE_r 0x00000200 /* Set for all registered channels */
+#define CMODE_c 0x00000400 /* Colors can't be used */
+#define CMODE_M 0x00000800 /* Non-regged nicks can't send messages */
+#define CMODE_j 0x00001000 /* join throttle */
+#define CMODE_O 0x00008000 /* Only opers can join */
+
+#define DEFAULT_MLOCK CMODE_n | CMODE_t | CMODE_r
+
+#endif
+
diff --git a/include/sysconf.h.in b/include/sysconf.h.in
index 8d8a0e292..472075577 100644
--- a/include/sysconf.h.in
+++ b/include/sysconf.h.in
@@ -75,6 +75,9 @@
/* "" */
#undef HAVE_SYS_SELECT_H
+/* "" */
+#undef HAVE_BACKTRACE
+
/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
@@ -117,6 +120,9 @@
/* "First IRCD type" */
#undef IRC_VIAGRA
+/* "First IRCD type" */
+#undef IRC_SOLID
+
/* "Module dir" */
#undef MODULE_PATH