#ifndef SILCMODE_H
#define SILCMODE_H
-/* Forward declarations */
-typedef struct SilcSetModePayloadStruct *SilcSetModePayload;
-
-/* Mode types defined for Set Mode payload */
-#define SILC_MODE_TYPE_CHANNEL 0
-#define SILC_MODE_TYPE_UCHANNEL 1
-#define SILC_MODE_RESERVED 2 /* RESERVED */
-#define SILC_MODE_PRIVATE 32768 /* RESERVED */
-
/* 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 */
-#define SILC_CHANNEL_MODE_TOPIC 0x0010 /* topic setting by operator */
-#define SILC_CHANNEL_MODE_ULIMIT 0x0020 /* user limit set */
-#define SILC_CHANNEL_MODE_PASSPHRASE 0x0040 /* passphrase set */
-#define SILC_CHANNEL_MODE_BAN 0x0080 /* ban list set */
-#define SILC_CHANNEL_MODE_INVITE_LIST 0x0100 /* invite list set */
-#define SILC_CHANNEL_MODE_CIPHER 0x0200 /* sets cipher of channel */
+#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 */
+#define SILC_CHANNEL_MODE_TOPIC 0x0010 /* topic setting by operator */
+#define SILC_CHANNEL_MODE_ULIMIT 0x0020 /* user limit set */
+#define SILC_CHANNEL_MODE_PASSPHRASE 0x0040 /* passphrase set */
+#define SILC_CHANNEL_MODE_CIPHER 0x0080 /* sets cipher of the channel */
+#define SILC_CHANNEL_MODE_HMAC 0x0100 /* sets hmac of the channel */
+#define SILC_CHANNEL_MODE_FOUNDER_AUTH 0x0200 /* sets founder auth data */
/* User modes on channel */
-#define SILC_CHANNEL_UMODE_NONE 0x0000 /* Normal user */
-#define SILC_CHANNEL_UMODE_CHANFO 0x0001 /* channel founder */
-#define SILC_CHANNEL_UMODE_CHANOP 0x0002 /* channel operator */
-
-/* Prototypes */
-SilcSetModePayload silc_set_mode_payload_parse(SilcBuffer buffer);
-SilcBuffer silc_set_mode_payload_encode(unsigned short mode_type,
- unsigned int mode_mask,
- unsigned int argc,
- va_list ap);
-void silc_set_mode_payload_free(SilcSetModePayload payload);
-unsigned short silc_set_mode_get_type(SilcSetModePayload payload);
-unsigned int silc_set_mode_get_mode(SilcSetModePayload payload);
-unsigned int silc_set_mode_get_arg_num(SilcSetModePayload payload);
-SilcArgumentPayload silc_set_mode_get_args(SilcSetModePayload payload);
+#define SILC_CHANNEL_UMODE_NONE 0x0000 /* Normal user */
+#define SILC_CHANNEL_UMODE_CHANFO 0x0001 /* channel founder */
+#define SILC_CHANNEL_UMODE_CHANOP 0x0002 /* channel operator */
+
+/* SILC modes */
+#define SILC_UMODE_NONE 0x0000 /* Normal SILC user */
+#define SILC_UMODE_SERVER_OPERATOR 0x0001 /* Server operator */
+#define SILC_UMODE_ROUTER_OPERATOR 0x0002 /* Router (SILC) operator */
+#define SILC_UMODE_GONE 0x0004 /* Client is gone */
#endif