Created silcpayload.[ch] for generic payloads.
[silc.git] / lib / silccore / silccommand.h
index 155027d6195351bbda6d36a248c3a4d5aa4015e6..0912b76de7bc93a24e5108cf068c8d33114eb943 100644 (file)
@@ -80,16 +80,6 @@ typedef enum {
 #define SILC_COMMAND_LEAVE             23
 #define SILC_COMMAND_NAMES             24
 
-/* 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
-
 /* 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
@@ -136,27 +127,24 @@ typedef unsigned short SilcCommandStatus;
 #define SILC_STATUS_ERR_AUTH_FAILED         43
 
 /* Prototypes */
-SilcCommandPayload silc_command_parse_payload(SilcBuffer buffer);
-SilcBuffer silc_command_encode_payload(SilcCommand cmd,
+SilcCommandPayload silc_command_payload_parse(SilcBuffer buffer);
+SilcBuffer silc_command_payload_encode(SilcCommand cmd,
                                       unsigned int argc,
                                       unsigned char **argv,
                                       unsigned int *argv_lens,
-                                      unsigned int *argv_types);
-SilcBuffer silc_command_encode_payload_va(SilcCommand cmd, 
+                                      unsigned int *argv_types,
+                                      unsigned short ident);
+SilcBuffer silc_command_payload_encode_va(SilcCommand cmd, 
+                                         unsigned short ident, 
                                          unsigned int argc, ...);
 SilcBuffer 
-silc_command_encode_reply_payload_va(SilcCommand cmd, 
+silc_command_reply_payload_encode_va(SilcCommand cmd, 
                                     SilcCommandStatus status,
+                                    unsigned short ident,
                                     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);
-unsigned char *silc_command_get_first_arg(SilcCommandPayload payload,
-                                         unsigned int *ret_len);
-unsigned char *silc_command_get_next_arg(SilcCommandPayload payload,
-                                        unsigned int *ret_len);
-unsigned char *silc_command_get_arg_type(SilcCommandPayload payload,
-                                        unsigned int type,
-                                        unsigned int *ret_len);
+SilcArgumentPayload silc_command_get_args(SilcCommandPayload payload);
+unsigned short silc_command_get_ident(SilcCommandPayload payload);
 
 #endif