GNU Radio's SATELLITES Package
fec.h
Go to the documentation of this file.
1/* User include file for libfec
2 * Copyright 2004, Phil Karn, KA9Q
3 * May be used under the terms of the GNU Lesser General Public License (LGPL)
4 */
5
6#ifndef _FEC_H_
7#define _FEC_H_
8
9/* General purpose RS codec, 8-bit symbols */
10void encode_rs_char(void* rs, unsigned char* data, unsigned char* parity);
11int decode_rs_char(void* rs, unsigned char* data, int* eras_pos, int no_eras);
12void* init_rs_char(int symsize, int gfpoly, int fcr, int prim, int nroots, int pad);
13void free_rs_char(void* rs);
14
15/* CCSDS standard (255,223) RS codec with conventional (*not* dual-basis)
16 * symbol representation
17 */
18void encode_rs_8(unsigned char* data, unsigned char* parity, int pad);
19int decode_rs_8(unsigned char* data, int* eras_pos, int no_eras, int pad);
20
21/* CCSDS standard (255,223) RS codec with dual-basis symbol representation */
22void encode_rs_ccsds(unsigned char* data, unsigned char* parity, int pad);
23int decode_rs_ccsds(unsigned char* data, int* eras_pos, int no_eras, int pad);
24
25/* Tables to map from conventional->dual (Taltab) and
26 * dual->conventional (Tal1tab) bases
27 */
28extern unsigned char Taltab[], Tal1tab[];
29
30#endif /* _FEC_H_ */
void encode_rs_ccsds(unsigned char *data, unsigned char *parity, int pad)
void * init_rs_char(int symsize, int gfpoly, int fcr, int prim, int nroots, int pad)
int decode_rs_ccsds(unsigned char *data, int *eras_pos, int no_eras, int pad)
void encode_rs_char(void *rs, unsigned char *data, unsigned char *parity)
void free_rs_char(void *rs)
void encode_rs_8(unsigned char *data, unsigned char *parity, int pad)
int decode_rs_char(void *rs, unsigned char *data, int *eras_pos, int no_eras)
unsigned char Taltab[]
int decode_rs_8(unsigned char *data, int *eras_pos, int no_eras, int pad)
unsigned char Tal1tab[]
Definition fec.h:28
rs pad
Definition init_rs.h:32
rs nroots
Definition init_rs.h:80
rs fcr
Definition init_rs.h:78
rs prim
Definition init_rs.h:79
Definition rs-common.h:7