GNU Radio Manual and C++ API Reference  3.10.9.1
The Free & Open Software Radio Ecosystem
rs.h
Go to the documentation of this file.
1 /* User include file for the Reed-Solomon codec
2  * Copyright 2002, Phil Karn KA9Q
3  * May be used under the terms of the GNU General Public License (GPL)
4  */
5 
6 #ifndef INCLUDED_RS_H
7 #define INCLUDED_RS_H
8 #include <gnuradio/fec/api.h>
9 
10 /* General purpose RS codec, 8-bit symbols */
11 FEC_API void encode_rs_char(void* rs, unsigned char* data, unsigned char* parity);
12 FEC_API int decode_rs_char(void* rs, unsigned char* data, int* eras_pos, int no_eras);
13 FEC_API void* init_rs_char(unsigned int symsize,
14  unsigned int gfpoly,
15  unsigned int fcr,
16  unsigned int prim,
17  unsigned int nroots);
18 FEC_API void free_rs_char(void* rs);
19 
20 /* General purpose RS codec, integer symbols */
21 FEC_API void encode_rs_int(void* rs, int* data, int* parity);
22 FEC_API int decode_rs_int(void* rs, int* data, int* eras_pos, int no_eras);
23 FEC_API void* init_rs_int(unsigned int symsize,
24  unsigned int gfpoly,
25  unsigned int fcr,
26  unsigned int prim,
27  unsigned int nroots);
28 FEC_API void free_rs_int(void* rs);
29 
30 /* CCSDS standard (255,223) RS codec with conventional (*not* dual-basis)
31  * symbol representation
32  */
33 FEC_API void encode_rs_8(unsigned char* data, unsigned char* parity);
34 FEC_API int decode_rs_8(unsigned char* data, int* eras_pos, int no_eras);
35 
36 /* CCSDS standard (255,223) RS codec with dual-basis symbol representation
37  */
38 FEC_API void encode_rs_ccsds(unsigned char* data, unsigned char* parity);
39 FEC_API int decode_rs_ccsds(unsigned char* data, int* eras_pos, int no_eras);
40 
41 #endif /* INCLUDED_RS_H */
#define FEC_API
Definition: gr-fec/include/gnuradio/fec/api.h:18
FEC_API int decode_rs_char(void *rs, unsigned char *data, int *eras_pos, int no_eras)
FEC_API int decode_rs_ccsds(unsigned char *data, int *eras_pos, int no_eras)
FEC_API void free_rs_int(void *rs)
FEC_API void * init_rs_char(unsigned int symsize, unsigned int gfpoly, unsigned int fcr, unsigned int prim, unsigned int nroots)
FEC_API void encode_rs_ccsds(unsigned char *data, unsigned char *parity)
FEC_API void free_rs_char(void *rs)
FEC_API void * init_rs_int(unsigned int symsize, unsigned int gfpoly, unsigned int fcr, unsigned int prim, unsigned int nroots)
FEC_API void encode_rs_8(unsigned char *data, unsigned char *parity)
FEC_API void encode_rs_char(void *rs, unsigned char *data, unsigned char *parity)
FEC_API int decode_rs_int(void *rs, int *data, int *eras_pos, int no_eras)
FEC_API int decode_rs_8(unsigned char *data, int *eras_pos, int no_eras)
FEC_API void encode_rs_int(void *rs, int *data, int *parity)