SILC Core Library SILC Auth API SILC Channel API SILC Command API SILC ID API SILC ID Cache API SILC Modes SILC Notify API SILC Packet API SILC Payload API SILC Private API SILC Math Library SILC Math API SILC MP API SILC SFTP Library SILC SFTP API SILC SFTP Filesystems SILC Utility Library SILC Buffer API SILC Buffer Format API SILC Buffer Utility API SILC Hash Table API SILC Log and Debug API SILC Memory API SILC Mutex API SILC Thread API SILC Net API SILC Schedule API SILC Socket Connection API SILC Protocol API SILC Util API SILC Zip API SILC List API SILC Dynamic List API SILC Key Exchange Library SILC SKE API SILC SKE Status SILC Client Library SILC Client API SILC Crypto Library SILC Cipher API SILC Hash API SILC HMAC API SILC PKCS API SILC RNG API
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:

        SilcBuffer buffer

          The data buffer.

        SilcPacketType type

          Type of the packet. Types are defined below.

        SilcPacketFlags flags

          Packet flags. Flags are defined above.

        unsigned char *src_id
        uint8 src_id_len
        unsigned char 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;
        uint8 dst_id_len;
        unsigned char 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.

        uint16 truelen
        uint8 padlen

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

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

        uint32 sequence;

          Packet sequence number.
>> SilcPacketAPI >> SilcPacketType >> SilcPacketVersion >> SilcPacketFlags >> SilcPacketContext >> SilcPacketParserContext >> SilcPacketParserCallback >> SILC_PACKET_LENGTH >> 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