X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=src%2Fchanserv.h;h=336671511d7159f576eca8772f711a366a18ddc1;hb=HEAD;hp=22fb7173c86ee88d90c5c77a4c7b19d3ccb62e9e;hpb=a1607b87da7b66314f864f272b9806f4b0fe8169;p=srvx.git diff --git a/src/chanserv.h b/src/chanserv.h index 22fb717..3366715 100644 --- a/src/chanserv.h +++ b/src/chanserv.h @@ -67,6 +67,7 @@ enum charOption { #define CHANNEL_PEON_INVITE 0x00000080 /* (1 << 7) - DEPRECATED */ #define CHANNEL_OFFCHANNEL 0x00000100 /* (1 << 8) */ #define CHANNEL_UNREVIEWED 0x00000200 /* (1 << 9) */ +#define CHANNEL_ADVTOPIC 0x00000400 /* (1 << 10) */ /* Flags with values over 0x20000000 or (1 << 29) will not work * because chanData.flags is a 30-bit field. */ @@ -75,6 +76,8 @@ enum charOption { #define IsSuspended(x) ((x)->flags & CHANNEL_SUSPENDED) #define IsOffChannel(x) (((x)->flags & CHANNEL_OFFCHANNEL) && (off_channel > 1)) +#define MAXADVTOPICENTRIES 9 + struct chanData { struct chanNode *channel; @@ -106,10 +109,13 @@ struct chanData unsigned short lvlOpts[NUM_LEVEL_OPTIONS]; unsigned char chOpts[NUM_CHAR_OPTIONS]; + char *advtopic[MAXADVTOPICENTRIES]; + struct userData *users; struct banData *bans; struct dict *notes; struct suspended *suspended; + struct giveownership *giveownership; struct chanData *prev; struct chanData *next; }; @@ -130,6 +136,7 @@ struct userData char *info; unsigned long seen; + time_t expires; /* suspend */ unsigned short access; unsigned int present : 1; unsigned int flags : USER_FLAGS_SIZE; @@ -180,6 +187,21 @@ struct vote_option unsigned int voted; }; +struct giveownership +{ + char *staff_issuer; + + char *old_owner; + + char *target; + unsigned short target_access; + + time_t issued; + char *reason; + + struct giveownership *previous; +}; + struct do_not_register { char chan_name[CHANNELLEN+1];