X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=lib%2Fsilcclient%2Fclient.h;fp=lib%2Fsilcclient%2Fclient.h;h=1f3d0d2bfa68dca3726eef8f59da4825ad418624;hb=dba72cd444469151d0def91ec67361c68ee78022;hp=59bb12b1c73c971d9147c6a4209eebbb393a8d76;hpb=6caeb1c499fe1ab80aaa24b1a35c89b91c57b7cf;p=silc.git diff --git a/lib/silcclient/client.h b/lib/silcclient/client.h index 59bb12b1..1f3d0d2b 100644 --- a/lib/silcclient/client.h +++ b/lib/silcclient/client.h @@ -27,13 +27,13 @@ /* Forward declarations */ typedef struct SilcClientStruct *SilcClient; typedef struct SilcClientConnectionStruct *SilcClientConnection; -typedef struct SilcClientPingStruct SilcClientPing; -typedef struct SilcClientAwayStruct SilcClientAway; -typedef struct SilcClientKeyAgreementStruct *SilcClientKeyAgreement; -typedef struct SilcClientFtpSessionStruct *SilcClientFtpSession; typedef struct SilcClientEntryStruct *SilcClientEntry; typedef struct SilcChannelEntryStruct *SilcChannelEntry; typedef struct SilcServerEntryStruct *SilcServerEntry; + +typedef struct SilcClientAwayStruct SilcClientAway; +typedef struct SilcClientKeyAgreementStruct *SilcClientKeyAgreement; +typedef struct SilcClientFtpSessionStruct *SilcClientFtpSession; typedef struct SilcClientCommandReplyContextStruct *SilcClientCommandReplyContext; typedef struct SilcChannelUserStruct *SilcChannelUser; @@ -63,4 +63,29 @@ typedef struct SilcClientEntryInternalStruct { SilcAtomic8 refcnt; /* Reference counter */ } SilcClientEntryInternal; +/* Internal channel entry context */ +typedef struct SilcChannelEntryInternalStruct { + /* SilcChannelEntry status information */ + SilcDList old_channel_keys; + SilcDList old_hmacs; + + /* Channel private keys */ + SilcDList private_keys; /* List of private keys or NULL */ + SilcChannelPrivateKey curr_key; /* Current private key */ + + /* Channel keys */ + SilcCipher channel_key; /* The channel key */ + SilcHmac hmac; /* Current HMAC */ + unsigned char iv[SILC_CIPHER_MAX_IV_SIZE]; /* Current IV */ + + SilcUInt16 resolve_cmd_ident; /* Resolving identifier */ + SilcAtomic8 refcnt; /* Reference counter */ +} SilcChannelEntryInternal; + +/* Internal server entry context */ +typedef struct SilcServerEntryInternalStruct { + SilcUInt16 resolve_cmd_ident; /* Resolving identifier */ + SilcAtomic8 refcnt; /* Reference counter */ +} SilcServerEntryInternal; + #endif /* CLIENT_H */