updates.
[silc.git] / lib / silccore / silcchannel.h
index b39045fa9d80472de3d9fe40780515767e49f558..2ac4d7f68d5b5b8fa8c97942dc6388d0d908da8e 100644 (file)
@@ -21,7 +21,7 @@
 #ifndef SILCCHANNEL_H
 #define SILCCHANNEL_H
 
-/* Forward declaration for Channel Payload parsed from packet. The
+/* Forward declaration for Channel Message Payload parsed from packet. The
    actual structure is defined in source file and is private data. */
 typedef struct SilcChannelPayloadStruct *SilcChannelPayload;
 
@@ -29,42 +29,30 @@ typedef struct SilcChannelPayloadStruct *SilcChannelPayload;
    actual structure is defined in source file and is private data. */
 typedef struct SilcChannelKeyPayloadStruct *SilcChannelKeyPayload;
 
-/* Channel modes */
-#define SILC_CHANNEL_MODE_NONE       0x0000
-#define SILC_CHANNEL_MODE_PRIVATE    0x0001 /* private channel */
-#define SILC_CHANNEL_MODE_SECRET     0x0002 /* secret channel */
-#define SILC_CHANNEL_MODE_PRIVKEY    0x0004 /* channel has private key */
-#define SILC_CHANNEL_MODE_INVITE     0x0008 /* invite only channel */
-
-/* User modes on channel */
-#define SILC_CHANNEL_UMODE_NONE      0x0000
-#define SILC_CHANNEL_UMODE_CHANFO    0x0001 /* channel founder */
-#define SILC_CHANNEL_UMODE_CHANOP    0x0002 /* channel operator */
-
 /* Prototypes */
-SilcChannelPayload silc_channel_parse_payload(SilcBuffer buffer);
-SilcBuffer silc_channel_encode_payload(unsigned short nick_len,
-                                      unsigned char *nick,
-                                      unsigned short data_len,
+SilcChannelPayload silc_channel_payload_parse(SilcBuffer buffer,
+                                             SilcCipher cipher,
+                                             SilcHmac hmac);
+SilcBuffer silc_channel_payload_encode(unsigned short data_len,
                                       unsigned char *data,
                                       unsigned short iv_len,
                                       unsigned char *iv,
+                                      SilcCipher cipher,
+                                      SilcHmac hmac,
                                       SilcRng rng);
-void silc_channel_free_payload(SilcChannelPayload payload);
-unsigned char *silc_channel_get_nickname(SilcChannelPayload payload,
-                                        unsigned int *nick_len);
+void silc_channel_payload_free(SilcChannelPayload payload);
 unsigned char *silc_channel_get_data(SilcChannelPayload payload,
                                     unsigned int *data_len);
-unsigned char *silc_channel_get_iv(SilcChannelPayload payload,
-                                  unsigned int *iv_len);
-SilcChannelKeyPayload silc_channel_key_parse_payload(SilcBuffer buffer);
-SilcBuffer silc_channel_key_encode_payload(unsigned short id_len,
+unsigned char *silc_channel_get_mac(SilcChannelPayload payload);
+unsigned char *silc_channel_get_iv(SilcChannelPayload payload);
+SilcChannelKeyPayload silc_channel_key_payload_parse(SilcBuffer buffer);
+SilcBuffer silc_channel_key_payload_encode(unsigned short id_len,
                                           unsigned char *id,
                                           unsigned short cipher_len,
                                           unsigned char *cipher,
                                           unsigned short key_len,
                                           unsigned char *key);
-void silc_channel_key_free_payload(SilcChannelKeyPayload payload);
+void silc_channel_key_payload_free(SilcChannelKeyPayload payload);
 unsigned char *silc_channel_key_get_id(SilcChannelKeyPayload payload, 
                                       unsigned int *id_len);
 unsigned char *silc_channel_key_get_cipher(SilcChannelKeyPayload payload,