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_packet_stream_link SYNOPSIS
        SilcBool silc_packet_stream_link(SilcPacketStream stream,
                                         SilcPacketCallbacks *callbacks,
                                         void *callback_context,
                                         int priority, ...);
DESCRIPTION
        Links the packet processing callbacks indicated by `callbacks' into
        the packet stream indicated by `stream' with priority `priority' for
        the packet types given in the variable argument list.  This function
        can be used to link to the packet stream for specific packet types
        and receive them in the specified callbacks.  This way, a third party,
        for example some library may attach itself into the packet stream
        and receive and process certain packets.  The variable argument
        list is ended with -1.  To link to receive all packets use
        SILC_PACKET_ANY.

        The default packet processing callbacks given as argument to the
        silc_packet_engine_start has the priority 0.  Any priority higher
        than 0 will then take precedence over the default callbacks.  Any
        priority lower than 0 (negative value) will be processed after the
        default callbacks.

        Note that setting only the 'packet_receive' callback in the `callbacks'
        is required.
EXAMPLE
        // Link to this packet stream, with high priority, for
        // SILC_PACKET_CONNECTION_AUTH and SILC_PACKET_CONNECTION_AUTH_REQUEST
        // packets. We don't care about other packets.
        silc_packet_stream_link(stream, our_callbacks, our_context,
                                1000000, SILC_PACKET_CONNECTION_AUTH,
                                SILC_PACKET_CONNECTION_AUTH_REQUEST, -1);
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_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(1) silc_packet_set_ids silc_packet_set_sid silc_packet_send silc_packet_send_ext silc_packet_send_va silc_packet_send_va_ext silc_packet_wait(1) silc_packet_wait_uninit silc_packet_wait silc_packet_free

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