liberasurecode
1.5.0
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"
Go to the source code of this file.
Data Structures | |
struct | jerasure_rs_cauchy_descriptor |
Macros | |
#define | JERASURE_RS_CAUCHY_LIB_MAJOR 2 |
#define | JERASURE_RS_CAUCHY_LIB_MINOR 0 |
#define | JERASURE_RS_CAUCHY_LIB_REV 0 |
#define | JERASURE_RS_CAUCHY_LIB_VER_STR "2.0" |
#define | JERASURE_RS_CAUCHY_LIB_NAME "jerasure_rs_cauchy" |
#define | JERASURE_RS_CAUCHY_SO_NAME "libJerasure.so.2" |
#define | PYECC_CAUCHY_PACKETSIZE sizeof(long) * 128 |
#define | DEFAULT_W 4 |
Typedefs | |
typedef int *(* | cauchy_original_coding_matrix_func) (int, int, int) |
typedef int *(* | jerasure_matrix_to_bitmatrix_func) (int, int, int, int *) |
typedef int **(* | jerasure_smart_bitmatrix_to_schedule_func) (int, int, int, int *) |
typedef void(* | jerasure_bitmatrix_encode_func) (int, int, int, int *, char **, char **, int, int) |
typedef int(* | jerasure_bitmatrix_decode_func) (int, int, int, int *, int, int *, char **, char **, int, int) |
typedef int *(* | jerasure_erasures_to_erased_func) (int, int, int *) |
typedef int(* | jerasure_make_decoding_bitmatrix_func) (int, int, int, int *, int *, int *, int *) |
typedef void(* | jerasure_bitmatrix_dotprod_func) (int, int, int *, int *, int, char **, char **, int, int) |
typedef void(* | galois_uninit_field_func) (int) |
Functions | |
static void | free_rs_cauchy_desc (struct jerasure_rs_cauchy_descriptor *jerasure_desc) |
static int | jerasure_rs_cauchy_encode (void *desc, char **data, char **parity, int blocksize) |
static int | jerasure_rs_cauchy_decode (void *desc, char **data, char **parity, int *missing_idxs, int blocksize) |
static int | jerasure_rs_cauchy_reconstruct (void *desc, char **data, char **parity, int *missing_idxs, int destination_idx, int blocksize) |
static int | jerasure_rs_cauchy_min_fragments (void *desc, int *missing_idxs, int *fragments_to_exclude, int *fragments_needed) |
static void * | jerasure_rs_cauchy_init (struct ec_backend_args *args, void *backend_sohandle) |
static int | jerasure_rs_cauchy_element_size (void *desc) |
Return the element-size, which is the number of bits stored on a given device, per codeword. More... | |
static int | jerasure_rs_cauchy_exit (void *desc) |
static bool | jerasure_rs_cauchy_is_compatible_with (uint32_t version) |
Variables | |
struct ec_backend_op_stubs | jerasure_rs_cauchy_ops |
struct ec_backend | jerasure_rs_cauchy |
struct ec_backend_common | backend_jerasure_rs_cauchy |
struct ec_backend_op_stubs | jerasure_rs_cauchy_op_stubs |
#define DEFAULT_W 4 |
Definition at line 237 of file jerasure_rs_cauchy.c.
Referenced by jerasure_rs_cauchy_init().
#define JERASURE_RS_CAUCHY_LIB_MAJOR 2 |
Definition at line 37 of file jerasure_rs_cauchy.c.
#define JERASURE_RS_CAUCHY_LIB_MINOR 0 |
Definition at line 38 of file jerasure_rs_cauchy.c.
#define JERASURE_RS_CAUCHY_LIB_NAME "jerasure_rs_cauchy" |
Definition at line 41 of file jerasure_rs_cauchy.c.
#define JERASURE_RS_CAUCHY_LIB_REV 0 |
Definition at line 39 of file jerasure_rs_cauchy.c.
#define JERASURE_RS_CAUCHY_LIB_VER_STR "2.0" |
Definition at line 40 of file jerasure_rs_cauchy.c.
#define JERASURE_RS_CAUCHY_SO_NAME "libJerasure.so.2" |
Definition at line 45 of file jerasure_rs_cauchy.c.
#define PYECC_CAUCHY_PACKETSIZE sizeof(long) * 128 |
Definition at line 72 of file jerasure_rs_cauchy.c.
Referenced by jerasure_rs_cauchy_decode(), jerasure_rs_cauchy_element_size(), jerasure_rs_cauchy_encode(), and jerasure_rs_cauchy_reconstruct().
typedef int*(* cauchy_original_coding_matrix_func) (int, int, int) |
Definition at line 53 of file jerasure_rs_cauchy.c.
typedef void(* galois_uninit_field_func) (int) |
Definition at line 66 of file jerasure_rs_cauchy.c.
typedef int(* jerasure_bitmatrix_decode_func) (int, int, int, int *, int, int *, char **, char **, int, int) |
Definition at line 60 of file jerasure_rs_cauchy.c.
typedef void(* jerasure_bitmatrix_dotprod_func) (int, int, int *, int *, int, char **, char **, int, int) |
Definition at line 65 of file jerasure_rs_cauchy.c.
typedef void(* jerasure_bitmatrix_encode_func) (int, int, int, int *, char **, char **, int, int) |
Definition at line 58 of file jerasure_rs_cauchy.c.
typedef int*(* jerasure_erasures_to_erased_func) (int, int, int *) |
Definition at line 61 of file jerasure_rs_cauchy.c.
typedef int(* jerasure_make_decoding_bitmatrix_func) (int, int, int, int *, int *, int *, int *) |
Definition at line 63 of file jerasure_rs_cauchy.c.
typedef int*(* jerasure_matrix_to_bitmatrix_func) (int, int, int, int *) |
Definition at line 54 of file jerasure_rs_cauchy.c.
typedef int**(* jerasure_smart_bitmatrix_to_schedule_func) (int, int, int, int *) |
Definition at line 56 of file jerasure_rs_cauchy.c.
|
static |
Definition at line 393 of file jerasure_rs_cauchy.c.
References jerasure_rs_cauchy_descriptor::bitmatrix, jerasure_rs_cauchy_descriptor::galois_uninit_field, jerasure_rs_cauchy_descriptor::matrix, jerasure_rs_cauchy_descriptor::schedule, and jerasure_rs_cauchy_descriptor::w.
Referenced by jerasure_rs_cauchy_exit().
|
static |
|
static |
Return the element-size, which is the number of bits stored on a given device, per codeword.
Returns the size in bits!
Definition at line 385 of file jerasure_rs_cauchy.c.
References PYECC_CAUCHY_PACKETSIZE, and jerasure_rs_cauchy_descriptor::w.
|
static |
|
static |
Definition at line 438 of file jerasure_rs_cauchy.c.
References free_rs_cauchy_desc().
|
static |
Definition at line 238 of file jerasure_rs_cauchy.c.
References jerasure_rs_cauchy_descriptor::bitmatrix, jerasure_rs_cauchy_descriptor::cauchy_original_coding_matrix, DEFAULT_W, jerasure_rs_cauchy_descriptor::galois_uninit_field, jerasure_rs_cauchy_descriptor::jerasure_bitmatrix_decode, jerasure_rs_cauchy_descriptor::jerasure_bitmatrix_dotprod, jerasure_rs_cauchy_descriptor::jerasure_bitmatrix_encode, jerasure_rs_cauchy_descriptor::jerasure_erasures_to_erased, jerasure_rs_cauchy_descriptor::jerasure_make_decoding_bitmatrix, jerasure_rs_cauchy_descriptor::jerasure_matrix_to_bitmatrix, jerasure_rs_cauchy_descriptor::jerasure_smart_bitmatrix_to_schedule, jerasure_rs_cauchy_descriptor::k, jerasure_rs_cauchy_descriptor::m, jerasure_rs_cauchy_descriptor::matrix, jerasure_rs_cauchy_descriptor::schedule, and jerasure_rs_cauchy_descriptor::w.
|
static |
Definition at line 450 of file jerasure_rs_cauchy.c.
References backend_jerasure_rs_cauchy.
|
static |
Definition at line 211 of file jerasure_rs_cauchy.c.
References jerasure_rs_cauchy_descriptor::k, and jerasure_rs_cauchy_descriptor::m.
|
static |
Definition at line 141 of file jerasure_rs_cauchy.c.
References alloc_zeroed_buffer(), jerasure_rs_cauchy_descriptor::bitmatrix, jerasure_rs_cauchy_descriptor::jerasure_bitmatrix_decode, jerasure_rs_cauchy_descriptor::jerasure_bitmatrix_dotprod, jerasure_rs_cauchy_descriptor::jerasure_erasures_to_erased, jerasure_rs_cauchy_descriptor::jerasure_make_decoding_bitmatrix, jerasure_rs_cauchy_descriptor::k, jerasure_rs_cauchy_descriptor::m, PYECC_CAUCHY_PACKETSIZE, and jerasure_rs_cauchy_descriptor::w.
struct ec_backend_common backend_jerasure_rs_cauchy |
Definition at line 51 of file jerasure_rs_cauchy.c.
Referenced by jerasure_rs_cauchy_is_compatible_with().
struct ec_backend jerasure_rs_cauchy |
Definition at line 50 of file jerasure_rs_cauchy.c.
struct ec_backend_op_stubs jerasure_rs_cauchy_op_stubs |
Definition at line 454 of file jerasure_rs_cauchy.c.
struct ec_backend_op_stubs jerasure_rs_cauchy_ops |
Definition at line 49 of file jerasure_rs_cauchy.c.