Erasure Code API library written in C with pluggable Erasure Code backends.
Go to file
Tushar Gohad a21e6e1a79 Fix --enable-debug target, make debug CFLAGS consistent (global)
Signed-off-by: Tushar Gohad <tushar.gohad@intel.com>
2014-07-17 20:57:54 -07:00
include Fix build breakage... 2014-07-19 11:08:22 -07:00
m4 autoconf: Add m4 macros for liberasurecode 2014-06-29 21:42:09 -07:00
src Fix build breakage... 2014-07-19 11:08:22 -07:00
test Removed un-used variable in liberasurecode test. 2014-07-18 14:07:37 -07:00
.gitignore autoconf: Remove no-dependencies 2014-07-17 15:43:01 -07:00
AUTHORS Library directory structure skeleton 2014-06-29 10:00:46 -07:00
COPYING autoconf: Add liberasurecode license (COPYING) 2014-06-29 21:42:09 -07:00
ChangeLog Version fix in ChangeLog 2014-07-16 23:55:01 -07:00
INSTALL Library directory structure skeleton 2014-06-29 10:00:46 -07:00
Makefile.am Fix --enable-debug target, make debug CFLAGS consistent (global) 2014-07-17 20:57:54 -07:00
NEWS Library directory structure skeleton 2014-06-29 10:00:46 -07:00
README Update README with code organization 2014-07-16 20:37:56 -07:00
Xorcode.pc.in autoconf: Add Xorcode pkgconfig, other minor fixes 2014-06-29 21:42:09 -07:00
aclocal.m4 autoconf: Remove no-dependencies 2014-07-17 15:43:01 -07:00
autogen.sh autoconf: Incremental autoreconf fixes (take 1) 2014-06-29 21:42:09 -07:00
configure.ac Fix --enable-debug target, make debug CFLAGS consistent (global) 2014-07-17 20:57:54 -07:00
depcomp Library directory structure skeleton 2014-06-29 10:00:46 -07:00
erasurecode.pc.in autoconf: Add Xorcode pkgconfig, other minor fixes 2014-06-29 21:42:09 -07:00
ltmain.sh Library directory structure skeleton 2014-06-29 10:00:46 -07:00
missing Library directory structure skeleton 2014-06-29 10:00:46 -07:00

README

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## Introduction

Liberasurecode is an erasure code library which can support multiple
erasure code 'backends'. The repository includes a Jerasure for Reed-Solomon
implementation.

[TODO: flesh this out a bit more]

## Code organization

```
├── README
├── NEWS
├── COPYING
├── AUTHORS
├── INSTALL
├── ChangeLog
|
├── autogen.sh
├── configure.ac
├── Makefile.am
|
├── include
│   ├── erasurecode
│   │   ├── erasurecode.h           --> liberasurecode frontend API header
│   │   └── erasurecode_backend.h   --> liberasurecode backend API header
│   └── xor_codes
|
├── src
│   ├── erasurecode.c               --> liberasurecode API implementation
|   |                                   (frontend + backend)
│   ├── backends
│   │   └── xor
│   │       └─── flat_xor_hd.c      --> 'flat_xor_hd' erasure code backend
|   |                                   implementation
|   |
│   ├── builtin
│   │   └── xor_codes               --> XOR HD code backend, built-in to
|   |       |                           liberasurecode
│   │       ├── xor_code.c
│   │       └── xor_hd_code.c
|   |
│   └── utils
│       └── chksum                  --> fragment checksum utils for erasure
│           ├── alg_sig.c               coded fragments
│           └── crc32.c
└─── test                           --> Test routines
    ├── builtin
    │   └── xor_codes
    ├── liberasurecode_test.c
    └── utils
```

## Dependencies

## Build

To build the liberasurecode repository, perform the following from the 
top-level directory:

`$ ./autogen.sh`
`$ ./configure`
`$ make`
`$ make test`
`$ sudo make install`