Changed channel->clients to SilcList.
[silc.git] / lib / silcclient / idlist.h
index f5c5abf0a1101ab2ff93ba4e849603ecd1800df6..4d1c8b1ba36d8c50148001519d60aec7c6540f5c 100644 (file)
@@ -37,15 +37,14 @@ typedef struct SilcClientEntryStruct {
      with the remote client. */
   SilcCipher send_key;
   SilcCipher receive_key;
-} SilcClientEntryObject;
-
-typedef SilcClientEntryObject *SilcClientEntry;
+} *SilcClientEntry;
 
 /* Client and its mode on a channel */
-typedef struct {
+typedef struct SilcChannelUserStruct {
   SilcClientEntry client;
   unsigned int mode;
-} SilcChannelUsers;
+  struct SilcChannelUserStruct *next;
+} *SilcChannelUser;
 
 /* Channel entry context. This is allocate for every channel client has
    joined to. This includes for example the channel specific keys */
@@ -57,17 +56,15 @@ typedef struct SilcChannelEntryStruct {
   unsigned int mode;
   int on_channel;
 
-  SilcChannelUsers *clients;
-  unsigned int clients_count;
+  /* Joined clients */
+  SilcList clients;
 
   /* Channel keys */
   SilcCipher channel_key;
   unsigned char *key;
   unsigned int key_len;
   unsigned char iv[SILC_CIPHER_MAX_IV_SIZE];
-} SilcChannelEntryObject;
-
-typedef SilcChannelEntryObject *SilcChannelEntry;
+} *SilcChannelEntry;
 
 /* Prototypes */