updates.
[silc.git] / lib / silccore / silccommand.h
index 7038d6dae2ae94cf82e768a4765dfcef7088f852..dd20052dc81cf22d6e4470ca41260045616831a0 100644 (file)
@@ -36,19 +36,24 @@ typedef struct SilcCommandPayloadStruct *SilcCommandPayload;
 typedef enum {
   SILC_CF_NONE           = 0,
 
-  /* Command may only be used once per (about) 2 seconds */
+  /* Command may only be used once per (about) 2 seconds. Bursts up
+     to 5 commands are allowed though. */
   SILC_CF_LAG            = (1L << 1),
 
+  /* Command may only be used once per (about) 2 seconds. No bursts
+     are allowed at all. */
+  SILC_CF_LAG_STRICT     = (1L << 2),
+
   /* Command is available for registered connections (connections
      whose ID has been created. */
-  SILC_CF_REG            = (1L << 2),
+  SILC_CF_REG            = (1L << 3),
 
   /* Command is available only for server operators */
-  SILC_CF_OPER           = (1L << 3),
+  SILC_CF_OPER           = (1L << 4),
 
   /* Command is available only for SILC (router) operators. If this 
      is set SILC_CF_OPER is not necessary to be set. */
-  SILC_CF_SILC_OPER      = (1L << 4),
+  SILC_CF_SILC_OPER      = (1L << 5),
 
 } SilcCommandFlag;
 
@@ -76,10 +81,10 @@ typedef enum {
 #define SILC_COMMAND_KICK              19
 #define        SILC_COMMAND_RESTART            20
 #define        SILC_COMMAND_CLOSE              21
-#define        SILC_COMMAND_DIE                22
+#define        SILC_COMMAND_SHUTDOWN           22
 #define SILC_COMMAND_SILCOPER          23
 #define SILC_COMMAND_LEAVE             24
-#define SILC_COMMAND_NAMES             25
+#define SILC_COMMAND_USERS             25
 
 /* Reserved */
 #define SILC_COMMAND_RESERVED           255
@@ -122,11 +127,13 @@ typedef unsigned short SilcCommandStatus;
 #define SILC_STATUS_ERR_UNKNOWN_MODE        37
 #define SILC_STATUS_ERR_NOT_YOU             38
 #define SILC_STATUS_ERR_NO_CHANNEL_PRIV     39
-#define SILC_STATUS_ERR_NO_SERVER_PRIV      40
-#define SILC_STATUS_ERR_NO_ROUTER_PRIV      41
-#define SILC_STATUS_ERR_BAD_NICKNAME        42
-#define SILC_STATUS_ERR_BAD_CHANNEL         43
-#define SILC_STATUS_ERR_AUTH_FAILED         44
+#define SILC_STATUS_ERR_NO_CHANNEL_FOPRIV   40
+#define SILC_STATUS_ERR_NO_SERVER_PRIV      41
+#define SILC_STATUS_ERR_NO_ROUTER_PRIV      42
+#define SILC_STATUS_ERR_BAD_NICKNAME        43
+#define SILC_STATUS_ERR_BAD_CHANNEL         44
+#define SILC_STATUS_ERR_AUTH_FAILED         45
+#define SILC_STATUS_ERR_UNKNOWN_ALGORITHM   46
 
 /* Prototypes */
 SilcCommandPayload silc_command_payload_parse(SilcBuffer buffer);
@@ -153,5 +160,6 @@ SilcCommand silc_command_get(SilcCommandPayload payload);
 SilcArgumentPayload silc_command_get_args(SilcCommandPayload payload);
 unsigned short silc_command_get_ident(SilcCommandPayload payload);
 void silc_command_set_ident(SilcCommandPayload payload, unsigned short ident);
+void silc_command_set_command(SilcCommandPayload payload, SilcCommand command);
 
 #endif