#ifndef ENCRYPTED_HEADER
#define ENCRYPTED_HEADER

#include "lib/config.h"
#include "meshcore/meshframing.h"
#include "meshcore/packetstructs.h"
#include "util/log.h"
#include <string.h>

#define MIN_LOCAL_ADVERT_INTERVAL   60

void sendEncryptedFrame (const NodeEntry *targetNode, uint8_t payloadType, const uint8_t *plain, size_t plainLen);

void sendEncryptedTextMessage (const NodeEntry *targetNode, const PlainTextMessagePayload *msg);

void sendEncryptedResponse (const NodeEntry *targetNode, const Response *resp);

void sendEncryptedRequest (const NodeEntry *targetNode, const Request *req);

void sendEncryptedPathPayload (const NodeEntry *targetNode, const ReturnedPathPayload *path);

void decodeEncryptedPayload (const FrameStruct *frame);

void parseEncryptedPayload (const EncryptedPayloadStruct *enc);

void processCommand(char * cmd, NodeEntry * remNode);

void sendPathBack (const NodeEntry *node, const Path *path);

#endif