/build/sourc...sa_l_common.c(3)

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

πŸ’… /build/source/src/backends/isa-l/isa_l_common.c πŸ’…

okay bestie, this is the liberasurecode manual page for the isa-l backend common file, and it is lowkey giving β€œinternal Doxygen glow-up” energy. the manual name is liberasurecode, periodt.

🌸 NAME 🌸

/build/source/src/backends/isa-l/isa_l_common.c

✨ SYNOPSIS ✨

here is the include stack, literally exactly like this:

#include <stdio.h>
#include <stdlib.h>
#include 'erasurecode.h'
#include 'erasurecode_backend.h'
#include 'erasurecode_helpers.h'
#include 'erasurecode_helpers_ext.h'
#include 'isa_l_common.h'

πŸŽ€ Functions πŸŽ€

  • __attribute__ ((visibility('internal'))) β€” Return the element-size, which is the number of bits stored on a given device, per codeword.
  • static unsigned char * isa_l_get_decode_matrix (int k, int m, unsigned char *encode_matrix, int *missing_idxs)
  • static unsigned char * get_inverse_rows (int k, int m, unsigned char *decode_inverse, unsigned char *encode_matrix, int *missing_idxs, gf_mul_func gf_mul)

πŸ’– Function Documentation πŸ’–

🫢 __attribute__ ((visibility('internal')) )

bestie, this doc block is a whole group chat. it says, in order:
  • Return the element-size, which is the number of bits stored on a given device, per codeword. Compute a size aligned to the number of data and the underlying wordsize of the EC algorithm.
  • Return total fragment length (on-disk, on-wire).
  • Deallocate memory buffer if it's not NULL.
  • Allocate a zero-ed buffer of a specific size.
  • This is always 8 in ISA-L
  • Returns the size in bits!
  • Parameters:
    • size integer size in bytes of buffer to allocate
  • Returns: pointer to start of allocated buffer or NULL on error
  • This methods returns NULL so that you can free and reset a buffer using a single line as follows: my_ptr = check_and_free_buffer(my_ptr);
  • Returns: NULL
  • Parameters:
    • buf - pointer to fragment buffer
  • Returns: fragment size on disk
  • Parameters:
    • instance - ec_backend_t instance (to extract args)
    • data_len - integer length of data in bytes
  • Returns: integer data length aligned with wordsize of EC algorithm
  • Get available elements and compute the inverse of their corresponding rows.
  • Get the row needed to reconstruct
  • Fill in the available elements
  • Copy pointer of buffer to reconstruct
  • Do the reconstruction
  • Generate ISA-L encoding matrix Note that this is an abstract func from each backend
  • Generate the tables for encoding
  • Definition at line 39 of file isa_l_common.c.

🧚 unsigned char * get_inverse_rows (int k, int m, unsigned char * decode_inverse, unsigned char * encode_matrix, int * missing_idxs, gf_mul_func gf_mul) [static]

Definition at line 84 of file isa_l_common.c.

πŸ¦‹ unsigned char * isa_l_get_decode_matrix (int k, int m, unsigned char * encode_matrix, int * missing_idxs) [static]

Definition at line 55 of file isa_l_common.c.

πŸ‘‘ Author πŸ‘‘

Generated automatically by Doxygen for liberasurecode from the source code.


πŸ’œ Version 1.8.0 β€’ Tue Jan 1 1980 00:00 β€’ /build/sourc...sa_l_common.c(3) πŸ’œ

πŸ“¦ where this page comes from