Files
liberasurecode/doc/code_organization.md
Matthew Oliver f6fa6c668b Update code_organization.md docs
Liberasurecode docs haven't been updated in a while. There have been
some new implementations added so these have been added to the
code_organisation.md doc. Although I didn't add ALL files in the
repo, just the more important implementation ones, namele:

  - isa_l_rs_cauchy.c
  - isa_l_rs_vand_inv.c
  - liberasurecode_rs_vand

Tim provided an overview of erasure coding to a colleague, and makes a
good additional doc for this repo, and I have his permission to add it.

  doc/erasure_coding.md

Co-Authored-By: Tim Burke <tim.burke@gmail.com>
Change-Id: Ifd3e4aea4dbed664fb77a3e4a3106bd3b0d6f343
Signed-off-by: Matthew Oliver <matt@oliver.net.au>
2025-08-07 20:27:15 -07:00

2.4 KiB

Code organization

 |-- include
 |   +-- erasurecode
 |   |   +-- erasurecode.h                --> liberasurecode frontend API header
 |   |   +-- erasurecode_backend.h        --> liberasurecode backend API header
 |   +-- xor_codes                        --> headers for the built-in XOR codes
 |
 |-- src
 |   |-- erasurecode.c                    --> liberasurecode API implementation
 |   |                                        (frontend + backend)
 |   |-- backends
 |   |   +-- null
 |   |       +-- null.c                   --> 'null' erasure code backend (template backend)
 |   |   +-- xor
 |   |       +-- flat_xor_hd.c            --> 'flat_xor_hd' erasure code backend (built-in)
 |   |   +-- rs_vand
 |   |       +-- liberasurecode_rs_vand.c --> 'liberasurecode_rs_vand' erasure code backend (built-in)
 |   |   +-- jerasure
 |   |       +-- jerasure_rs_cauchy.c     --> 'jerasure_rs_vand' erasure code backend (jerasure.org)
 |   |       +-- jerasure_rs_vand.c       --> 'jerasure_rs_cauchy' erasure code backend (jerasure.org)
 |   |   +-- isa-l
 |   |       +-- isa_l_rs_vand.c          --> 'isa_l_rs_vand' erasure code backend (Intel)
 |   |       +-- isa_l_rs_vand_inv.c      --> 'isa_l_rs_vand_inv' erasure code backend (Intel)
 |   |       +-- isa_l_rs_cauchy.c        --> 'isa_l_rs_cauchy' erasure code backend (Intel)
 |   |   +-- shss
 |   |       +-- shss.c                   --> 'shss' erasure code backend (NTT Labs)
 |   |   +-- phazrio
 |   |       +-- libphazr.c               --> 'libphazr' erasure code backend (Phazr.IO)
 |   |
 |   |-- builtin
 |   |   +-- xor_codes                    --> XOR HD code backend, built-in erasure
 |   |       |                                code implementation (shared library)
 |   |       +-- xor_code.c
 |   |       +-- xor_hd_code.c
 |   |   +-- rs_vand                      --> liberasurecode native Reed Soloman codes
 |   |
 |   +-- utils
 |       +-- chksum                       --> fragment checksum utils for erasure
 |           +-- alg_sig.c                    coded fragments
 |           +-- crc32.c
 |
 |-- doc                                  --> API Documentation
 |   +-- Doxyfile
 |   +-- html
 |
 |-- test                                 --> Test routines
 |   +-- builtin
 |   |   +-- xor_codes
 |   +-- liberasurecode_test.c
 |   +-- utils
 |
 |-- autogen.sh
 |-- configure.ac
 |-- Makefile.am
 |-- README
 |-- NEWS
 |-- COPYING
 |-- AUTHORS
 |-- INSTALL
 +-- ChangeLog