* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
* USA
- *
- * $Id: client.h 3446 2007-05-14 22:21:16Z jilles $
*/
#ifndef INCLUDED_client_h
#define INCLUDED_client_h
-#include "config.h"
-
-#if !defined(CONFIG_RATBOX_LEVEL_1)
-#error Incorrect config.h for this revision of ircd.
-#endif
+#include "defaults.h"
#include "ircd_defs.h"
#include "channel.h"
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.
*/
#define FLAGS_TGCHANGE 0x400000 /* we're allowed to clear something */
#define FLAGS_DYNSPOOF 0x800000 /* dynamic spoof, only opers see ip */
#define FLAGS_TGEXCESSIVE 0x1000000 /* whether the client has attemped to change targets excessively fast */
+#define FLAGS_CLICAP_DATA 0x2000000 /* requested CAP LS 302 */
/* flags for local clients, this needs stuff moved from above to here at some point */
#define LFLAGS_SSL 0x00000001
UMODE_WALLOP | UMODE_LOCOPS)
#define DEFAULT_OPER_SNOMASK SNO_GENERAL
-#define CLICAP_MULTI_PREFIX 0x0001
-#define CLICAP_SASL 0x0002
-#define CLICAP_ACCOUNT_NOTIFY 0x0004
-#define CLICAP_EXTENDED_JOIN 0x0008
-#define CLICAP_AWAY_NOTIFY 0x0010
-#define CLICAP_TLS 0x0020
-#define CLICAP_USERHOST_IN_NAMES 0x0040
-#define CLICAP_CAP_NOTIFY 0x0080
-#define CLICAP_CHGHOST 0x0100
-
/*
* flags macros.
*/