Description: SILC Secure Internet Live Conferencing
Keywords: SILC, secure, chat, protocol, cipher, encrypt, SKE

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 ID Cache Interface SILC Argument Interface SILC Attributes Interface Packet Protocol Interface SILC Utility Library Basic SILC Types SILC Buffer Interface SILC Buffer Format Interface SILC Hash Table Interface SILC Logging Interface SILC Memory Interface SILC Mutex Interface SILC Thread Interface SILC Network Interface SILC Schedule Interface SILC Socket Interface SILC Protocol Interface SILC Config Interface SILC File Util Interface SILC String Util Interface SILC UTF-8 Interface SILC Stringprep Interface SILC Util Interface SILC List Interface SILC Dynamic List Interface SILC VCard Interface SILC Application Utilities SILC MIME Interface SILC Crypto Library Introduction to SILC RNG SILC RNG Interface SILC Cipher API SILC PKCS API SILC PKCS#1 API SILC Hash Interface SILC HMAC Interface SILC SFTP Library SILC SFTP Interface SFTP Filesystems 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 SILC Key Exchange Library SILC SKE Interface SKE Status Types SKE Diffie Hellman Groups SKE Payloads SILC Math Library SILC MP Interface SILC Math Interface Resource Links SILC Project Website SILC Protocol Documentation SILC White Paper SILC FAQs
SILC_STR_*_STRING NAME
        #define SILC_STR_UI8_STRING() ...
        #define SILC_STR_UI8_STRING_ALLOC() ...
        #define SILC_STR_UI16_STRING() ...
        #define SILC_STR_UI16_STRING_ALLOC() ...
        #define SILC_STR_UI32_STRING() ...
        #define SILC_STR_UI32_STRING_ALLOC() ...
DESCRIPTION
        Unsigned NULL terminated string. Note that the string must be
        NULL terminated because strlen() will be used to get the length of
        the string.

        Formatting:    SILC_STR_UI32_STRING(unsigned char *)
        Unformatting:  SILC_STR_UI32_STRING(unsigned char **)

        Unformatting procedure will check for length of the string from the
        buffer before trying to get the string out. Thus, one *must* format the
        length as UI_INT or UI_SHORT into the buffer *before* formatting the
        actual string to the buffer, and, in unformatting one must ignore the
        length of the string because unformatting procedure will take it
        automatically.

        Example:

        Formatting:    ..., SILC_STR_UI_INT(strlen(string)),
                            SILC_STR_UI32_STRING(string), ...
        Unformatting:  ..., SILC_STR_UI32_STRING(&string), ...

        I.e., you can ignore the formatted length field in unformatting.

        UI8, UI16 and UI32 means that the length is considered to be
        either char (8 bits), short (16 bits) or int (32 bits) in
        unformatting.

        _ALLOC routines automatically allocates memory for the variable sent
        as argument in unformatting.
SILC Buffer Format Interface silc_buffer_format silc_buffer_unformat silc_buffer_format_vp silc_buffer_unformat_vp silc_buffer_strformat SILC_STR_*_CHAR SILC_STR_*_SHORT SILC_STR_*_INT SILC_STR_*_INT64 SILC_STR_*_STRING SILC_STR_*_NSTRING SILC_STR_UI_XNSTRING SILC_STR_END SILC_STRFMT_END

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