1 /* Initialize a RS codec 2 * 3 * Copyright 2002 Phil Karn, KA9Q 4 * May be used under the terms of the GNU Lesser General Public License (LGPL) 5 */ 6 #include <stdlib.h> 7 #include "fec.h" 8 9 #if !defined(NULL) 10 #define NULL ((void *)0) 11 #endif 12 13 #include "rs-common.h" 14 15 void free_rs(void *p){ 16 struct rs *rs = (struct rs *)p; 17 18 free(rs->alpha_to); 19 free(rs->index_of); 20 free(rs->genpoly); 21 free(rs); 22 } 23 24 /* Initialize a Reed-Solomon codec 25 * symsize = symbol size, bits 26 * gfpoly = Field generator polynomial coefficients 27 * fcr = first root of RS code generator polynomial, index form 28 * prim = primitive element to generate polynomial roots 29 * nroots = RS code generator polynomial degree (number of roots) 30 * pad = padding bytes at front of shortened block 31 */ 32 void *init_rs_common(int symsize,int gfpoly,int fcr,int prim, 33 int nroots,int pad){ 34 struct rs *rs; 35 36 #include "init_rs.h" 37 38 return rs; 39 } 40