diff options
Diffstat (limited to 'ircd.h')
| -rw-r--r-- | ircd.h | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/ircd.h b/ircd.h index 29457d8..931948b 100644 --- a/ircd.h +++ b/ircd.h @@ -61,6 +61,13 @@ struct Peer time_t last, ping; }; +struct ChannelModeParam +{ + char *param; + int set; + char mode; +}; + struct Channel { enum { GLOBAL, LOCAL, MODELESS, SAFE } type; @@ -72,7 +79,11 @@ struct Channel BIT(CHANNEL_VOICE), } modes; } peers[CHANNEL_PEERS_MAX]; - size_t modes_c, peers_c; + size_t peers_c; + enum ChannelMode + { + BIT(CHANNEL_SECRET), + } modes; }; struct Oper @@ -101,6 +112,7 @@ void user_remove(size_t pid); int channel_join(struct Channel *channel, struct Peer *peer); int channel_exit(struct Channel *channel, struct Peer *peer); +const struct ChannelModeParam *channel_modes_parse(const struct Message *msg); void channel_remove(size_t cid); int parse_message(char *buf, struct Message *msg); |