Added new SILC_STATUS_ENTRY.
[silc.git] / lib / silccore / silccommand.h
index ae8615fb623b48a66c970573c37f70deec589978..8ecaeaa3e77dda150cfbff33f87e4662eb40965c 100644 (file)
@@ -55,40 +55,30 @@ typedef enum {
 /* All SILC commands. These are commands that have client and server
    counterparts. These are pretty much the same as in IRC. */
 #define SILC_COMMAND_NONE               0
-#define SILC_COMMAND_WHOIS             2
-#define SILC_COMMAND_WHOWAS            3
-#define SILC_COMMAND_IDENTIFY           4
-#define SILC_COMMAND_NICK              5
-#define SILC_COMMAND_LIST              6
-#define SILC_COMMAND_TOPIC             7
-#define SILC_COMMAND_INVITE            8
-#define SILC_COMMAND_QUIT              9
-#define SILC_COMMAND_KILL              10
-#define SILC_COMMAND_INFO              11
-#define SILC_COMMAND_CONNECT           12
-#define SILC_COMMAND_PING              13
-#define SILC_COMMAND_OPER              14
-#define SILC_COMMAND_JOIN              15
-#define SILC_COMMAND_MOTD              16
-#define SILC_COMMAND_UMODE             17
-#define SILC_COMMAND_CMODE             18
-#define SILC_COMMAND_KICK              19
-#define        SILC_COMMAND_RESTART            20
-#define        SILC_COMMAND_CLOSE              21
-#define        SILC_COMMAND_DIE                22
-#define SILC_COMMAND_SILCOPER          23
-#define SILC_COMMAND_LEAVE             24
-#define SILC_COMMAND_NAMES             25
-
-/* Local commands. Local commands are unofficial commands and
-   are implementation specific commands. These are used only by the
-   SILC client to extend user commands. */
-#define SILC_COMMAND_HELP              100
-#define SILC_COMMAND_CLEAR             101
-#define SILC_COMMAND_VERSION           102
-#define SILC_COMMAND_SERVER             103
-#define SILC_COMMAND_MSG               104
-#define SILC_COMMAND_AWAY              105
+#define SILC_COMMAND_WHOIS             1
+#define SILC_COMMAND_WHOWAS            2
+#define SILC_COMMAND_IDENTIFY           3
+#define SILC_COMMAND_NICK              4
+#define SILC_COMMAND_LIST              5
+#define SILC_COMMAND_TOPIC             6
+#define SILC_COMMAND_INVITE            7
+#define SILC_COMMAND_QUIT              8
+#define SILC_COMMAND_KILL              9
+#define SILC_COMMAND_INFO              10
+#define SILC_COMMAND_CONNECT           11
+#define SILC_COMMAND_PING              12
+#define SILC_COMMAND_OPER              13
+#define SILC_COMMAND_JOIN              14
+#define SILC_COMMAND_MOTD              15
+#define SILC_COMMAND_UMODE             16
+#define SILC_COMMAND_CMODE             17
+#define SILC_COMMAND_KICK              18
+#define        SILC_COMMAND_RESTART            19
+#define        SILC_COMMAND_CLOSE              20
+#define        SILC_COMMAND_DIE                21
+#define SILC_COMMAND_SILCOPER          22
+#define SILC_COMMAND_LEAVE             23
+#define SILC_COMMAND_NAMES             24
 
 /* Reserved */
 #define SILC_COMMAND_RESERVED           255
@@ -99,7 +89,8 @@ typedef unsigned short SilcCommandStatus;
 /* Command Status messages */
 #define SILC_STATUS_OK                      0
 #define SILC_STATUS_LIST_START              1
-#define SILC_STATUS_LIST_END                2
+#define SILC_STATUS_LIST_ITEM               2
+#define SILC_STATUS_LIST_END                3
 #define SILC_STATUS_ERR_NO_SUCH_NICK        10
 #define SILC_STATUS_ERR_NO_SUCH_CHANNEL     11
 #define SILC_STATUS_ERR_NO_SUCH_SERVER      12
@@ -144,6 +135,10 @@ SilcBuffer silc_command_encode_payload(SilcCommand cmd,
                                       unsigned int *argv_types);
 SilcBuffer silc_command_encode_payload_va(SilcCommand cmd, 
                                          unsigned int argc, ...);
+SilcBuffer 
+silc_command_encode_reply_payload_va(SilcCommand cmd, 
+                                    SilcCommandStatus status,
+                                    unsigned int argc, ...);
 void silc_command_free_payload(SilcCommandPayload payload);
 SilcCommand silc_command_get(SilcCommandPayload payload);
 unsigned int silc_command_get_arg_num(SilcCommandPayload payload);
@@ -154,8 +149,5 @@ unsigned char *silc_command_get_next_arg(SilcCommandPayload payload,
 unsigned char *silc_command_get_arg_type(SilcCommandPayload payload,
                                         unsigned int type,
                                         unsigned int *ret_len);
-SilcBuffer silc_command_encode_status_payload(SilcCommandStatus status,
-                                             unsigned char *data,
-                                             unsigned int len);
 
 #endif