[][src]Function libisal_sys::ec_encode_data

pub unsafe extern "C" fn ec_encode_data(
    len: c_int,
    k: c_int,
    rows: c_int,
    gftbls: *const c_uchar,
    data: *const *const c_uchar,
    coding: *mut *mut c_uchar
)

Generate or decode erasure codes on blocks of data, runs appropriate version.

Given a list of source data blocks, generate one or multiple blocks of encoded data as specified by a matrix of GF(2^8) coefficients. When given a suitable set of coefficients, this function will perform the fast generation or decoding of Reed-Solomon type erasure codes.

This function determines what instruction sets are enabled and selects the appropriate version at runtime.

Arguments:

  • len: Length of each block of data (vector) of source or dest data.
  • k: The number of vector sources or rows in the generator matrix for coding.
  • rows: The number of output vectors to concurrently encode/decode.
  • gftbls: Pointer to array of input tables generated from coding coefficients in ec_init_tables(). Must be of size 32 * k * rows
  • data: Array of pointers to source input buffers.
  • coding: Array of pointers to coded output buffers.