Copyright © 2001 - 2007 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_wait_init SYNOPSIS
        void *silc_packet_wait_init(SilcPacketStream stream,
                                    const SilcID *source_id, ...);
DESCRIPTION
        Initializes a packet waiter for the packet stream `stream' and
        for the variable argument list of packet types.  The function
        silc_packet_wait can be used to block the thread until a packet
        has been received.

        This function is used to initialize the waiting and to give the list
        of packet types that caller wish to receive.  The variable argument
        list must end with -1.  To receive all packets use SILC_PACKET_ANY.
        If the `source_id' is non-NULL then only packets of the specified
        type from the specified `source_id' are received.  If it is NULL
        then the packet source is ignored.

        Returns a context that must be given to the silc_packet_wait function
        as argument.  Returns NULL on error.  To uninitialize the waiting
        call silc_packet_wait_uninit.
NOTES
        Note that packets may be available immediately after calling this
        function and they will be buffered, until silc_packet_wait is called.
EXAMPLE
        void *waiter;

        // Will wait for private message packets
        waiter = silc_packet_wait_init(stream, NULL,
                                       SILC_PACKET_PRIVATE_MESSAGE, -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 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