Merged from silc_1_0_branch.
[silc.git] / apps / irssi / src / silc / core / client_ops.h
1 /*
2
3   client_ops.h
4
5   Author: Pekka Riikonen <priikone@poseidon.pspt.fi>
6
7   Copyright (C) 2001 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; either version 2 of the License, or
12   (at your option) any later version.
13   
14   This program is distributed in the hope that it will be useful,
15   but WITHOUT ANY WARRANTY; without even the implied warranty of
16   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17   GNU General Public License for more details.
18
19 */
20
21 #ifndef CLIENT_OPS_H
22 #define CLIENT_OPS_H
23
24 void silc_say(SilcClient client, SilcClientConnection conn, 
25               SilcClientMessageType type, char *msg, ...);
26 void silc_say_error(char *msg, ...);
27 void silc_channel_message(SilcClient client, SilcClientConnection conn,
28                           SilcClientEntry sender, 
29                           SilcChannelEntry channel, 
30                           SilcMessagePayload payload,
31                           SilcMessageFlags flags, 
32                           const unsigned char *message,
33                           SilcUInt32 message_len);
34 void silc_private_message(SilcClient client, SilcClientConnection conn,
35                           SilcClientEntry sender, 
36                           SilcMessagePayload payload,
37                           SilcMessageFlags flags, 
38                           const unsigned char *message,
39                           SilcUInt32 message_len);
40 void silc_notify(SilcClient client, SilcClientConnection conn, 
41                  SilcNotifyType type, ...);
42 void silc_command(SilcClient client, SilcClientConnection conn, 
43                   SilcClientCommandContext cmd_context, bool success,
44                   SilcCommand command, SilcStatus status);
45 void silc_command_reply(SilcClient client, SilcClientConnection conn,
46                         SilcCommandPayload cmd_payload, bool success,
47                         SilcCommand command, SilcStatus status, ...);
48 void silc_connect(SilcClient client, SilcClientConnection conn,
49                   SilcClientConnectionStatus status);
50 void silc_disconnect(SilcClient client, SilcClientConnection conn,
51                      SilcStatus status, const char *message);
52 void silc_ask_passphrase(SilcClient client, SilcClientConnection conn,
53                          SilcAskPassphrase completion, void *context);
54 void silc_verify_public_key(SilcClient client, SilcClientConnection conn,
55                             SilcSocketType conn_type, unsigned char *pk, 
56                             SilcUInt32 pk_len, SilcSKEPKType pk_type,
57                             SilcVerifyPublicKey completion, void *context);
58 void silc_get_auth_method(SilcClient client, SilcClientConnection conn,
59                           char *hostname, SilcUInt16 port,
60                           SilcGetAuthMeth completion, void *context);
61 void silc_failure(SilcClient client, SilcClientConnection conn, 
62                   SilcProtocol protocol, void *failure);
63 bool silc_key_agreement(SilcClient client, SilcClientConnection conn,
64                         SilcClientEntry client_entry, const char *hostname,
65                         SilcUInt16 port, SilcKeyAgreementCallback *completion,
66                         void **context);
67 void silc_ftp(SilcClient client, SilcClientConnection conn,
68               SilcClientEntry client_entry, SilcUInt32 session_id,
69               const char *hostname, SilcUInt16 port);
70 void
71 silc_detach(SilcClient client, SilcClientConnection conn,
72             const unsigned char *detach_data, SilcUInt32 detach_data_len);
73
74 #endif