Added SILC Thread Queue API
[crypto.git] / lib / silcclient / client_entry.h
1 /*
2
3   client_entry.h
4
5   Author: Pekka Riikonen <priikone@silcnet.org>
6
7   Copyright (C) 2006 - 2007 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_ENTRY_H
21 #define CLIENT_ENTRY_H
22
23 SilcClientEntry silc_client_add_client(SilcClient client,
24                                        SilcClientConnection conn,
25                                        char *nickname, char *username,
26                                        char *userinfo, SilcClientID *id,
27                                        SilcUInt32 mode);
28 void silc_client_update_client(SilcClient client,
29                                SilcClientConnection conn,
30                                SilcClientEntry client_entry,
31                                const char *nickname,
32                                const char *username,
33                                const char *userinfo,
34                                SilcUInt32 mode);
35 SilcBool silc_client_change_nickname(SilcClient client,
36                                      SilcClientConnection conn,
37                                      SilcClientEntry client_entry,
38                                      const char *new_nick,
39                                      SilcClientID *new_id,
40                                      const unsigned char *idp,
41                                      SilcUInt32 idp_len);
42 void silc_client_del_client_entry(SilcClient client,
43                                   SilcClientConnection conn,
44                                   SilcClientEntry client_entry);
45 SilcBool silc_client_del_client(SilcClient client, SilcClientConnection conn,
46                                 SilcClientEntry client_entry);
47 SilcClientEntry silc_client_get_client(SilcClient client,
48                                        SilcClientConnection conn,
49                                        SilcClientID *client_id);
50 SilcChannelEntry silc_client_add_channel(SilcClient client,
51                                          SilcClientConnection conn,
52                                          const char *channel_name,
53                                          SilcUInt32 mode,
54                                          SilcChannelID *channel_id);
55 SilcBool silc_client_del_channel(SilcClient client, SilcClientConnection conn,
56                                  SilcChannelEntry channel);
57 SilcBool silc_client_replace_channel_id(SilcClient client,
58                                         SilcClientConnection conn,
59                                         SilcChannelEntry channel,
60                                         SilcChannelID *new_id);
61 SilcServerEntry silc_client_add_server(SilcClient client,
62                                        SilcClientConnection conn,
63                                        const char *server_name,
64                                        const char *server_info,
65                                        SilcServerID *server_id);
66 void silc_client_update_server(SilcClient client,
67                                SilcClientConnection conn,
68                                SilcServerEntry server_entry,
69                                const char *server_name,
70                                const char *server_info);
71 SilcBool silc_client_del_server(SilcClient client, SilcClientConnection conn,
72                                 SilcServerEntry server);
73 SilcUInt16 silc_client_get_clients_by_list(SilcClient client,
74                                            SilcClientConnection conn,
75                                            SilcUInt32 list_count,
76                                            SilcBuffer client_id_list,
77                                            SilcGetClientCallback completion,
78                                            void *context);
79
80 #endif /* CLIENT_ENTRY_H */