38 lines
978 B
C
38 lines
978 B
C
//
|
|
// Created by zemon on 24.07.2022.
|
|
//
|
|
|
|
#ifndef GonetsReedSalmon_GonetsReedSalmon_H
|
|
#define GonetsReedSalmon_GonetsReedSalmon_H
|
|
|
|
#include "Galois256.h"
|
|
|
|
typedef struct {
|
|
tGalois256 *gf;
|
|
uint8_t generative_polynomial[32];
|
|
uint8_t generative_polynomial_len;
|
|
uint8_t parity_length;
|
|
uint8_t max_fixable_err;
|
|
|
|
} tGonetsReedSalmon;//fish
|
|
|
|
void vGonetsReedSalmonInit(tGonetsReedSalmon *env, tGalois256 *galoisField, uint8_t parity_length);
|
|
|
|
void vGonetsReedSalmonEncode(tGonetsReedSalmon *env, const uint8_t *msg, uint8_t msg_len, uint8_t *encoded);
|
|
|
|
void vGonetsReedSalmonRecovery(
|
|
tGonetsReedSalmon *env,
|
|
|
|
uint8_t *encoded_message,
|
|
uint8_t encoded_message_len,
|
|
|
|
uint8_t *recovered_message
|
|
);
|
|
|
|
|
|
void vGonetsReedSalmonEncode_1410_3430(tGonetsReedSalmon *salmonParity4, uint8_t *data1410);
|
|
|
|
void vGonetsReedSalmonRecovery_1410_3430(tGonetsReedSalmon *salmonParity4, uint8_t *data1410);
|
|
|
|
#endif //GonetsReedSalmon_GonetsReedSalmon_H
|