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

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

SILC Toolkit Reference Manual SILC VCard Library SILC VCard Interface 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 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 Math Library SILC MP Interface SILC Math Interface SILC Application Utility Library SILC Application Utilities SILC ID Cache Interface SILC Key Repository Library SILC SKR Interface SILC ASN.1 Library SILC ASN.1 Interface SILC BER interface SILC Key Exchange Library SILC SKE Interface SILC Connection Authentication Interface SILC SFTP Library SILC SFTP Interface SFTP Filesystems Interface 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 Engine 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 HTTP Library SILC HTTP Server Interface SILC HTTP PHP Translator Resource Links SILC Project Website SILC Protocol Documentation SILC White Paper SILC FAQs
Function silc_packet_stream_wrap SYNOPSIS
        SilcStream silc_packet_stream_wrap(SilcPacketStream stream,
                                           SilcPacketType type,
                                           SilcPacketFlags flags,
                                           SilcBool blocking_mode,
                                           SilcPacketWrapCoder coder,
                                           void *context);
DESCRIPTION
        Wraps the packet stream indicated by `stream' into a SilcStream for
        the packet type indicated by `type' with packet flags indicated by
        `flags'.  The returned SilcStream can be used to read and write the
        specified SILC packets with the specified packet flags, by calling
        silc_stream_read and silc_stream_write, respectively.  The returned
        stream can be destroyed by calling silc_stream_destroy.  It does not
        destroy the wrapped packet stream.

        If the `blocking_mode' mode is TRUE then the silc_stream_read and
        silc_stream_write may block the calling process or thread until SILC
        packet is read or written.  If it is FALSE the stream is in non-blocking
        mode and the calls never block.  The returned stream is thread-safe and
        packets may be read and written in multi-threaded environment.

        In non-blocking mode the silc_stream_set_notifier must be called before
        the returned stream can be used to read packets.  The stream status
        SILC_STREAM_CAN_READ will be returned to the notifier callback to
        indicate that a packet is ready for reading.  Calling silc_stream_read
        once returns one complete SILC packet data payload (which is of type of
        `type').

        The `coder' is optional encoder/decoder callback which the packet engine
        will call if it is non-NULL.  It can be used to encode additional data
        into each packet when silc_stream_write is called or decode data before
        it is passed to reader when silc_stream_read is called.  The `context'
        is passed to `coder'.

        The returned SilcStream can be used as any normal stream and all
        SilcStream API functions may be used with the stream.  This returns
        NULL on error.
SILC Packet Engine Interface SilcPacketType SilcPacketFlags SilcPacketEngine SilcPacketStream SilcPacket SilcPacketError SilcPacketReceiveCb SilcPacketEosCb SilcPacketErrorCb SilcPacketCallbacks silc_packet_engine_start silc_packet_engine_stop silc_packet_error_string silc_packet_engine_get_streams silc_packet_engine_free_streams_list silc_packet_stream_create silc_packet_stream_add_remote silc_packet_stream_destroy silc_packet_stream_is_valid silc_packet_stream_set_router silc_packet_stream_set_iv_included silc_packet_stream_set_stream silc_packet_stream_get_stream silc_packet_stream_link silc_packet_stream_unlink SilcPacketWrapCoder silc_packet_stream_wrap silc_packet_stream_is_udp silc_packet_get_sender silc_packet_stream_ref silc_packet_stream_unref silc_packet_get_engine silc_packet_set_context silc_packet_get_context silc_packet_set_keys silc_packet_get_keys silc_packet_set_ids silc_packet_get_ids silc_packet_set_sid silc_packet_send silc_packet_send_ext silc_packet_send_va silc_packet_send_va_ext silc_packet_wait_init silc_packet_wait_uninit silc_packet_wait silc_packet_free

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