updates.
[silc.git] / lib / silccore / silcmode.h
index 2659206a81133fd8fd19b277ebf85e37d8227b1c..ab42a12fb7cd9749e4b15a8a67a2db5e8758ade7 100644 (file)
 #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