Changed SILC code to use new SRT and SCT APIs.
[silc.git] / lib / silcsftp / sftp_util.h
index ac43b06a9de8fdadce3e93963ccc18e4ad4f818b..fe92bd5850154c9c9d400be881fa1fc325b2f8da 100644 (file)
@@ -1,6 +1,6 @@
 /*
 
-  sftp_util.h 
+  sftp_util.h
 
   Author: Pekka Riikonen <priikone@silcnet.org>
 
@@ -20,7 +20,7 @@
 #ifndef SFTP_UTIL_H
 #define SFTP_UTIL_H
 
-typedef uint32 SilcSFTPPacket;
+typedef SilcUInt32 SilcSFTPPacket;
 
 /* SFTP packet types */
 #define SILC_SFTP_INIT               1
@@ -61,12 +61,16 @@ typedef uint32 SilcSFTPPacket;
 /* Encodes a SFTP packet of type `packet' of length `len'. The variable
    argument list is encoded as data payload to the buffer. Returns the
    encoded packet or NULL on error. The caller must free the returned
-   buffer. */
-SilcBuffer silc_sftp_packet_encode(SilcSFTPPacket packet, uint32 len, ...);
+   buffer. If `packet_buf' is non-NULL then the new packet data is put
+   to that buffer instead of allocating new one.  If the new data cannot
+   fit to `packet_buf' will be reallocated. */
+SilcBuffer silc_sftp_packet_encode(SilcSFTPPacket packet,
+                                  SilcBuffer packet_buf, SilcUInt32 len, ...);
 
 /* Same as silc_sftp_packet_encode but takes the variable argument list
    pointer as argument. */
-SilcBuffer silc_sftp_packet_encode_vp(SilcSFTPPacket packet, uint32 len, 
+SilcBuffer silc_sftp_packet_encode_vp(SilcSFTPPacket packet,
+                                     SilcBuffer packet_buf, SilcUInt32 len,
                                      va_list vp);
 
 /* Decodes the SFTP packet data `data' and return the SFTP packet type.
@@ -74,7 +78,7 @@ SilcBuffer silc_sftp_packet_encode_vp(SilcSFTPPacket packet, uint32 len,
    NULL if error occurred during decoding. */
 SilcSFTPPacket silc_sftp_packet_decode(SilcBuffer packet,
                                       unsigned char **payload,
-                                      uint32 *payload_len);
+                                      SilcUInt32 *payload_len);
 
 /* Encodes the SFTP attributes to a buffer and returns the allocated buffer.
    The caller must free the buffer. */
@@ -91,19 +95,19 @@ void silc_sftp_attr_free(SilcSFTPAttributes attr);
 void silc_sftp_name_add(SilcSFTPName name, const char *short_name,
                        const char *long_name, SilcSFTPAttributes attrs);
 
-/* Encodes the SilcSFTPName to a buffer and returns the allocated buffer. 
+/* Encodes the SilcSFTPName to a buffer and returns the allocated buffer.
    The caller must free the buffer. */
 SilcBuffer silc_sftp_name_encode(SilcSFTPName name);
 
 /* Decodes a SilcSFTPName structure from the `buffer' that must include
    `count' many name, longname and attribute values. Returns the allocated
    structure or NULL on error. */
-SilcSFTPName silc_sftp_name_decode(uint32 count, SilcBuffer buffer);
+SilcSFTPName silc_sftp_name_decode(SilcUInt32 count, SilcBuffer buffer);
 
 /* Frees the name context and its internals. */
 void silc_sftp_name_free(SilcSFTPName name);
 
 /* Maps errno to SFTP status message. */
-SilcSFTPStatus silc_sftp_map_errno(int err);
+SilcSFTPStatus silc_sftp_map_errno(SilcResult err);
 
 #endif /* SFTP_UTIL_H */