X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=apps%2Fsilcd%2Fidlist.h;h=aa444f46f59b78a92ad7f440f83780407bbf4ea2;hb=4d35af3be05cacf69ca4bd634973cdcd25118e98;hp=6a40147f6bce6f04be4029eeee15e509fb389d6c;hpb=e14cef8f772a6f73f05254ae220a3a83981ea753;p=silc.git diff --git a/apps/silcd/idlist.h b/apps/silcd/idlist.h index 6a40147f..aa444f46 100644 --- a/apps/silcd/idlist.h +++ b/apps/silcd/idlist.h @@ -232,7 +232,7 @@ struct SilcClientEntryStruct { /* Pointer to the router */ SilcServerEntry router; - /* Pointers to channels this client has joined */ + /* List of channels client has joined to */ SilcChannelEntry *channel; unsigned int channel_count; @@ -258,14 +258,15 @@ struct SilcClientEntryStruct { Pointer to the client list. This is the client currently on channel. - int mode + unsigned int mode Client's current mode on the channel. */ typedef struct SilcChannelClientEntryStruct { SilcClientEntry client; - int mode; + unsigned int mode; + struct SilcChannelClientEntryStruct *next; } *SilcChannelClientEntry; /* @@ -290,9 +291,10 @@ typedef struct SilcChannelClientEntryStruct { Logical name of the channel. - int mode + unsigned int mode - Current mode of the channel. + Current mode of the channel. See lib/silccore/silcchannel.h for + all modes. SilcChannelID *id @@ -313,6 +315,11 @@ typedef struct SilcChannelClientEntryStruct { Current topic of the channel. + char *cipher + + Default cipher of the channel. If this is NULL then server picks + the cipher to be used. This can be set at SILC_COMMAND_JOIN. + SilcServerEntry router This is a pointer to the server list. This is the router server @@ -336,14 +343,24 @@ typedef struct SilcChannelClientEntryStruct { */ struct SilcChannelEntryStruct { char *channel_name; - int mode; + unsigned int mode; SilcChannelID *id; int global_users; char *topic; + char *cipher; + + /* Data that is related to different channel modes. */ + struct { + unsigned int user_limit; + unsigned char *passphrase; + unsigned char *ban_list; + unsigned char *invite_list; + unsigned char *cipher; + unsigned int key_len; + } mode_data; /* List of users on channel */ - SilcChannelClientEntry user_list; - unsigned int user_list_count; + SilcList user_list; /* Pointer to the router */ SilcServerEntry router;