+/** Configuration item to limit peer or client access. */
+struct ConfItem
+{
+ struct ConfItem *next; /**< Next ConfItem in #GlobalConfList */
+ unsigned int status; /**< Set of CONF_* bits. */
+ unsigned int clients; /**< Number of *LOCAL* clients using this */
+ unsigned int maximum; /**< For CONF_SERVER, max hops.
+ For CONF_CLIENT, max connects per IP. */
+ struct ConnectionClass *conn_class; /**< Class of connection */
+ struct irc_sockaddr origin; /**< Local address for outbound connections */
+ struct irc_sockaddr address; /**< IP and port */
+ char *username; /**< For CONF_CLIENT and CONF_OPERATOR, username mask. */
+ char *host; /**< Peer hostname */
+ char *origin_name; /**< Text form of origin address */
+ char *passwd; /**< Password field */
+ char *name; /**< Name of peer */
+ char *hub_limit; /**< Mask that limits servers allowed behind
+ this one. */
+ time_t hold; /**< Earliest time to attempt an outbound
+ connect on this ConfItem. */
+ int dns_pending; /**< A dns request is pending. */
+ int usessl; /**< establish SSL connection */
+ int flags; /**< Additional modifiers for item. */
+ int addrbits; /**< Number of bits valid in ConfItem::address. */
+ struct Privs privs; /**< Privileges for opers. */
+ /** Used to detect if a privilege has been set by this ConfItem. */
+ struct Privs privs_dirty;
+};
+
+/** Channel quarantine structure. */
+struct qline
+{
+ struct qline *next; /**< Next qline in #GlobalQuarantineList. */
+ char *chname; /**< Quarantined channel name. */
+ char *reason; /**< Reason for quarantine. */
+};
+
+/** Local K-line structure. */
+struct DenyConf {
+ struct DenyConf* next; /**< Next DenyConf in #denyConfList. */
+ char* hostmask; /**< Mask for IP or hostname. */
+ char* message; /**< Message to send to denied users. */
+ char* usermask; /**< Mask for client's username. */
+ char* realmask; /**< Mask for realname. */
+ struct irc_in_addr address; /**< Address for IP-based denies. */
+ unsigned int flags; /**< Interpretation flags for the above. */
+ unsigned char bits; /**< Number of bits for ipkills */
+};
+
+#define DENY_FLAGS_FILE 0x0001 /**< Comment is a filename */
+
+/** Local server configuration. */
+struct LocalConf {
+ char* name; /**< Name of server. */
+ char* description; /**< Description of server. */
+ unsigned int numeric; /**< Globally assigned server numnick. */
+ char* location1; /**< First line of location information. */
+ char* location2; /**< Second line of location information. */
+ char* contact; /**< Admin contact information. */
+
+ char* sslcertfile; /**< SSL certificate file. */
+ char* sslkeyfile; /**< SSL private key file. */
+ char* sslcafile; /**< SSL CA file. */