SHSS.C(3)

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

🌸 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 β€” default W, set to 128.
  • #define METADATA 32 β€” metadata macro, set to 32.

πŸ¦‹ 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_shss
  • static 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, and SHSS_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, and shss_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, and shss_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, and shss_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, and shss_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, and shss_descriptor::ssreconst.

🌈 Variable Documentation 🌈

struct ec_backend_common backend_shss

  • Definition at line 41 of file shss.c.
  • Referenced by __attribute__(), and shss_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