#include "channel.h"
#include "class.h"
#include "client.h"
+#include "gline.h"
#include "hash.h"
#include "ircd_alloc.h"
#include "ircd_features.h"
#include "ircd_osdep.h"
#include "ircd_reply.h"
#include "ircd.h"
+#include "jupe.h"
#include "list.h"
+#include "motd.h"
#include "msgq.h"
#include "numeric.h"
#include "numnicks.h"
#include "res.h"
#include "s_bsd.h"
#include "s_conf.h"
+#include "s_stats.h"
#include "send.h"
#include "struct.h"
#include "sys.h"
AddC('D');
#endif
- if (feature_bool(FEAT_LOCOP_REHASH))
- AddC('e');
-
- if (feature_bool(FEAT_OPER_REHASH))
- AddC('E');
-
- if (feature_bool(FEAT_OPER_NO_CHAN_LIMIT))
- AddC('F');
-
- if (feature_bool(FEAT_OPER_MODE_LCHAN))
- AddC('f');
-
if (feature_bool(FEAT_HUB))
AddC('H');
- if (feature_bool(FEAT_SHOW_ALL_INVISIBLE_USERS))
- AddC('I');
- else if (feature_bool(FEAT_SHOW_INVISIBLE_USERS))
- AddC('i');
-
- if (feature_bool(FEAT_OPER_KILL)) {
- if (feature_bool(FEAT_LOCAL_KILL_ONLY))
- AddC('k');
- else
- AddC('K');
- }
-
- if (feature_bool(FEAT_OPER_WALK_THROUGH_LMODES))
- AddC('l');
-
if (feature_bool(FEAT_IDLE_FROM_MSG))
AddC('M');
- if (feature_bool(FEAT_NO_OPER_DEOP_LCHAN))
- AddC('o');
-
- if (feature_bool(FEAT_CRYPT_OPER_PASSWORD))
- AddC('p');
-
if (feature_bool(FEAT_RELIABLE_CLOCK))
AddC('R');
- if (feature_bool(FEAT_LOCOP_RESTART))
- AddC('s');
-
- if (feature_bool(FEAT_OPER_RESTART))
- AddC('S');
-
#if defined(USE_POLL) && defined(HAVE_POLL_H)
AddC('U');
#endif
totww = wwu * sizeof(struct User) + wwam + wwm;
+ motd_memory_count(cptr);
+
+ gl = gline_memory_count(&glm);
+ ju = jupe_memory_count(&jum);
+ send_reply(cptr, SND_EXPLICIT | RPL_STATSDEBUG,
+ ":Glines %d(%zu) Jupes %d(%zu)", gl, glm, ju, jum);
+
send_reply(cptr, SND_EXPLICIT | RPL_STATSDEBUG,
":Hash: client %d(%zu), chan is the same", HASHSIZE,
sizeof(void *) * HASHSIZE);
":DBufs allocated %d(%zu) used %d(%zu)", DBufAllocCount,
dbufs_allocated, DBufUsedCount, dbufs_used);
+ /* The DBuf caveats now count for this, but this routine now sends
+ * replies all on its own.
+ */
msgq_count_memory(cptr, &msg_allocated, &msgbuf_allocated);
rm = cres_mem(cptr);