struct LocalUser;
struct AuthRequest;
struct PreClient;
+struct ListClient;
struct scache_entry;
/*
struct Client *servptr; /* Points to server this Client is on */
struct Client *from; /* == self, if Local Client, *NEVER* NULL! */
- struct Whowas *whowas; /* Pointers to whowas structs */
+ rb_dlink_list whowas_clist;
+
time_t tsinfo; /* TS on the nick, SVINFO on server */
unsigned int umodes; /* opers, normal users subset */
unsigned int flags; /* client flags */
time_t ratelimit;
unsigned int join_who_credits;
+ struct ListClient *safelist_data;
+
char *mangledhost; /* non-NULL if host mangling module loaded and
applicable to this client */
struct rb_sockaddr_storage lip; /* address of our side of the connection */
};
+struct ListClient
+{
+ char *chname;
+ unsigned int users_min, users_max;
+ time_t created_min, created_max, topic_min, topic_max;
+ int operspy;
+};
+
/*
* status macros.
*/
/* overflow flags */
/* EARLIER FLAGS ARE IN s_newconf.h */
+#define FLAGS2_EXTENDCHANS 0x00200000
#define FLAGS2_EXEMPTRESV 0x00400000
#define FLAGS2_EXEMPTKLINE 0x00800000
#define FLAGS2_EXEMPTFLOOD 0x01000000
#define SetExemptResv(x) ((x)->flags2 |= FLAGS2_EXEMPTRESV)
#define IsIPSpoof(x) ((x)->flags2 & FLAGS2_IP_SPOOFING)
#define SetIPSpoof(x) ((x)->flags2 |= FLAGS2_IP_SPOOFING)
+#define IsExtendChans(x) ((x)->flags2 & FLAGS2_EXTENDCHANS)
+#define SetExtendChans(x) ((x)->flags2 |= FLAGS2_EXTENDCHANS)
/* for local users: flood grace period is over
* for servers: mentioned in networknotice.c notice