Copyright © 2001 - 2002 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 Math Library
SILC MP Interface
SILC Math Interface
SILC SFTP Library
SILC SFTP Interface
SFTP Filesystems 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 Util Interface
SILC List Interface
SILC Dynamic List Interface
SILC VCard Interface
SILC Application Utilities
SILC Key Exchange Library
SILC SKE Interface
SKE Status Types
SKE Diffie Hellman Groups
SKE Payloads
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
Client Library Interface Reference
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
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 - 2002 SILC Project SILC Project Website | SILC Toolkit Reference Manual Index