JERASURE_RS_VAND.C(3)
π NAME π
okay so bestie, welcome to the jerasure_rs_vand.c (3) page β the manual is liberasurecode, and the header path is /build/source...ure_rs_vand.c(3). The actual source file is /build/source/src/backends/jerasure/jerasure_rs_vand.c. This whole page is Doxygen-generated reference tea: includes, structs, macros, typedefs, functions, variables, line-number receipts, and references. No cap, every detail is staying. π
πΈ SYNOPSIS πΈ
the includes you need, literally exactly:
#include <stdio.h>
#include <stdlib.h>
#include 'erasurecode.h'
#include 'erasurecode_backend.h'
#include 'erasurecode_helpers.h'
#include 'erasurecode_helpers_ext.h'
π Data Structures π
struct jerasure_rs_vand_descriptor
π§ Macros π§
the macro lineup, no cap:
#define JERASURE_RS_VAND_LIB_MAJOR 2
#define JERASURE_RS_VAND_LIB_MINOR 0
#define JERASURE_RS_VAND_LIB_REV 0
#define JERASURE_RS_VAND_LIB_VER_STR '2.0'
#define JERASURE_RS_VAND_LIB_NAME 'jerasure_rs_vand'
#define JERASURE_RS_VAND_SO_NAME 'libJerasure'
LIBERASURECODE_SO_SUFFIX '.so.2'
#define DEFAULT_W 16
π¦ Typedefs π¦
the typedef besties, in original order:
typedef int *(* reed_sol_vandermonde_coding_matrix_func) (int, int, int)
typedef void(* jerasure_matrix_encode_func) (int, int, int, int *, char **, char **, int)
typedef int(* jerasure_matrix_decode_func) (int, int, int, int *, int, int *, char **, char **, int)
typedef int(* jerasure_make_decoding_matrix_func) (int, int, int, int *, int *, int *, int *)
typedef int *(* jerasure_erasures_to_erased_func) (int, int, int *)
typedef void(* jerasure_matrix_dotprod_func) (int, int, int *, int *, int, char **, char **, int)
typedef void(* galois_uninit_field_func) (int)
β¨ Functions β¨
function signatures, periodt:
static int jerasure_rs_vand_encode (void *desc, char **data, char **parity, int blocksize)static int jerasure_rs_vand_decode (void *desc, char **data, char **parity, int *missing_idxs, int blocksize)static int jerasure_rs_vand_reconstruct (void *desc, char **data, char **parity, int *missing_idxs, int destination_idx, int blocksize)static int jerasure_rs_vand_min_fragments (void *desc, int *missing_idxs, int *fragments_to_exclude, int *fragments_needed)static void * jerasure_rs_vand_init (struct ec_backend_args *args, void *backend_sohandle)static int jerasure_rs_vand_element_size (void *desc)β return the element-size, which is the number of bits stored on a given device, per codeword.static int jerasure_rs_vand_exit (void *desc)static bool jerasure_rs_vand_is_compatible_with (uint32_t version)__attribute__ ((visibility('internal')))
π Variables π
struct ec_backend_common backend_jerasure_rs_vandstatic struct ec_backend_op_stubs jerasure_rs_vand_op_stubs
π Macro Definition Documentation π
receipts for each macro, iykyk:
π #define DEFAULT_W 16
#define DEFAULT_W 16
Definition at line 202 of file jerasure_rs_vand.c.
π #define JERASURE_RS_VAND_LIB_MAJOR 2
#define JERASURE_RS_VAND_LIB_MAJOR 2
Definition at line 37 of file jerasure_rs_vand.c.
Referenced by __attribute__().
π #define JERASURE_RS_VAND_LIB_MINOR 0
#define JERASURE_RS_VAND_LIB_MINOR 0
Definition at line 38 of file jerasure_rs_vand.c.
Referenced by __attribute__().
π #define JERASURE_RS_VAND_LIB_NAME 'jerasure_rs_vand'
#define JERASURE_RS_VAND_LIB_NAME 'jerasure_rs_vand'
Definition at line 41 of file jerasure_rs_vand.c.
Referenced by __attribute__().
π #define JERASURE_RS_VAND_LIB_REV 0
#define JERASURE_RS_VAND_LIB_REV 0
Definition at line 39 of file jerasure_rs_vand.c.
Referenced by __attribute__().
π #define JERASURE_RS_VAND_LIB_VER_STR '2.0'
#define JERASURE_RS_VAND_LIB_VER_STR '2.0'
Definition at line 40 of file jerasure_rs_vand.c.
Referenced by __attribute__().
π JERASURE_RS_VAND_SO_NAME
#define JERASURE_RS_VAND_SO_NAME 'libJerasure'
LIBERASURECODE_SO_SUFFIX '.so.2'
Definition at line 45 of file jerasure_rs_vand.c.
Referenced by __attribute__().
π Typedef Documentation π
receipts for each typedef:
typedef void(* galois_uninit_field_func) (int)β definition at line 57 of filejerasure_rs_vand.c.typedef int *(* jerasure_erasures_to_erased_func) (int, int, int *)β definition at line 55 of filejerasure_rs_vand.c.typedef int(* jerasure_make_decoding_matrix_func) (int, int, int, int *, int *, int *, int *)β definition at line 54 of filejerasure_rs_vand.c.typedef int(* jerasure_matrix_decode_func) (int, int, int, int *, int, int *, char **, char **, int)β definition at line 53 of filejerasure_rs_vand.c.typedef void(* jerasure_matrix_dotprod_func) (int, int, int *, int *, int, char **, char **, int)β definition at line 56 of filejerasure_rs_vand.c.typedef void(* jerasure_matrix_encode_func) (int, int, int, int *, char **, char **, int)β definition at line 52 of filejerasure_rs_vand.c.typedef int *(* reed_sol_vandermonde_coding_matrix_func) (int, int, int)β definition at line 51 of filejerasure_rs_vand.c.
π₯ Function Documentation π₯
full function tea, with line numbers and refs, fr fr:
π __attribute__ ((visibility('internal')) )
Definition at line 376 of file jerasure_rs_vand.c.
References backend_jerasure_rs_vand, JERASURE_RS_VAND_LIB_MAJOR, JERASURE_RS_VAND_LIB_MINOR, JERASURE_RS_VAND_LIB_NAME, JERASURE_RS_VAND_LIB_REV, JERASURE_RS_VAND_LIB_VER_STR, jerasure_rs_vand_op_stubs, and JERASURE_RS_VAND_SO_NAME.
π¦ int jerasure_rs_vand_decode (void * desc, char ** data, char ** parity, int * missing_idxs, int blocksize) [static]
Definition at line 97 of file jerasure_rs_vand.c.
References jerasure_rs_vand_descriptor::jerasure_matrix_decode, jerasure_rs_vand_descriptor::k, jerasure_rs_vand_descriptor::m, jerasure_rs_vand_descriptor::matrix, and jerasure_rs_vand_descriptor::w.
πΈ int jerasure_rs_vand_element_size (void * desc) [static]
Return the element-size, which is the number of bits stored on a given device, per codeword. For Vandermonde, this is 'w'. For somthing like cauchy, this is packetsize * w.
Returns the size in bits!
Definition at line 324 of file jerasure_rs_vand.c.
References jerasure_rs_vand_descriptor::w.
π int jerasure_rs_vand_encode (void * desc, char ** data, char ** parity, int blocksize) [static]
Definition at line 84 of file jerasure_rs_vand.c.
References jerasure_rs_vand_descriptor::jerasure_matrix_encode, jerasure_rs_vand_descriptor::k, jerasure_rs_vand_descriptor::m, jerasure_rs_vand_descriptor::matrix, and jerasure_rs_vand_descriptor::w.
π§ int jerasure_rs_vand_exit (void * desc) [static]
Definition at line 333 of file jerasure_rs_vand.c.
References jerasure_rs_vand_descriptor::galois_uninit_field, jerasure_rs_vand_descriptor::matrix, and jerasure_rs_vand_descriptor::w.
β void * jerasure_rs_vand_init (struct ec_backend_args * args, void * backend_sohandle) [static]
Definition at line 203 of file jerasure_rs_vand.c.
References DEFAULT_W, jerasure_rs_vand_descriptor::galois_uninit_field, jerasure_rs_vand_descriptor::jerasure_erasures_to_erased, jerasure_rs_vand_descriptor::jerasure_make_decoding_matrix, jerasure_rs_vand_descriptor::jerasure_matrix_decode, jerasure_rs_vand_descriptor::jerasure_matrix_dotprod, jerasure_rs_vand_descriptor::jerasure_matrix_encode, jerasure_rs_vand_descriptor::k, jerasure_rs_vand_descriptor::m, jerasure_rs_vand_descriptor::matrix, jerasure_rs_vand_descriptor::reed_sol_vandermonde_coding_matrix, and jerasure_rs_vand_descriptor::w.
π bool jerasure_rs_vand_is_compatible_with (uint32_t version) [static]
Definition at line 358 of file jerasure_rs_vand.c.
References backend_jerasure_rs_vand.
π int jerasure_rs_vand_min_fragments (void * desc, int * missing_idxs, int * fragments_to_exclude, int * fragments_needed) [static]
Definition at line 173 of file jerasure_rs_vand.c.
References jerasure_rs_vand_descriptor::k, and jerasure_rs_vand_descriptor::m.
π¦ int jerasure_rs_vand_reconstruct (void * desc, char ** data, char ** parity, int * missing_idxs, int destination_idx, int blocksize) [static]
Definition at line 111 of file jerasure_rs_vand.c.
References jerasure_rs_vand_descriptor::jerasure_erasures_to_erased, jerasure_rs_vand_descriptor::jerasure_make_decoding_matrix, jerasure_rs_vand_descriptor::jerasure_matrix_decode, jerasure_rs_vand_descriptor::jerasure_matrix_dotprod, jerasure_rs_vand_descriptor::k, jerasure_rs_vand_descriptor::m, jerasure_rs_vand_descriptor::matrix, and jerasure_rs_vand_descriptor::w.
π Variable Documentation π
π¦ struct ec_backend_common backend_jerasure_rs_vand
Definition at line 49 of file jerasure_rs_vand.c.
Referenced by __attribute__(), and jerasure_rs_vand_is_compatible_with().
π struct ec_backend_op_stubs jerasure_rs_vand_op_stubs [static]
Initial value:
= {
.INIT = jerasure_rs_vand_init,
.EXIT = jerasure_rs_vand_exit,
.ISSYSTEMATIC = 1,
.ENCODE = jerasure_rs_vand_encode,
.DECODE = jerasure_rs_vand_decode,
.FRAGSNEEDED = jerasure_rs_vand_min_fragments,
.RECONSTRUCT = jerasure_rs_vand_reconstruct,
.ELEMENTSIZE = jerasure_rs_vand_element_size,
.ISCOMPATIBLEWITH = jerasure_rs_vand_is_compatible_with,
.GETMETADATASIZE = get_backend_metadata_size_zero,
.GETENCODEOFFSET = get_encode_offset_zero,
}
Definition at line 362 of file jerasure_rs_vand.c.
Referenced by __attribute__().
π Author π
Generated automatically by Doxygen for liberasurecode from the source code.
okay that's the whole manual page, bestie β the footer cutie says Version 1.8.0, dated Tue Jan 1 1980 00:0, and this is the liberasurecode page path /build/source...ure_rs_vand.c(3). Bye bestie, go code something iconic! πβ¨
π¦ where this page comes from
- nixpkgs unstable: liberasurecode 1.8.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms