decode_rs8 — Decode codeword (8bit data width)
int decode_rs8
(struct rs_control * rs, uint8_t * data, uint16_t * par, int len, uint16_t * s, int no_eras, int * eras_pos, uint16_t invmsk, uint16_t * corr);
the rs control structure
data field of a given type
received parity data field
data length
syndrome data field (if NULL, syndrome is calculated)
number of erasures
position of erasures, can be NULL
invert data mask (will be xored on data, not on parity!)
buffer to store correction bitmask on eras_pos
The syndrome and parity uses a uint16_t data type to enable symbol size > 8. The calling code must take care of decoding of the syndrome result and the received parity before calling this code. Returns the number of corrected bits or -EBADMSG for uncorrectable errors.