i2pd/Garlic.h

31 lines
574 B
C
Raw Normal View History

2013-11-24 01:35:15 +04:00
#ifndef GARLIC_H__
#define GARLIC_H__
#include <inttypes.h>
#include "I2NPProtocol.h"
namespace i2p
{
enum GarlicDeliveryType
{
eGarlicDeliveryTypeLocal = 0,
eGarlicDeliveryTypeDestination = 1,
eGarlicDeliveryTypeRouter = 2,
eGarlicDeliveryTypeTunnel = 3
};
#pragma pack(1)
struct ElGamalBlock
{
uint8_t sessionKey[32];
uint8_t preIV[32];
uint8_t padding[158];
};
#pragma pack()
I2NPMessage * WrapI2NPMessage (const uint8_t * encryptionKey, I2NPMessage * msg);
size_t CreateGarlicPayload (uint8_t * payload, I2NPMessage * msg);
}
#endif