X-Git-Url: https://jfr.im/git/irc/evilnet/x3.git/blobdiff_plain/4048352eaa2f9ddf8740accaa1b5c38156d25ea1..51db18e02060ffaee80af608346df7bf66007e8e:/src/chanserv.h diff --git a/src/chanserv.h b/src/chanserv.h index 03fa291..3b721c2 100644 --- a/src/chanserv.h +++ b/src/chanserv.h @@ -1,7 +1,7 @@ /* chanserv.h - Channel service bot * Copyright 2000-2004 srvx Development Team * - * This file is part of srvx. + * This file is part of x3. * * srvx is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -25,6 +25,7 @@ enum UL_ALIASES { UL_PEON = 100, + UL_HALFOP = 150, UL_OP = 200, UL_MANAGER = 300, UL_PRESENT = UL_MANAGER, @@ -35,8 +36,10 @@ enum UL_ALIASES { enum levelOption { lvlGiveVoice, + lvlGiveHalfOps, lvlGiveOps, lvlEnfOps, + lvlEnfHalfOps, lvlEnfModes, lvlEnfTopic, lvlPubCmd, @@ -60,18 +63,21 @@ enum charOption { #define CHANNEL_SUSPENDED 0x00000002 /* (1 << 1) */ #define CHANNEL_INFO_LINES 0x00000004 /* (1 << 2) - DEPRECATED */ #define CHANNEL_VOICE_ALL 0x00000008 /* (1 << 3) - DEPRECATED */ + /* No longer used. */ /* (1 << 4) */ #define CHANNEL_DYNAMIC_LIMIT 0x00000020 /* (1 << 5) */ #define CHANNEL_TOPIC_SNARF 0x00000040 /* (1 << 6) - DEPRECATED */ #define CHANNEL_PEON_INVITE 0x00000080 /* (1 << 7) - DEPRECATED */ #define CHANNEL_OFFCHANNEL 0x00000100 /* (1 << 8) */ +#define CHANNEL_HOP_ALL 0x00000200 /* (1 << 9) */ + /* Flags with values over 0x20000000 or (1 << 29) will not work * because chanData.flags is a 30-bit field. */ #define IsProtected(x) ((x)->flags & CHANNEL_NODELETE) #define IsSuspended(x) ((x)->flags & CHANNEL_SUSPENDED) -#define IsOffChannel(x) ((x)->flags & CHANNEL_OFFCHANNEL) +#define IsOffChannel(x) (((x)->flags & CHANNEL_OFFCHANNEL) && (off_channel > 1)) struct chanData { @@ -81,6 +87,7 @@ struct chanData time_t registered; time_t visited; time_t limitAdjusted; + time_t ownerTransfer; char *topic; char *greeting; @@ -173,4 +180,6 @@ unsigned short user_level_from_name(const char *name, unsigned short clamp_level struct do_not_register *chanserv_is_dnr(const char *chan_name, struct handle_info *handle); int check_user_level(struct chanNode *channel, struct userNode *user, enum levelOption opt, int allow_override, int exempt_owner); +void do_math(char *Buffer, char *Math); + #endif