liberasurecode 1.6.3
Erasure Code API library
|
#include <stdio.h>
#include <stdlib.h>
#include <xor_code.h>
#include "erasurecode.h"
#include "erasurecode_backend.h"
Go to the source code of this file.
Data Structures | |
struct | flat_xor_hd_descriptor |
Macros | |
#define | FLAT_XOR_LIB_MAJOR 1 |
#define | FLAT_XOR_LIB_MINOR 0 |
#define | FLAT_XOR_LIB_REV 0 |
#define | FLAT_XOR_LIB_VER_STR "1.0" |
#define | FLAT_XOR_LIB_NAME "flat_xor_hd" |
#define | FLAT_XOR_SO_NAME "libXorcode" LIBERASURECODE_SO_SUFFIX ".so.1" |
#define | DEFAULT_W 32 |
Typedefs | |
typedef xor_code_t *(* | init_xor_hd_code_func) (int, int, int) |
typedef void(* | xor_code_encode_func) (xor_code_t *, char **, char **, int) |
typedef int(* | xor_code_decode_func) (xor_code_t *, char **, char **, int *, int, int) |
typedef int(* | xor_hd_fragments_needed_func) (xor_code_t *, int *, int *, int *) |
Functions | |
static int | flat_xor_hd_encode (void *desc, char **data, char **parity, int blocksize) |
static int | flat_xor_hd_decode (void *desc, char **data, char **parity, int *missing_idxs, int blocksize) |
static int | flat_xor_hd_reconstruct (void *desc, char **data, char **parity, int *missing_idxs, int destination_idx, int blocksize) |
static int | flat_xor_hd_min_fragments (void *desc, int *missing_idxs, int *fragments_to_exclude, int *fragments_needed) |
static int | flar_xor_hd_element_size (void *desc) |
Return the element-size, which is the number of bits stored on a given device, per codeword. | |
static void * | flat_xor_hd_init (struct ec_backend_args *args, void *sohandle) |
static int | flat_xor_hd_exit (void *desc) |
static bool | flat_xor_is_compatible_with (uint32_t version) |
Variables | |
struct ec_backend_op_stubs | flat_xor_hd_ops |
struct ec_backend | flat_xor_hd |
struct ec_backend_common | backend_flat_xor_hd |
struct ec_backend_op_stubs | flat_xor_hd_op_stubs |
#define DEFAULT_W 32 |
Definition at line 46 of file flat_xor_hd.c.
#define FLAT_XOR_LIB_MAJOR 1 |
Definition at line 36 of file flat_xor_hd.c.
#define FLAT_XOR_LIB_MINOR 0 |
Definition at line 37 of file flat_xor_hd.c.
#define FLAT_XOR_LIB_NAME "flat_xor_hd" |
Definition at line 40 of file flat_xor_hd.c.
#define FLAT_XOR_LIB_REV 0 |
Definition at line 38 of file flat_xor_hd.c.
#define FLAT_XOR_LIB_VER_STR "1.0" |
Definition at line 39 of file flat_xor_hd.c.
#define FLAT_XOR_SO_NAME "libXorcode" LIBERASURECODE_SO_SUFFIX ".so.1" |
Definition at line 44 of file flat_xor_hd.c.
typedef xor_code_t *(* init_xor_hd_code_func) (int, int, int) |
Definition at line 53 of file flat_xor_hd.c.
typedef int(* xor_code_decode_func) (xor_code_t *, char **, char **, int *, int, int) |
Definition at line 55 of file flat_xor_hd.c.
typedef void(* xor_code_encode_func) (xor_code_t *, char **, char **, int) |
Definition at line 54 of file flat_xor_hd.c.
typedef int(* xor_hd_fragments_needed_func) (xor_code_t *, int *, int *, int *) |
Definition at line 56 of file flat_xor_hd.c.
|
static |
Return the element-size, which is the number of bits stored on a given device, per codeword.
This is usually just 'w'.
Definition at line 118 of file flat_xor_hd.c.
References DEFAULT_W.
|
static |
Definition at line 77 of file flat_xor_hd.c.
References flat_xor_hd_descriptor::xor_desc.
|
static |
Definition at line 66 of file flat_xor_hd.c.
References flat_xor_hd_descriptor::xor_desc.
|
static |
Definition at line 154 of file flat_xor_hd.c.
References flat_xor_hd_descriptor::xor_desc.
|
static |
Definition at line 123 of file flat_xor_hd.c.
References DEFAULT_W, init_xor_hd_code(), and flat_xor_hd_descriptor::xor_desc.
|
static |
Definition at line 101 of file flat_xor_hd.c.
References flat_xor_hd_descriptor::xor_desc.
|
static |
Definition at line 88 of file flat_xor_hd.c.
References flat_xor_hd_descriptor::xor_desc, and xor_reconstruct_one().
|
static |
Definition at line 168 of file flat_xor_hd.c.
References backend_flat_xor_hd.
struct ec_backend_common backend_flat_xor_hd |
Definition at line 51 of file flat_xor_hd.c.
Referenced by flat_xor_is_compatible_with().
struct ec_backend flat_xor_hd |
Definition at line 50 of file flat_xor_hd.c.
struct ec_backend_op_stubs flat_xor_hd_op_stubs |
Definition at line 172 of file flat_xor_hd.c.
struct ec_backend_op_stubs flat_xor_hd_ops |
Definition at line 49 of file flat_xor_hd.c.