73 lines
3.3 KiB
C
73 lines
3.3 KiB
C
#ifndef _RS_ENCODE_H_
|
|
#define _RS_ENCODE_H_
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
|
|
int encode_method1( // ソース・ブロックが一個だけの場合
|
|
wchar_t *file_path,
|
|
unsigned char *header_buf, // Recovery Slice packet のパケット・ヘッダー
|
|
HANDLE *rcv_hFile, // リカバリ・ファイルのハンドル
|
|
file_ctx_c *files, // ソース・ファイルの情報
|
|
source_ctx_c *s_blk, // ソース・ブロックの情報
|
|
parity_ctx_c *p_blk); // パリティ・ブロックの情報
|
|
|
|
|
|
int encode_method2( // ソース・データを全て読み込む場合
|
|
wchar_t *file_path,
|
|
unsigned char *header_buf, // Recovery Slice packet のパケット・ヘッダー
|
|
HANDLE *rcv_hFile, // リカバリ・ファイルのハンドル
|
|
file_ctx_c *files, // ソース・ファイルの情報
|
|
source_ctx_c *s_blk, // ソース・ブロックの情報
|
|
parity_ctx_c *p_blk, // パリティ・ブロックの情報
|
|
unsigned short *constant);
|
|
|
|
int encode_method3( // パリティ・ブロックを全て保持して、一度に書き込む場合
|
|
wchar_t *file_path,
|
|
wchar_t *recovery_path, // 作業用
|
|
int packet_limit, // リカバリ・ファイルのパケット繰り返しの制限
|
|
int block_distri, // パリティ・ブロックの分配方法 (3-bit目は番号の付け方)
|
|
int packet_num, // 共通パケットの数
|
|
unsigned char *common_buf, // 共通パケットのバッファー
|
|
int common_size, // 共通パケットのバッファー・サイズ
|
|
unsigned char *footer_buf, // 末尾パケットのバッファー
|
|
int footer_size, // 末尾パケットのバッファー・サイズ
|
|
HANDLE *rcv_hFile, // リカバリ・ファイルのハンドル
|
|
file_ctx_c *files, // ソース・ファイルの情報
|
|
source_ctx_c *s_blk, // ソース・ブロックの情報
|
|
unsigned short *constant);
|
|
|
|
|
|
int encode_method4( // 全てのブロックを断片的に保持する場合 (GPU対応)
|
|
wchar_t *file_path,
|
|
unsigned char *header_buf, // Recovery Slice packet のパケット・ヘッダー
|
|
HANDLE *rcv_hFile, // リカバリ・ファイルのハンドル
|
|
file_ctx_c *files, // ソース・ファイルの情報
|
|
source_ctx_c *s_blk, // ソース・ブロックの情報
|
|
parity_ctx_c *p_blk, // パリティ・ブロックの情報
|
|
unsigned short *constant); // 複数ブロック分の領域を確保しておく?
|
|
|
|
int encode_method5( // ソース・ブロックの一部とパリティ・ブロックを保持する場合 (GPU対応)
|
|
wchar_t *file_path,
|
|
wchar_t *recovery_path, // 作業用
|
|
int packet_limit, // リカバリ・ファイルのパケット繰り返しの制限
|
|
int block_distri, // パリティ・ブロックの分配方法 (3-bit目は番号の付け方)
|
|
int packet_num, // 共通パケットの数
|
|
unsigned char *common_buf, // 共通パケットのバッファー
|
|
int common_size, // 共通パケットのバッファー・サイズ
|
|
unsigned char *footer_buf, // 末尾パケットのバッファー
|
|
int footer_size, // 末尾パケットのバッファー・サイズ
|
|
HANDLE *rcv_hFile, // リカバリ・ファイルのハンドル
|
|
file_ctx_c *files, // ソース・ファイルの情報
|
|
source_ctx_c *s_blk, // ソース・ブロックの情報
|
|
unsigned short *constant);
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|