updates.
[silc.git] / lib / silccore / silcpacket.h
index f0df279e8b32f6b17f1c0c6b270d705c7b7c790b..3bfd897fe36a389fdea2ebf39fd9af491c2c5404 100644 (file)
@@ -174,21 +174,21 @@ typedef unsigned char SilcPacketFlags;
  *      Packet flags. Flags are defined above.
  *
  *    unsigned char *src_id
- *    uint16 src_id_len
+ *    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;
- *    uint16 dst_id_len;
+ *    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
- *    uint16 padlen
+ *    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 
@@ -279,7 +279,7 @@ typedef struct {
  *
  * SYNOPSIS
  *
- *    typedef void (*SilcPacketParserCallback)(SilcPacketParserContext 
+ *    typedef bool (*SilcPacketParserCallback)(SilcPacketParserContext 
  *                                             *parse_context);
  *
  * DESCRIPTION
@@ -292,8 +292,16 @@ typedef struct {
  *    context. The application receiving the SilcPacketParserContext
  *    must free it.
  *
+ *    This returns TRUE if the library should continue packet processing
+ *    (assuming there is more data to be processed), and FALSE if the
+ *    upper layer does not want the library to continue but to leave the
+ *    rest of the data is the packet queue untouched.  Application may
+ *    want to do this for example if the cipher is not ready before 
+ *    processing a certain packet.  In this case the application wants
+ *    to recall the processing function with the correct cipher.
+ *
  ***/
-typedef void (*SilcPacketParserCallback)(SilcPacketParserContext 
+typedef bool (*SilcPacketParserCallback)(SilcPacketParserContext 
                                         *parse_context, void *context);
 
 /* Macros */