blob: 0d1bae1aaedfad385b36103c2f8cb805ed72de6a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
/* Main header for reduced libfec.
*
* The FEC code in this folder is
* Copyright 2003 Phil Karn, KA9Q
* May be used under the terms of the GNU Lesser General Public License (LGPL)
*/
#pragma once
#include <stdlib.h>
#include "char.h"
#include "rs-common.h"
/* Initialize a Reed-Solomon codec
* symsize = symbol size, bits
* gfpoly = Field generator polynomial coefficients
* fcr = first root of RS code generator polynomial, index form
* prim = primitive element to generate polynomial roots
* nroots = RS code generator polynomial degree (number of roots)
* pad = padding bytes at front of shortened block
*/
void *init_rs_char(int symsize,int gfpoly,int fcr,int prim,int nroots,int pad);
int decode_rs_char(void *p, data_t *data, int *eras_pos, int no_eras);
void encode_rs_char(void *p,data_t *data, data_t *parity);
void free_rs_char(void *p);
|