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);
 |