diff options
Diffstat (limited to 'gr-fec/include/fec/rs.h')
-rw-r--r-- | gr-fec/include/fec/rs.h | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/gr-fec/include/fec/rs.h b/gr-fec/include/fec/rs.h new file mode 100644 index 0000000000..27551f5407 --- /dev/null +++ b/gr-fec/include/fec/rs.h @@ -0,0 +1,30 @@ +#include <fec/api.h> +/* User include file for the Reed-Solomon codec + * Copyright 2002, Phil Karn KA9Q + * May be used under the terms of the GNU General Public License (GPL) + */ + +/* General purpose RS codec, 8-bit symbols */ +FEC_API void encode_rs_char(void *rs,unsigned char *data,unsigned char *parity); +FEC_API int decode_rs_char(void *rs,unsigned char *data,int *eras_pos, int no_eras); +FEC_API void *init_rs_char(unsigned int symsize,unsigned int gfpoly, + unsigned int fcr,unsigned int prim,unsigned int nroots); +FEC_API void free_rs_char(void *rs); + +/* General purpose RS codec, integer symbols */ +FEC_API void encode_rs_int(void *rs,int *data,int *parity); +FEC_API int decode_rs_int(void *rs,int *data,int *eras_pos,int no_eras); +FEC_API void *init_rs_int(unsigned int symsize,unsigned int gfpoly,unsigned int fcr, + unsigned int prim,unsigned int nroots); +FEC_API void free_rs_int(void *rs); + +/* CCSDS standard (255,223) RS codec with conventional (*not* dual-basis) + * symbol representation + */ +FEC_API void encode_rs_8(unsigned char *data,unsigned char *parity); +FEC_API int decode_rs_8(unsigned char *data,int *eras_pos,int no_eras); + +/* Tables to map from conventional->dual (Taltab) and + * dual->conventional (Tal1tab) bases + */ +extern unsigned char Taltab[],Tal1tab[]; |