Structure SilcChannelEntry
NAME
typedef struct SilcChannelEntryStruct { ... } *SilcChannelEntry
DESCRIPTION
This structure represents a channel in the SILC network. All
channels that the client are aware of or have joined in will be
represented as SilcChannelEntry. The structure includes information
about the channel. All strings in the structure are UTF-8 encoded.
SOURCE
struct SilcChannelEntryStruct {
/* General information */
char *channel_name; /* Channel name */
SilcChannelID *id; /* Channel ID */
SilcUInt32 mode; /* Channel mode, ChannelModes. */
char *topic; /* Current topic, may be NULL */
SilcPublicKey founder_key; /* Founder key, may be NULL */
SilcUInt32 user_limit; /* User limit on channel */
/* All clients that has joined this channel. The key to the table is the
SilcClientEntry and the context is SilcChannelUser context. */
SilcHashTable user_list;
/* Channel keys */
SilcCipher channel_key; /* The channel key */
unsigned char *key; /* Raw key data */
SilcUInt32 key_len; /* Raw key data length */
unsigned char iv[SILC_CIPHER_MAX_IV_SIZE]; /* Current IV */
SilcHmac hmac; /* Current HMAC */
/* Channel private keys */
SilcDList private_keys; /* List of private keys or NULL */
SilcChannelPrivateKey curr_key; /* Current private key */
/* SilcChannelEntry status information */
SilcDList old_channel_keys;
SilcDList old_hmacs;
SilcUInt16 resolve_cmd_ident; /* Command identifier when
resolving this entry */
/* Application specific data. Application may set here whatever it wants. */
void *context;
};
|