2004-05-09 Michael Poole <mdpoole@troilus.org>
[ircu2.10.12-pk.git] / include / s_conf.h
index 14f6df61f1afed936393b36f5a7f6a9f8a06d639..ff9a007a4a522db2b1570abd4cddef62fb19dbc7 100644 (file)
@@ -22,6 +22,7 @@
 struct Client;
 struct SLink;
 struct TRecord;
+struct Message;
 
 
 /*
@@ -66,6 +67,8 @@ struct ConfItem
   unsigned short port;
   unsigned char bits; /* Number of bits for ipkills. */
   struct Privs privs; /* Priviledges for opers. */
+  /* Used to detect if a privilege has been touched. */
+  struct Privs privs_dirty;
 };
 
 struct ServerConf {
@@ -81,6 +84,13 @@ struct ServerConf {
   struct ConnectionClass*  conn_class;
 };
 
+struct qline
+{
+  struct qline *next;
+  char *chname;
+  char *reason;
+};
+
 struct DenyConf {
   struct DenyConf*    next;
   char*               hostmask;
@@ -151,6 +161,21 @@ enum AuthorizationCheckResult {
   ACR_BAD_SOCKET
 };
 
+struct nick_host {
+  struct nick_host *next;
+  int nicklen; /* offset of @ part of server string */
+  char nick[1]; /* start of nick@server string */
+};
+
+struct s_map {
+  struct s_map *next;
+  struct Message *msg;
+  char *name;
+  char *command;
+  char *prepend;
+  struct nick_host *services;
+};
+
 
 /*
  * GLOBALS
@@ -161,6 +186,8 @@ extern struct tm        motd_tm;
 extern struct MotdItem* motd;
 extern struct MotdItem* rmotd;
 extern struct TRecord*  tdata;
+extern struct s_map*    GlobalServiceMapList;
+extern struct qline*    GlobalQuarantineList;
 
 /*
  * Proto types
@@ -192,8 +219,8 @@ extern void read_tlines(void);
 extern int find_kill(struct Client *cptr);
 extern int find_restrict(struct Client *cptr);
 extern struct MotdItem* read_motd(const char* motdfile);
-
-extern void set_initial_oper_privs(struct ConfItem *oper, int flags);
+extern const char *find_quarantine(const char* chname);
+extern void lookup_confhost(struct ConfItem *aconf);
 
 extern void yyerror(const char *msg);