Merged silc_1_0_branch to trunk.
[silc.git] / lib / silccore / silcargument.h
index bb38c75fd29a1431354262e43cce51ae2508d2c2..50da74b6ba68aaebeef2b62168a85047003af56d 100644 (file)
@@ -4,7 +4,7 @@
 
   Author: Pekka Riikonen <priikone@silcnet.org>
 
-  Copyright (C) 2001 Pekka Riikonen
+  Copyright (C) 2001 - 2002 Pekka Riikonen
 
   This program is free software; you can redistribute it and/or modify
   it under the terms of the GNU General Public License as published by
@@ -91,6 +91,28 @@ SilcBuffer silc_argument_payload_encode(SilcUInt32 argc,
                                        SilcUInt32 *argv_lens,
                                        SilcUInt32 *argv_types);
 
+/****f* silccore/SilcArgumentAPI/silc_argument_payload_encode_one
+ *
+ * SYNOPSIS
+ *
+ *    SilcBuffer silc_argument_payload_encode_one(SilcBuffer args,
+ *                                                unsigned char *arg,
+ *                                                SilcUInt32 arg_len,
+ *                                                SilcUInt32 arg_type);
+ *
+ * DESCRIPTION
+ *
+ *    Same as silc_argument_payload_encode but encodes one argument to
+ *    the buffer `args' and returns the buffer.  The returned buffer
+ *    may be different than the `args'.  If `args' is NULL for the first
+ *    argument this allocates the buffer and returns it.
+ *
+ ***/
+SilcBuffer silc_argument_payload_encode_one(SilcBuffer args,
+                                           unsigned char *arg,
+                                           SilcUInt32 arg_len,
+                                           SilcUInt32 arg_type);
+
 /****f* silccore/SilcArgumentAPI/silc_argument_payload_encode_payload
  *
  * SYNOPSIS
@@ -137,6 +159,7 @@ SilcUInt32 silc_argument_get_arg_num(SilcArgumentPayload payload);
  * SYNOPSIS
  *
  *    unsigned char *silc_argument_get_first_arg(SilcArgumentPayload payload,
+ *                                               SilcUInt32 *type,
  *                                               SilcUInt32 *ret_len);
  *
  * DESCRIPTION
@@ -147,6 +170,7 @@ SilcUInt32 silc_argument_get_arg_num(SilcArgumentPayload payload);
  *
  ***/
 unsigned char *silc_argument_get_first_arg(SilcArgumentPayload payload,
+                                          SilcUInt32 *type,
                                           SilcUInt32 *ret_len);
 
 /****f* silccore/SilcArgumentAPI/silc_argument_get_next_arg
@@ -165,6 +189,7 @@ unsigned char *silc_argument_get_first_arg(SilcArgumentPayload payload,
  *
  ***/
 unsigned char *silc_argument_get_next_arg(SilcArgumentPayload payload,
+                                         SilcUInt32 *type,
                                          SilcUInt32 *ret_len);
 
 /****f* silccore/SilcArgumentAPI/silc_argument_get_arg_type