102 lines
4.1 KiB
C
102 lines
4.1 KiB
C
#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
|