JERASURE_RS_VAND.C(3)

πŸ“¦
version 1.8.0 Β· 2 versions
, in nixpkgs unstable

πŸ’– 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_vand
  • static 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 file jerasure_rs_vand.c.
  • typedef int *(* jerasure_erasures_to_erased_func) (int, int, int *) β€” definition at line 55 of file jerasure_rs_vand.c.
  • typedef int(* jerasure_make_decoding_matrix_func) (int, int, int, int *, int *, int *, int *) β€” definition at line 54 of file jerasure_rs_vand.c.
  • typedef int(* jerasure_matrix_decode_func) (int, int, int, int *, int, int *, char **, char **, int) β€” definition at line 53 of file jerasure_rs_vand.c.
  • typedef void(* jerasure_matrix_dotprod_func) (int, int, int *, int *, int, char **, char **, int) β€” definition at line 56 of file jerasure_rs_vand.c.
  • typedef void(* jerasure_matrix_encode_func) (int, int, int, int *, char **, char **, int) β€” definition at line 52 of file jerasure_rs_vand.c.
  • typedef int *(* reed_sol_vandermonde_coding_matrix_func) (int, int, int) β€” definition at line 51 of file jerasure_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