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 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