56 |
|
CAN_SEND_OPV = -2 |
57 |
|
}; |
58 |
|
|
59 |
– |
|
59 |
|
/* Channel related flags */ |
60 |
< |
#define CHFL_CHANOP 0x0001U /* Channel operator */ |
61 |
< |
#define CHFL_HALFOP 0x0002U /* Channel half op */ |
62 |
< |
#define CHFL_VOICE 0x0004U /* the power to speak */ |
63 |
< |
#define CHFL_BAN 0x0008U /* ban channel flag */ |
64 |
< |
#define CHFL_EXCEPTION 0x0010U /* exception to ban channel flag */ |
65 |
< |
#define CHFL_INVEX 0x0020U |
60 |
> |
enum |
61 |
> |
{ |
62 |
> |
CHFL_CHANOP = 0x00000001U, /* Channel operator */ |
63 |
> |
CHFL_HALFOP = 0x00000002U, /* Channel half op */ |
64 |
> |
CHFL_VOICE = 0x00000004U, /* the power to speak */ |
65 |
> |
CHFL_BAN = 0x00000008U, /* ban channel flag */ |
66 |
> |
CHFL_EXCEPTION = 0x00000010U, /* exception to ban channel flag */ |
67 |
> |
CHFL_INVEX = 0x00000020U, |
68 |
> |
/* Cache flags for silence on ban */ |
69 |
> |
CHFL_BAN_CHECKED = 0x00000040U, |
70 |
> |
CHFL_BAN_SILENCED = 0x00000080U |
71 |
> |
}; |
72 |
|
|
73 |
|
/* channel modes ONLY */ |
74 |
< |
#define MODE_PRIVATE 0x0001U /**< */ |
75 |
< |
#define MODE_SECRET 0x0002U /**< Channel does not show up on NAMES or LIST */ |
76 |
< |
#define MODE_MODERATED 0x0004U /**< Users without +v/+h/+o cannot send text to the channel */ |
77 |
< |
#define MODE_TOPICLIMIT 0x0008U /**< Only chanops can change the topic */ |
78 |
< |
#define MODE_INVITEONLY 0x0010U /**< Only invited users may join this channel */ |
79 |
< |
#define MODE_NOPRIVMSGS 0x0020U /**< Users must be in the channel to send text to it */ |
80 |
< |
#define MODE_SSLONLY 0x0040U /**< Prevents anyone who isn't connected via SSL/TLS from joining the channel */ |
81 |
< |
#define MODE_OPERONLY 0x0080U /**< Prevents anyone who hasn't obtained IRC operator status from joining the channel */ |
82 |
< |
#define MODE_REGISTERED 0x0100U /**< Channel has been registered with ChanServ */ |
83 |
< |
#define MODE_REGONLY 0x0200U /**< Only registered clients may join a channel with that mode set */ |
84 |
< |
#define MODE_NOCTRL 0x0400U /**< Prevents users from sending messages containing control codes to the channel */ |
85 |
< |
#define MODE_MODREG 0x0800U /**< Unregistered/unidentified clients cannot send text to the channel */ |
86 |
< |
#define MODE_NOCTCP 0x1000U /**< Clients cannot send CTCP messages to the channel */ |
87 |
< |
|
88 |
< |
/* cache flags for silence on ban */ |
89 |
< |
#define CHFL_BAN_CHECKED 0x0080U |
85 |
< |
#define CHFL_BAN_SILENCED 0x0100U |
74 |
> |
enum |
75 |
> |
{ |
76 |
> |
MODE_PRIVATE = 0x00000001U, /**< */ |
77 |
> |
MODE_SECRET = 0x00000002U, /**< Channel does not show up on NAMES or LIST */ |
78 |
> |
MODE_MODERATED = 0x00000004U, /**< Users without +v/+h/+o cannot send text to the channel */ |
79 |
> |
MODE_TOPICLIMIT = 0x00000008U, /**< Only chanops can change the topic */ |
80 |
> |
MODE_INVITEONLY = 0x00000010U, /**< Only invited users may join this channel */ |
81 |
> |
MODE_NOPRIVMSGS = 0x00000020U, /**< Users must be in the channel to send text to it */ |
82 |
> |
MODE_SSLONLY = 0x00000040U, /**< Prevents anyone who isn't connected via SSL/TLS from joining the channel */ |
83 |
> |
MODE_OPERONLY = 0x00000080U, /**< Prevents anyone who hasn't obtained IRC operator status from joining the channel */ |
84 |
> |
MODE_REGISTERED = 0x00000100U, /**< Channel has been registered with ChanServ */ |
85 |
> |
MODE_REGONLY = 0x00000200U, /**< Only registered clients may join a channel with that mode set */ |
86 |
> |
MODE_NOCTRL = 0x00000400U, /**< Prevents users from sending messages containing control codes to the channel */ |
87 |
> |
MODE_MODREG = 0x00000800U, /**< Unregistered/unidentified clients cannot send text to the channel */ |
88 |
> |
MODE_NOCTCP = 0x00001000U /**< Clients cannot send CTCP messages to the channel */ |
89 |
> |
}; |
90 |
|
|
91 |
|
/* name invisible */ |
92 |
|
#define SecretChannel(x) (((x)->mode.mode & MODE_SECRET)) |