X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=lib%2Fsilccore%2Fsilcpacket.h;h=e3f98a524901cad2cce5420c36e6ecf9e34198c0;hb=789adec4bf1addc3ef7fb47d6370f5b3fe308376;hp=fd4302303f50f10eaaac75cf8db1e72a4cd0f9ba;hpb=4760d6aa6c3248d7e6757d2e7e7a19a834b2dc34;p=silc.git diff --git a/lib/silccore/silcpacket.h b/lib/silccore/silcpacket.h index fd430230..e3f98a52 100644 --- a/lib/silccore/silcpacket.h +++ b/lib/silccore/silcpacket.h @@ -186,6 +186,11 @@ typedef struct { typedef void (*SilcPacketParserCallback)(SilcPacketParserContext *parse_context); +/* The packet check callback in decryption phase */ +typedef int (*SilcPacketCheckDecrypt)(SilcPacketType packet_type, + SilcBuffer buffer, + SilcPacketContext *packet, + void *context); /* SILC Packet types. */ #define SILC_PACKET_NONE 0 /* NULL, never sent */ @@ -245,7 +250,9 @@ void silc_packet_send_prepare(SilcSocketConnection sock, int silc_packet_read(int sock, SilcBuffer dest); int silc_packet_receive(SilcSocketConnection sock); int silc_packet_decrypt(SilcCipher cipher, SilcHmac hmac, - SilcBuffer buffer, SilcPacketContext *packet); + SilcBuffer buffer, SilcPacketContext *packet, + SilcPacketCheckDecrypt check_packet, + void *context); void silc_packet_receive_process(SilcSocketConnection sock, SilcCipher cipher, SilcHmac hmac, SilcPacketParserCallback parser,