ac6b56a7a45a09ebc3f5d9d48cf965a70ba8f1f3
[silc.git] / lib / silcclient / client_channel.h
1 /*
2
3   client_channel.h
4
5   Author: Pekka Riikonen <priikone@silcnet.org>
6
7   Copyright (C) 2006 Pekka Riikonen
8
9   This program is free software; you can redistribute it and/or modify
10   it under the terms of the GNU General Public License as published by
11   the Free Software Foundation; version 2 of the License.
12
13   This program is distributed in the hope that it will be useful,
14   but WITHOUT ANY WARRANTY; without even the implied warranty of
15   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16   GNU General Public License for more details.
17
18 */
19
20 #ifndef CLIENT_CHANNEL_H
21 #define CLIENT_CHANNEL_H
22
23 SILC_FSM_STATE(silc_client_channel_message);
24 SILC_FSM_STATE(silc_client_channel_message_error);
25 SILC_FSM_STATE(silc_client_channel_key);
26
27 SilcBool silc_client_save_channel_key(SilcClient client,
28                                       SilcClientConnection conn,
29                                       SilcBuffer key_payload,
30                                       SilcChannelEntry channel);
31 SilcChannelUser silc_client_on_channel(SilcChannelEntry channel,
32                                        SilcClientEntry client_entry);
33 SilcBool silc_client_add_to_channel(SilcChannelEntry channel,
34                                     SilcClientEntry client_entry,
35                                     SilcUInt32 cumode);
36 SilcBool silc_client_remove_from_channel(SilcChannelEntry channel,
37                                          SilcClientEntry client_entry);
38 void silc_client_remove_from_channels(SilcClient client,
39                                       SilcClientConnection conn,
40                                       SilcClientEntry client_entry);
41
42 #endif /* CLIENT_CHANNEL_H */