Structure SilcClientEntry
NAME
typedef struct SilcClientEntryStruct { ... } *SilcClientEntry
DESCRIPTION
This structure represents a client or a user in the SILC network.
The local user has this structure also and it can be accessed from
SilcClientConnection structure. All other users in the SILC network
that are accessed using the Client Library routines will have their
own SilcClientEntry structure. For example, when finding users by
their nickname the Client Library returns this structure back to
the application.
SOURCE
struct SilcClientEntryStruct {
/* General information */
char *nickname; /* nickname */
char *username; /* username */
char *hostname; /* hostname */
char *server; /* SILC server name */
char *realname; /* Realname (userinfo) */
/* Mode, ID and other information */
SilcUInt32 mode; /* User mode in SILC */
SilcClientID *id; /* The Client ID */
SilcDList attrs; /* Requested Attributes (maybe NULL) */
unsigned char *fingerprint; /* Fingerprint of client's public key */
SilcUInt32 fingerprint_len; /* Length of the fingerprint */
/* Private message keys */
SilcCipher send_key; /* Private message key for sending */
SilcCipher receive_key; /* Private message key for receiving */
unsigned char *key; /* Set only if appliation provided the
key material. NULL if the library
generated the key. */
SilcUInt32 key_len; /* Key length */
SilcClientKeyAgreement ke; /* Current key agreement context or NULL */
/* SilcClientEntry status information */
SilcEntryStatus status; /* Status mask */
SilcHashTable channels; /* All channels client has joined */
SilcUInt16 resolve_cmd_ident; /* Command identifier when resolving */
bool generated; /* TRUE if library generated `key' */
bool valid; /* FALSE if this entry is not valid */
};
|