#define FLAGSET_SET(set, flag) (set).bits[FLAGSET_INDEX(flag)] |= FLAGSET_MASK(flag)
#define FLAGSET_CLEAR(set, flag) (set).bits[FLAGSET_INDEX(flag)] &= ~FLAGSET_MASK(flag)
+#define infousermodes "dioswkgx"
+
enum Priv
{
PRIV_CHAN_LIMIT, /* no channel limit on oper */
#define SetHiddenHost(x) SetFlag(x, FLAG_HIDDENHOST)
#define SetPingSent(x) SetFlag(x, FLAG_PINGSENT)
+#define SeeOper(sptr,acptr) (IsAnOper(acptr) && (HasPriv(acptr, PRIV_DISPLAY) \
+ || HasPriv(sptr, PRIV_SEE_OPERS)))
+
#define ClearAccess(x) ClrFlag(x, FLAG_CHKACCESS)
#define ClearBurst(x) ClrFlag(x, FLAG_BURST)
#define ClearBurstAck(x) ClrFlag(x, FLAG_BURST_ACK)
} ShowIPType;
extern const char* get_client_name(const struct Client* sptr, int showip);
+extern const char* client_get_default_umode(const struct Client* sptr);
extern int client_get_ping(const struct Client* local_client);
extern void client_drop_sendq(struct Connection* con);
extern void client_add_sendq(struct Connection* con,