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





Structure SilcPacketContext

NAME
 
    typedef struct { ... } SilcPacketContext;

DESCRIPTION

    In packet sending this is filled and sent to silc_packet_assemble 
    which then uses it to assemble new packet. In packet reception pointer 
    to this context is sent to silc_packet_parse which parses the packet 
    and returns the relevant information to this structure. On packet 
    reception returned ID's are always the hash values of the ID's from 
    the packet. 

    Short description of the fields following:

    SilcUInt16 truelen

      True length of the packet.  This may be set by the caller before
      calling any of the silc_packet_* routines.  If not provided the
      library will calculate the values.

    SilcPacketFlags flags

      Packet flags. Flags are defined above.

    SilcPacketType type

      Type of the packet. Types are defined below.

    unsigned char *src_id
    SilcUInt8 src_id_len
    SilcUInt8 src_id_type

      Source ID, its length and type. On packet reception retuned ID's
      are always the hash values of the ID's from the packet.

    unsigned char *dst_id;
    SilcUInt8 dst_id_len;
    SilcUInt8 src_id_type;

      Destination ID, its length and type. On packet reception retuned
      ID's are always the hash values of the ID's from the packet.

    bool long_pad
 
      If set to TRUE the packet will include the maximum padding allowed
      in SILC packet, which is 128 bytes.  If FALSE only the amount of
      padding needed will be applied.

    SilcUInt16 users;

      Reference counter for this context. The context is freed only 
      after the reference counter hits zero. The counter is added
      calling silc_packet_context_dup and decreased by calling the
      silc_packet_context_free.

    SilcUInt8 padlen

      The padded length of the packet.  This may be set by the caller
      before calling any of the silc_packet_* routines. If not provided
      the library will calculate the values.

    SilcUInt32 sequence;

      Packet sequence number.  Set only when this context is a parsed
      packet.

    SilcBuffer buffer

      The actual packet data.  Set only when this context is a parsed
      packet.






Packet Protocol Interface
SilcPacketType
SilcPacketVersion
SilcPacketFlags
SilcPacketContext
SilcPacketParserContext
SilcPacketParserCallback
SILC_PACKET_LENGTH
SILC_PACKET_DATALEN
SILC_PACKET_PADLEN
SILC_PACKET_PADLEN_MAX
silc_packet_send
silc_packet_encrypt
silc_packet_assemble
silc_packet_send_prepare
silc_packet_receive
silc_packet_receive_process
silc_packet_parse
silc_packet_parse_special
silc_packet_context_alloc
silc_packet_context_dup
silc_packet_context_free




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