init
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
#ifndef MESHCORE_FRAME_HEADER
|
||||
#define MESHCORE_FRAME_HEADER
|
||||
|
||||
#include "stddef.h"
|
||||
#include "stdint.h"
|
||||
#include "lib/cifra/aes.h"
|
||||
#include "lib/cifra/hmac.h"
|
||||
#include "packetstructs.h"
|
||||
|
||||
|
||||
#define KEY_SIZE 16 // 128-bit AES
|
||||
#define HMAC_SIZE 2 // meshcore size
|
||||
#define MAX_FLOOD_TTL 64
|
||||
//#define NON_RETX_HISTORY 64
|
||||
#define NON_RETX_HISTORY 8
|
||||
|
||||
int ReadFrame (FrameStruct *frame, int8_t *rssiPacket, int8_t *snrPacket, int8_t *rawSnr);
|
||||
|
||||
void LoRaTransmit (const FrameStruct *frame);
|
||||
|
||||
/*
|
||||
FrameStruct decodeFrame (unsigned char *data, unsigned char dataLen);
|
||||
|
||||
void sendFrame (const FrameStruct * frame);
|
||||
*/
|
||||
|
||||
void printFrameHeader (const FrameStruct *frame);
|
||||
|
||||
// CALL LAST, PATH GETS MODIFIED
|
||||
void retransmitFrame (FrameStruct *frame);
|
||||
|
||||
// Verify MAC + Decrypt
|
||||
|
||||
int encrypt_then_mac (const uint8_t *aes_key, const uint8_t keySize, const uint8_t *plaintext, size_t plen, uint8_t *output, size_t *olen);
|
||||
|
||||
int mac_then_decrypt (const uint8_t *aes_key, const uint8_t keySize, const uint8_t *input, size_t ilen, uint8_t *plaintext);
|
||||
|
||||
void addToNotReTX(const FrameStruct *frame);
|
||||
|
||||
typedef struct KnownPacketHistoryType {
|
||||
uint8_t hash[32];
|
||||
uint8_t populated;
|
||||
} KnownPacketHistoryType;
|
||||
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user