Added SILC Thread Queue API
[crypto.git] / lib / silcclient / client.h
index dd4eb8a943170ad8dce9b42b55262f9bf4b2ab43..e008e44fb3e8d7fd000946977d6ef142342b1d64 100644 (file)
@@ -41,9 +41,9 @@ typedef struct SilcClientConnectionInternalStruct
      *SilcClientConnectionInternal;
 typedef struct SilcChannelPrivateKeyStruct *SilcChannelPrivateKey;
 
-
 /* Internal client entry context */
 typedef struct SilcClientEntryInternalStruct {
+  void *prv_waiter;            /* Private message packet waiter */
   SilcRwLock lock;             /* Read/write lock */
   SilcCipher send_key;         /* Private message key for sending */
   SilcCipher receive_key;      /* Private message key for receiving */
@@ -54,13 +54,13 @@ typedef struct SilcClientEntryInternalStruct {
   SilcClientKeyAgreement ke;   /* Current key agreement context or NULL */
 
   /* Flags */
-  unsigned int valid       : 1;        /* FALSE if this entry is not valid */
-  unsigned int resolving   : 1; /* TRUE when entry is being resolved */
+  unsigned int valid       : 1;        /* FALSE if this entry is not valid.  Entry
+                                  without nickname is not valid. */
   unsigned int generated   : 1; /* TRUE if library generated `key' */
   unsigned int prv_resp    : 1; /* TRUE if we are responder when using
                                   private message keys. */
   SilcUInt16 resolve_cmd_ident;        /* Command identifier when resolving */
-  SilcAtomic8 refcnt;          /* Reference counter */
+  SilcAtomic16 refcnt;         /* Reference counter */
 } SilcClientEntryInternal;
 
 /* Internal channel entry context */