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