zfec是一种前向纠删码,用于给原始数据增加冗余信息,以提高数据的安全性。zfec提供了诸如c、python等语言的接口。在这里只介绍有关c语言的接口。
zfec源代码的下载地址为:http://pypi.python.org/pypi/zfec
1.fec_t结构
1: typedef struct {
unsigned long magic;
unsigned short k, n; /* parameters of the code */
gf* enc_matrix; //其中的k是数据块的个数,n是所有块的总数(包括数据块和校验块)
} fec_t;
2.fec_new()
fec_t* fec_new(
unsigned short k, /*原数据块个数,对应编码理论中k */
unsigned short m /*编码后所有数据块个数,对应编码理论中n */
)
3.fec_encode()编码函数
void fec_encode(
const fec_t* code, /*fec_t 结构的指针*/
const gf*restrict const*restrict const src, /*原始数据指针*/
gf*restrict const*restrict const fecs, /*fec 生成的校验数据的指针*/
const unsigned*restrict const block_nums,
/*记录冗余数据块在整个数据(包