SHSS.C(3)
πΈ NAME β SHSS.C(3) from liberasurecode πΈ
okay bestie, this page is literally about /build/source/src/backends/shss/shss.c β that's the file, no cap. We're in the SHSS.C(3) manual page for liberasurecode, and it's giving auto-generated documentation main character energy. π
β¨ SYNOPSIS β¨
Pull these headers in exactly like this, fr fr:
#include <stdio.h>
#include <stdlib.h>
#include 'erasurecode.h'
#include 'erasurecode_helpers.h'
#include 'erasurecode_helpers_ext.h'
#include 'erasurecode_backend.h'
π«Ά Data Structures
struct shss_descriptorβ the one and only struct on this list. iconic. π¦
π Macros
#define SHSS_LIB_VER_STR '1.0'β the library version string macro, slay.#define SHSS_LIB_NAME 'shss'β the library name macro, exactly'shss'.#define SHSS_SO_NAME 'libshss' LIBERASURECODE_SO_SUFFIX '.so.1'β shared-object name macro, no cap.#define DEFAULT_W 128β defaultW, set to128.#define METADATA 32β metadata macro, set to32.
π¦ Typedefs
These are the function-pointer typedefs, copy-paste vibes only:
typedef int(* shss_encode_func) (char **, size_t, int, int, int, int, long
long *)
typedef int(* shss_decode_func) (char **, size_t, int *, int, int, int,
int, int, long long *)
typedef int(* shss_reconstruct_func) (char **, size_t, int *, int, int
*, int, int, int, int, int, long long *)
π₯ Functions
static int shss_encode (void *desc, char **data, char **parity, int blocksize)static int shss_decode (void *desc, char **data, char **parity, int *missing_idxs, int blocksize)static int shss_reconstruct (void *desc, char **data, char **parity, int *missing_idxs, int destination_idx, int blocksize)static int shss_fragments_needed (void *desc, int *missing_idxs, int *fragments_to_exclude, int *fragments_needed)static int shss_element_size (void *desc)β return the element-size, which is the number of bits stored on a given device, per codeword.static void * shss_init (struct ec_backend_args *args, void *backend_sohandle)static int shss_exit (void *desc)static bool shss_is_compatible_with (uint32_t version)static size_t shss_get_backend_metadata_size (void *desc, int blocksize)__attribute__ ((visibility('internal')))
π Variables
struct ec_backend_common backend_shssstatic struct ec_backend_op_stubs shss_op_stubs
π Macro Definition Documentation π
#define DEFAULT_W 128
- Definition at line 68 of file
shss.c.
#define METADATA 32
- Definition at line 69 of file
shss.c. - Referenced by
shss_get_backend_metadata_size().
#define SHSS_LIB_NAME 'shss'
- Definition at line 62 of file
shss.c. - Referenced by
__attribute__().
#define SHSS_LIB_VER_STR '1.0'
- Definition at line 61 of file
shss.c. - Referenced by
__attribute__().
#define SHSS_SO_NAME 'libshss' LIBERASURECODE_SO_SUFFIX '.so.1'
- Definition at line 66 of file
shss.c. - Referenced by
__attribute__().
π§ Typedef Documentation π§
typedef int(* shss_decode_func) (char **, size_t, int *, int, int, int, int, int, long long *)
- Definition at line 44 of file
shss.c.
typedef int(* shss_encode_func) (char **, size_t, int, int, int, int, long long *)
- Definition at line 43 of file
shss.c.
typedef int(* shss_reconstruct_func) (char **, size_t, int *, int, int *, int, int, int, int, int, long long *)
- Definition at line 45 of file
shss.c.
π Function Documentation π
__attribute__ ((visibility('internal')) )
- Definition at line 307 of file
shss.c. - References
backend_shss,SHSS_LIB_NAME,SHSS_LIB_VER_STR,shss_op_stubs, andSHSS_SO_NAME.
int shss_decode (void * desc, char ** data, char ** parity, int * missing_idxs, int blocksize) [static]
- Definition at line 102 of file
shss.c. - References
shss_descriptor::aes_bit_length,shss_descriptor::k,shss_descriptor::m,shss_descriptor::n, andshss_descriptor::ssdecode.
int shss_element_size (void * desc) [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 210 of file
shss.c. - References
DEFAULT_W.
int shss_encode (void * desc, char ** data, char ** parity, int blocksize) [static]
- Definition at line 71 of file
shss.c. - References
shss_descriptor::aes_bit_length,shss_descriptor::k,shss_descriptor::m,shss_descriptor::n, andshss_descriptor::ssencode.
int shss_exit (void * desc) [static]
- Definition at line 277 of file
shss.c.
int shss_fragments_needed (void * desc, int * missing_idxs, int * fragments_to_exclude, int * fragments_needed) [static]
- Definition at line 178 of file
shss.c. - References
shss_descriptor::k, andshss_descriptor::n.
size_t shss_get_backend_metadata_size (void * desc, int blocksize) [static]
- Definition at line 289 of file
shss.c. - References
METADATA.
void * shss_init (struct ec_backend_args * args, void * backend_sohandle) [static]
- Definition at line 215 of file
shss.c. - References
shss_descriptor::aes_bit_length,DEFAULT_W,shss_descriptor::k,shss_descriptor::m,shss_descriptor::n,shss_descriptor::ssdecode,shss_descriptor::ssencode,shss_descriptor::ssreconst, andshss_descriptor::w.
bool shss_is_compatible_with (uint32_t version) [static]
- Definition at line 285 of file
shss.c. - References
backend_shss.
int shss_reconstruct (void * desc, char ** data, char ** parity, int * missing_idxs, int destination_idx, int blocksize) [static]
- Definition at line 139 of file
shss.c. - References
shss_descriptor::aes_bit_length,shss_descriptor::k,shss_descriptor::m,shss_descriptor::n, andshss_descriptor::ssreconst.
π Variable Documentation π
struct ec_backend_common backend_shss
- Definition at line 41 of file
shss.c. - Referenced by
__attribute__(), andshss_is_compatible_with().
struct ec_backend_op_stubs shss_op_stubs [static]
Initial value:
= {
.INIT = shss_init,
.EXIT = shss_exit,
.ISSYSTEMATIC = 0,
.ENCODE = shss_encode,
.DECODE = shss_decode,
.FRAGSNEEDED = shss_fragments_needed,
.RECONSTRUCT = shss_reconstruct,
.ELEMENTSIZE = shss_element_size,
.ISCOMPATIBLEWITH = shss_is_compatible_with,
.GETMETADATASIZE = shss_get_backend_metadata_size,
.GETENCODEOFFSET = get_encode_offset_zero,
}
- Definition at line 293 of file
shss.c. - Referenced by
__attribute__().
π«Ά Author π«Ά
Generated automatically by Doxygen for liberasurecode from the source code. So yeah, the Doxygen robot wrote this one, not a human bestie. π€π
okay that's the whole page, bestie. This iconic doc is Version 1.8.0, dated Tue Jan 1 1980 00:0, with the footer path/build/source...s/shss/shss.c(3)βSHSS.C(3)out, periodt. πβ¨
π¦ 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