Files
MultiPar/source/par2j/ini.h
2023-03-12 11:01:22 +09:00

102 lines
4.1 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#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