Added SILC Thread Queue API
[runtime.git] / lib / silcclient / command.h
1 /*
2
3   command.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 COMMAND_H
21 #define COMMAND_H
22
23 SILC_FSM_STATE(silc_client_command);
24 SILC_FSM_STATE(silc_client_command_whois);
25 SILC_FSM_STATE(silc_client_command_whowas);
26 SILC_FSM_STATE(silc_client_command_identify);
27 SILC_FSM_STATE(silc_client_command_nick);
28 SILC_FSM_STATE(silc_client_command_list);
29 SILC_FSM_STATE(silc_client_command_topic);
30 SILC_FSM_STATE(silc_client_command_invite);
31 SILC_FSM_STATE(silc_client_command_quit);
32 SILC_FSM_STATE(silc_client_command_kill);
33 SILC_FSM_STATE(silc_client_command_info);
34 SILC_FSM_STATE(silc_client_command_ping);
35 SILC_FSM_STATE(silc_client_command_oper);
36 SILC_FSM_STATE(silc_client_command_join);
37 SILC_FSM_STATE(silc_client_command_motd);
38 SILC_FSM_STATE(silc_client_command_umode);
39 SILC_FSM_STATE(silc_client_command_cmode);
40 SILC_FSM_STATE(silc_client_command_cumode);
41 SILC_FSM_STATE(silc_client_command_kick);
42 SILC_FSM_STATE(silc_client_command_ban);
43 SILC_FSM_STATE(silc_client_command_detach);
44 SILC_FSM_STATE(silc_client_command_watch);
45 SILC_FSM_STATE(silc_client_command_silcoper);
46 SILC_FSM_STATE(silc_client_command_leave);
47 SILC_FSM_STATE(silc_client_command_users);
48 SILC_FSM_STATE(silc_client_command_getkey);
49 SILC_FSM_STATE(silc_client_command_service);
50
51 SilcUInt16 silc_client_command_send_argv(SilcClient client,
52                                          SilcClientConnection conn,
53                                          SilcCommand command,
54                                          SilcClientCommandReply reply,
55                                          void *reply_context,
56                                          SilcUInt32 argc,
57                                          unsigned char **argv,
58                                          SilcUInt32 *argv_lens,
59                                          SilcUInt32 *argv_types);
60 void silc_client_commands_register(SilcClient client);
61 void silc_client_commands_unregister(SilcClient client);
62 SilcBool silc_client_command_called_dummy(SilcClient client,
63                                           SilcClientConnection conn,
64                                           SilcCommand command,
65                                           SilcStatus status,
66                                           SilcStatus error,
67                                           void *context,
68                                           va_list ap);
69 void silc_client_command_resolve_dummy(SilcClient client,
70                                        SilcClientConnection conn,
71                                        SilcStatus status,
72                                        SilcDList clients,
73                                        void *context);
74
75 #endif /* COMMAND_H */