Add files via upload

This commit is contained in:
Yutaka Sawada
2023-03-12 11:01:22 +09:00
committed by GitHub
parent 86015cf083
commit dcd8047d73
20 changed files with 15669 additions and 0 deletions

101
source/par2j/ini.h Normal file
View File

@@ -0,0 +1,101 @@
#ifndef _INI_H_
#define _INI_H_
#ifdef __cplusplus
extern "C" {
#endif
#define INI_NAME_LEN 38 // 検査結果ファイルのファイル名の文字数
extern int recent_data;
// リカバリ・ファイルの新規作成時に、同じ Set ID の記録があれば消去しておく
void reset_ini_file(unsigned char *set_id);
// 検査するリカバリ・ファイルが同じであれば、再検査する必要は無い
int check_ini_file(unsigned char *set_id);
void close_ini_file(void);
void write_ini_file2(unsigned char *par_client, wchar_t *par_comment);
void write_ini_file(file_ctx_r *files);
int read_ini_file(wchar_t *uni_buf, file_ctx_r *files);
int check_ini_recovery(
HANDLE hFile, // リカバリ・ファイルのハンドル
unsigned int meta[7]); // サイズ、作成日時、更新日時、ボリューム番号、オブジェクト番号
void write_ini_recovery(int id, __int64 off);
void write_ini_recovery2(
int packet_count, // そのリカバリ・ファイル内に含まれるパケットの数
int block_count, // そのリカバリ・ファイル内に含まれるパリティ・ブロックの数
int bad_flag,
unsigned int meta[7]); // サイズ、作成日時、更新日時、ボリューム番号、オブジェクト番号
int read_ini_recovery(
int num,
int *packet_count, // そのリカバリ・ファイル内に含まれるパケットの数
int *block_count, // そのリカバリ・ファイル内に含まれるパリティ・ブロックの数
int *bad_flag,
parity_ctx_r *p_blk); // 各パリティ・ブロックの情報
// Input File Slice Checksum を書き込む
void write_ini_checksum(
file_ctx_r *files, // 各ソース・ファイルの情報
source_ctx_r *s_blk); // 各ソース・ブロックの情報
// Input File Slice Checksum を読み込む
int read_ini_checksum(
file_ctx_r *files, // 各ソース・ファイルの情報
source_ctx_r *s_blk); // 各ソース・ブロックの情報
// Input File Slice Checksum が不完全でも読み書きする
void update_ini_checksum(
file_ctx_r *files, // 各ソース・ファイルの情報
source_ctx_r *s_blk); // 各ソース・ブロックの情報
void write_ini_state(
int num, // ファイル番号
unsigned int meta[7], // サイズ、作成日時、更新日時、ボリューム番号、オブジェクト番号
int result); // 検査結果 0=何ブロック目まで一致, -3=完全に一致
int check_ini_state(
int num, // ファイル番号
unsigned int meta[7], // サイズ、作成日時、更新日時、ボリューム番号、オブジェクト番号
HANDLE hFile); // そのファイルのハンドル
void write_ini_complete(
int num, // ファイル番号
wchar_t *file_path); // ソース・ファイルの絶対パス
int check_ini_verify(
wchar_t *file_name, // 表示するファイル名
HANDLE hFile, // ファイルのハンドル
int num1, // チェックサムを比較したファイルの番号
unsigned int meta[7], // サイズ、作成日時、更新日時、ボリューム番号、オブジェクト番号
file_ctx_r *files, // 各ソース・ファイルの情報
source_ctx_r *s_blk, // 各ソース・ブロックの情報
slice_ctx *sc); // スライス検査用の情報
void write_ini_verify(int id, int flag, __int64 off);
void write_ini_verify2(
int num1, // チェックサムを比較したファイルの番号
unsigned int meta[7], // サイズ、作成日時、更新日時、ボリューム番号、オブジェクト番号
int max); // 記録したブロック数
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
// 作業用のテンポラリ・ファイルを開く
int open_temp_file(
wchar_t *temp_path, // 作業用、基準ディレクトリが入ってる
int num, // 見つけたスライスが属するファイル番号
file_ctx_r *files, // 各ソース・ファイルの情報
slice_ctx *sc);
#ifdef __cplusplus
}
#endif
#endif