X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=docs%2Ftoolkit%2Fmanual%2Fsilcpacket-silc_packet_stream_wrap.html;fp=docs%2Ftoolkit%2Fmanual%2Fsilcpacket-silc_packet_stream_wrap.html;h=5599bd60f8f83a4cc9496c583e2f1c7196cd2c88;hb=80b80cef93d9dff6acc4bc8e3a522c55fcdc3fca;hp=0000000000000000000000000000000000000000;hpb=43e53f529ca5c7d2ddb7cee8e76e273631e6f1e2;p=website.git diff --git a/docs/toolkit/manual/silcpacket-silc_packet_stream_wrap.html b/docs/toolkit/manual/silcpacket-silc_packet_stream_wrap.html new file mode 100644 index 0000000..5599bd6 --- /dev/null +++ b/docs/toolkit/manual/silcpacket-silc_packet_stream_wrap.html @@ -0,0 +1,299 @@ + + + + + + + + + + + + + + + + + + + +
Copyright © 2001 - 2007 SILC Project
+ SILC Project Website
+ SILC Toolkit Reference Manual
+ Index
+ + +
+ + + + + + + + + + + + + + +
+ + + +
+
+ + + +SILC Toolkit Reference Manual
+ + +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 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 Key Exchange Library
+    SILC SKE Interface
+    SILC Connection Authentication Interface
+SILC VCard Library
+    SILC VCard Interface
+SILC Math Library
+    SILC MP Interface
+    SILC Math 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 ASN.1 Library
+    SILC ASN.1 Interface
+    SILC BER interface
+SILC HTTP Library
+    SILC HTTP Server Interface
+    SILC HTTP PHP Translator
+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 Application Utility Library
+    SILC Application Utilities
+    SILC ID Cache Interface
+SILC SFTP Library
+    SILC SFTP Interface
+    SFTP Filesystems Interface
+ +
+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,
+                                       SilcIdType src_id_type, void *src_id,
+                                       SilcIdType dst_id_type, void *dst_id,
+                                       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').
+
+    If src_id and/or dst_id are set they will be used as the ids in the
+    sent SILC packets.  If the dst_id is set then the stream will receive
+    packets only originating from that id.
+
+    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_inject
+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
+ + +