|
liberasurecode 1.6.3
Erasure Code API library
|
#include <stdio.h>#include <stdlib.h>#include "erasurecode.h"#include "erasurecode_backend.h"#include "erasurecode_helpers.h"#include "erasurecode_helpers_ext.h"#include "isa_l_common.h"Go to the source code of this file.
Functions | |
| int | isa_l_encode (void *desc, char **data, char **parity, int blocksize) |
| static unsigned char * | isa_l_get_decode_matrix (int k, int m, unsigned char *encode_matrix, int *missing_idxs) |
| static int | get_num_missing_elements (int *missing_idxs) |
| static void | mult_and_xor_row (unsigned char *to_row, unsigned char *from_row, unsigned char val, int num_elems, gf_mul_func gf_mul) |
| static unsigned char * | get_inverse_rows (int k, int m, unsigned char *decode_inverse, unsigned char *encode_matrix, int *missing_idxs, gf_mul_func gf_mul) |
| int | isa_l_decode (void *desc, char **data, char **parity, int *missing_idxs, int blocksize) |
| int | isa_l_reconstruct (void *desc, char **data, char **parity, int *missing_idxs, int destination_idx, int blocksize) |
| int | isa_l_min_fragments (void *desc, int *missing_idxs, int *fragments_to_exclude, int *fragments_needed) |
| int | isa_l_element_size (void *desc) |
| Return the element-size, which is the number of bits stored on a given device, per codeword. | |
| int | isa_l_exit (void *desc) |
| void * | isa_l_common_init (struct ec_backend_args *args, void *backend_sohandle, const char *gen_matrix_func_name) |
|
static |
Definition at line 107 of file isa_l_common.c.
References get_inverse_rows(), get_num_missing_elements(), and mult_and_xor_row().
Referenced by get_inverse_rows(), isa_l_decode(), and isa_l_reconstruct().
|
static |
Definition at line 79 of file isa_l_common.c.
References get_num_missing_elements().
Referenced by get_inverse_rows(), get_num_missing_elements(), and isa_l_decode().
| void * isa_l_common_init | ( | struct ec_backend_args * | args, |
| void * | backend_sohandle, | ||
| const char * | gen_matrix_func_name ) |
Generate ISA-L encoding matrix Note that this is an abstract func from each backend
Generate the tables for encoding
Definition at line 446 of file isa_l_common.c.
References isa_l_common_init().
Referenced by isa_l_common_init(), isa_l_rs_cauchy_init(), and isa_l_rs_vand_init().
| int isa_l_decode | ( | void * | desc, |
| char ** | data, | ||
| char ** | parity, | ||
| int * | missing_idxs, | ||
| int | blocksize ) |
Definition at line 179 of file isa_l_common.c.
References get_inverse_rows(), get_num_missing_elements(), isa_l_decode(), and isa_l_get_decode_matrix().
Referenced by isa_l_decode().
| int isa_l_element_size | ( | void * | desc | ) |
Return the element-size, which is the number of bits stored on a given device, per codeword.
This is always 8 in ISA-L
Returns the size in bits!
Definition at line 427 of file isa_l_common.c.
References isa_l_element_size().
Referenced by isa_l_element_size().
| int isa_l_encode | ( | void * | desc, |
| char ** | data, | ||
| char ** | parity, | ||
| int | blocksize ) |
Definition at line 39 of file isa_l_common.c.
References isa_l_encode().
Referenced by isa_l_encode().
| int isa_l_exit | ( | void * | desc | ) |
|
static |
Definition at line 54 of file isa_l_common.c.
References isa_l_get_decode_matrix().
Referenced by isa_l_decode(), isa_l_get_decode_matrix(), and isa_l_reconstruct().
| int isa_l_min_fragments | ( | void * | desc, |
| int * | missing_idxs, | ||
| int * | fragments_to_exclude, | ||
| int * | fragments_needed ) |
Definition at line 395 of file isa_l_common.c.
References isa_l_min_fragments().
Referenced by isa_l_min_fragments().
| int isa_l_reconstruct | ( | void * | desc, |
| char ** | data, | ||
| char ** | parity, | ||
| int * | missing_idxs, | ||
| int | destination_idx, | ||
| int | blocksize ) |
Get available elements and compute the inverse of their corresponding rows.
Get the row needed to reconstruct
Fill in the available elements
Copy pointer of buffer to reconstruct
Do the reconstruction
Definition at line 283 of file isa_l_common.c.
References get_inverse_rows(), isa_l_get_decode_matrix(), and isa_l_reconstruct().
Referenced by isa_l_reconstruct().
|
static |
Definition at line 90 of file isa_l_common.c.
References mult_and_xor_row().
Referenced by get_inverse_rows(), and mult_and_xor_row().