5 Author: Pekka Riikonen <priikone@silcnet.org>
7 Copyright (C) 1997 - 2002 Pekka Riikonen
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.
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.
23 /* Forward declarations */
24 typedef struct SilcClientStruct *SilcClient;
25 typedef struct SilcClientConnectionStruct *SilcClientConnection;
26 typedef struct SilcClientPingStruct SilcClientPing;
27 typedef struct SilcClientAwayStruct SilcClientAway;
28 typedef struct SilcClientKeyAgreementStruct *SilcClientKeyAgreement;
29 typedef struct SilcClientFtpSessionStruct *SilcClientFtpSession;
30 typedef struct SilcClientEntryStruct *SilcClientEntry;
31 typedef struct SilcChannelEntryStruct *SilcChannelEntry;
32 typedef struct SilcServerEntryStruct *SilcServerEntry;
33 typedef struct SilcClientCommandStruct *SilcClientCommand;
34 typedef struct SilcClientCommandContextStruct *SilcClientCommandContext;
35 typedef struct SilcClientCommandReplyContextStruct
36 *SilcClientCommandReplyContext;
37 typedef struct SilcChannelUserStruct *SilcChannelUser;
38 typedef struct SilcClientInternalStruct *SilcClientInternal;
39 typedef struct SilcClientConnectionInternalStruct
40 *SilcClientConnectionInternal;
41 typedef struct SilcChannelPrivateKeyStruct *SilcChannelPrivateKey;
43 /* Client entry status */
45 SILC_CLIENT_STATUS_NONE = 0x0000,
46 SILC_CLIENT_STATUS_RESOLVING = 0x0001,
49 /* Client and its mode on a channel */
50 struct SilcChannelUserStruct {
51 SilcClientEntry client;
53 SilcChannelEntry channel;