Copyright © 2001 - 2005 SILC Project SILC Project Website | SILC Toolkit Reference Manual Index

SILC Toolkit Reference Manual SILC Core Library SILC Authentication Interface SILC Message Interface SILC Channel Interface SILC Command Interface SILC Notify Interface SILC Status Types SILC Modes SILC ID Interface SILC Argument Interface SILC Attributes Interface Packet Protocol Interface SILC Public Key Payload Interface SILC Utility Library Basic Types and Definitions Data Buffer Interface Data Buffer Format Interface Hash Table Interface Memory Allocation Interface Data Stack (memory pool) Interface Finite State Machine Interface Thread Interface Mutual Exclusion Lock Interface Condition Variable Interface Atomic Operations Interface Network (TCP and UDP) Interface Scheduler Interface Asynchronous Operation Interface Abstract Stream Interface Socket Stream Interface File Descriptor Stream Interface File Utility Functions String Utility Interface Snprintf Interface UTF-8 String Interface Stringprep Interface Utility Functions List Interface Dynamic List Interface MIME Interface Time Utility Functions Logging Interface Config File Interface SILC Key Repository Library SILC SKR Interface SILC ASN.1 Library SILC ASN.1 Interface SILC BER interface SILC Client Library Using SILC Client Library Tutorial Arguments for command_reply Client Operation SilcStatus Error Arguments in command_reply Client Operation Arguments for notify Client Operation Unicode and UTF-8 Strings in Client Library Client Library Interface Reference Client Entry Interface Reference SILC Key Exchange Library SILC SKE Interface SILC Connection Authentication Interface SILC VCard Library SILC VCard Interface SILC SFTP Library SILC SFTP Interface SFTP Filesystems Interface SILC HTTP Library SILC HTTP Server Interface SILC HTTP PHP Translator SILC Crypto Library Introduction to SILC RNG SILC RNG Interface SILC Cipher API SILC PKCS API SILC Public Key API SILC PKCS #1 API SILC Hash Interface SILC HMAC Interface SILC Application Utility Library SILC Application Utilities SILC ID Cache Interface SILC Math Library SILC MP Interface SILC Math Interface Resource Links SILC Project Website SILC Protocol Documentation SILC White Paper SILC FAQs
Function silc_buffer_format SYNOPSIS
        int silc_buffer_format(SilcBuffer dst, ...);
DESCRIPTION
        Formats a buffer from a variable argument list.  Returns -1 on error
        and the length of the formatted buffer otherwise.  The buffer is
        enlarged automatically during formatting, if it doesn't already have
        enough space.
EXAMPLE
        Three basic ways of using silc_buffer_format:

        // Statically allocated zero size buffer
        SilcBufferStruct buffer;

        memset(&buffer, 0, sizeof(buffer));
        ret = silc_buffer_format(&buffer,
                                 SILC_STR_UI_INT(intval),
                                 SILC_STR_CHAR(charval),
                                 SILC_STR_UI_INT(intval),
                                 SILC_STR_SHORT(str_len),
                                 SILC_STR_DATA(str, str_len),
                                 SILC_STR_END);
        if (ret < 0)
          error;

        // Free the allocated data
        silc_buffer_purge(&buffer);

        // Dynamically allocated zero size buffer
        SilcBuffer buf;
        buf = silc_buffer_alloc(0);
        ret = silc_buffer_format(buf,
                                 SILC_STR_UI_INT(intval),
                                 SILC_STR_CHAR(charval),
                                 SILC_STR_END);
        if (ret < 0)
          error;

        // Free the allocated buffer
        silc_buffer_free(buf);

        // Dynamically allocated buffer with enough space
        SilcBuffer buf;
        buf = silc_buffer_alloc(2 + str_len);
        ret = silc_buffer_format(buf,
                                 SILC_STR_UI_SHORT(str_len),
                                 SILC_STR_DATA(str, str_len),
                                 SILC_STR_END);
        if (ret < 0)
          error;
SILC Buffer Format Interface SilcBufferFormatFunc SilcBufferSFormatFunc SilcBufferUnformatFunc SilcBufferSUnformatFunc silc_buffer_format silc_buffer_sformat silc_buffer_format_vp silc_buffer_sformat_vp silc_buffer_unformat silc_buffer_sunformat silc_buffer_unformat_vp silc_buffer_sunformat_vp silc_buffer_strformat silc_buffer_sstrformat SilcBufferParamType SILC_STR_*_CHAR SILC_STR_*_SHORT SILC_STR_*_INT SILC_STR_*_INT64 SILC_STR_*_STRING SILC_STR_*_NSTRING SILC_STR_DATA SILC_STR_BUFFER SILC_STR_FUNC SILC_STR_OFFSET SILC_STR_ADVANCE SILC_STR_END SILC_STRFMT_END

Copyright © 2001 - 2005 SILC Project SILC Project Website | SILC Toolkit Reference Manual Index