X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=include%2Fircd_features.h;h=42c54ac94bf933fb2c2842aebc79206e76621070;hb=refs%2Fheads%2Fupstream;hp=024d4589464a23eec59b10cdf3e356de6670be11;hpb=8d4572b605cb3ba163465aae64269d62995ac8d1;p=ircu2.10.12-pk.git diff --git a/include/ircd_features.h b/include/ircd_features.h index 024d458..42c54ac 100644 --- a/include/ircd_features.h +++ b/include/ircd_features.h @@ -17,13 +17,20 @@ * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - * - * $Id$ + */ +/** @file + * @brief Public interfaces and declarations for dealing with configurable features. + * @version $Id$ */ struct Client; struct StatDesc; +extern struct Client his; + +/** Contains all feature settings for ircu. + * For documentation of each, see doc/readme.features. + */ enum Feature { /* Misc. features */ FEAT_LOG, @@ -47,25 +54,34 @@ enum Feature { FEAT_HOST_HIDING, FEAT_HIDDEN_HOST, FEAT_HIDDEN_IP, - FEAT_AUTOHIDE, FEAT_CONNEXIT_NOTICES, FEAT_OPLEVELS, + FEAT_ZANNELS, + FEAT_LOCAL_CHANNELS, + FEAT_TOPIC_BURST, + FEAT_DISABLE_GLINES, /* features that probably should not be touched */ FEAT_KILLCHASETIMELIMIT, FEAT_MAXCHANNELSPERUSER, + FEAT_NICKLEN, FEAT_AVBANLEN, FEAT_MAXBANS, FEAT_MAXSILES, FEAT_HANGONGOODLINK, FEAT_HANGONRETRYDELAY, FEAT_CONNECTTIMEOUT, - FEAT_TIMESEC, FEAT_MAXIMUM_LINKS, FEAT_PINGFREQUENCY, FEAT_CONNECTFREQUENCY, FEAT_DEFAULTMAXSENDQLENGTH, FEAT_GLINEMAXUSERCOUNT, + FEAT_SOCKSENDBUF, + FEAT_SOCKRECVBUF, + FEAT_IPCHECK_CLONE_LIMIT, + FEAT_IPCHECK_CLONE_PERIOD, + FEAT_IPCHECK_CLONE_DELAY, + FEAT_CHANNELLEN, /* Some misc. default paths */ FEAT_MPATH, @@ -73,84 +89,44 @@ enum Feature { FEAT_PPATH, /* Networking features */ - FEAT_VIRTUAL_HOST, FEAT_TOS_SERVER, FEAT_TOS_CLIENT, FEAT_POLLS_PER_LOOP, + FEAT_IRCD_RES_RETRIES, + FEAT_IRCD_RES_TIMEOUT, + FEAT_AUTH_TIMEOUT, + FEAT_ANNOUNCE_INVITES, /* features that affect all operators */ - FEAT_CRYPT_OPER_PASSWORD, - FEAT_OPER_NO_CHAN_LIMIT, - FEAT_OPER_MODE_LCHAN, - FEAT_OPER_WALK_THROUGH_LMODES, - FEAT_NO_OPER_DEOP_LCHAN, - FEAT_SHOW_INVISIBLE_USERS, - FEAT_SHOW_ALL_INVISIBLE_USERS, - FEAT_UNLIMIT_OPER_QUERY, - FEAT_LOCAL_KILL_ONLY, FEAT_CONFIG_OPERCMDS, - FEAT_LIST_CHAN, - - /* features that affect global opers on this server */ - FEAT_OPER_KILL, - FEAT_OPER_REHASH, - FEAT_OPER_RESTART, - FEAT_OPER_DIE, - FEAT_OPER_GLINE, - FEAT_OPER_LGLINE, - FEAT_OPER_JUPE, - FEAT_OPER_LJUPE, - FEAT_OPER_OPMODE, - FEAT_OPER_LOPMODE, - FEAT_OPER_FORCE_OPMODE, - FEAT_OPER_FORCE_LOPMODE, - FEAT_OPER_BADCHAN, - FEAT_OPER_LBADCHAN, - FEAT_OPER_SET, - FEAT_OPERS_SEE_IN_SECRET_CHANNELS, - FEAT_OPER_WIDE_GLINE, - FEAT_OPER_LIST_CHAN, - - /* features that affect local opers on this server */ - FEAT_LOCOP_KILL, - FEAT_LOCOP_REHASH, - FEAT_LOCOP_RESTART, - FEAT_LOCOP_DIE, - FEAT_LOCOP_LGLINE, - FEAT_LOCOP_LJUPE, - FEAT_LOCOP_LOPMODE, - FEAT_LOCOP_FORCE_LOPMODE, - FEAT_LOCOP_LBADCHAN, - FEAT_LOCOP_SET, - FEAT_LOCOP_SEE_IN_SECRET_CHANNELS, - FEAT_LOCOP_WIDE_GLINE, - FEAT_LOCOP_LIST_CHAN, /* HEAD_IN_SAND Features */ FEAT_HIS_SNOTICES, FEAT_HIS_SNOTICES_OPER_ONLY, - FEAT_HIS_DESYNCS, FEAT_HIS_DEBUG_OPER_ONLY, FEAT_HIS_WALLOPS, FEAT_HIS_MAP, FEAT_HIS_LINKS, FEAT_HIS_TRACE, - FEAT_HIS_STATS_l, + FEAT_HIS_STATS_a, FEAT_HIS_STATS_c, - FEAT_HIS_STATS_g, - FEAT_HIS_STATS_h, - FEAT_HIS_STATS_k, + FEAT_HIS_STATS_d, + FEAT_HIS_STATS_e, FEAT_HIS_STATS_f, + FEAT_HIS_STATS_g, FEAT_HIS_STATS_i, FEAT_HIS_STATS_j, + FEAT_HIS_STATS_J, + FEAT_HIS_STATS_k, + FEAT_HIS_STATS_l, + FEAT_HIS_STATS_L, FEAT_HIS_STATS_M, FEAT_HIS_STATS_m, FEAT_HIS_STATS_o, FEAT_HIS_STATS_p, FEAT_HIS_STATS_q, + FEAT_HIS_STATS_R, FEAT_HIS_STATS_r, - FEAT_HIS_STATS_d, - FEAT_HIS_STATS_e, FEAT_HIS_STATS_t, FEAT_HIS_STATS_T, FEAT_HIS_STATS_u, @@ -160,10 +136,13 @@ enum Feature { FEAT_HIS_STATS_x, FEAT_HIS_STATS_y, FEAT_HIS_STATS_z, + FEAT_HIS_STATS_IAUTH, FEAT_HIS_WHOIS_SERVERNAME, FEAT_HIS_WHOIS_IDLETIME, + FEAT_HIS_WHOIS_LOCALCHAN, FEAT_HIS_WHO_SERVERNAME, FEAT_HIS_WHO_HOPCOUNT, + FEAT_HIS_MODEWHO, FEAT_HIS_BANWHO, FEAT_HIS_KILLWHO, FEAT_HIS_REWRITE, @@ -176,6 +155,7 @@ enum Feature { /* Misc. random stuff */ FEAT_NETWORK, FEAT_URL_CLIENTS, + FEAT_URLREG, FEAT_LAST_F }; @@ -192,7 +172,7 @@ extern int feature_get(struct Client* from, const char* const* fields, extern void feature_unmark(void); extern void feature_mark(void); -extern void feature_report(struct Client* to, struct StatDesc* sd, int stat, +extern void feature_report(struct Client* to, const struct StatDesc* sd, char* param); extern int feature_int(enum Feature feat);