メインページ | アルファベット順一覧 | 構成 | ファイル一覧 | 構成メンバ | ファイルメンバ | 関連ページ

# dkcSafeFileSystem.h

説明を見る。

    00001
    00032 #ifndef DKUTIL_C_SAFE_FILESYSTEM_H
    00033 #define DKUTIL_C_SAFE_FILESYSTEM_H
    00034
    00035 #include "dkcCryptograph.h"
    00036 #include "dkcSHA1.h"
    00037 #include "dkcSJISFileSystem.h"
    00038 #include "dkcBuffer.h"
    00039 #include "dkcStream.h"
    00040
    00041 typedef struct dkc_FileHeader_FileWithSignature{
    00043     BYTE little_endian;
    00045     UINT sig;
    00047     ULONGLONG filesize;
    00048     //データ部のサイズ指定は何故か大きい
    00049     //ULONGLONG datasize;
    00051     BYTE hash_value[SHA1_BIN_BUFFER_SIZE];
    00052
    00053 }DKC_FILE_HEADER_FILE_WITH_SIGNATURE;
    00054
    00055 typedef struct dkc_FileWithSignature{
    00056     DKC_STREAM *mStream;
    00057     DKC_SHA1 *mSHA1;
    00058     DKC_BUFFER *mDustbin;
    00060     BYTE mWriteMode;
    00062     BYTE mAllLoad;
    00064     DKC_FILE_HEADER_FILE_WITH_SIGNATURE mFileHeader;
    00065
    00066 }DKC_FILE_WITH_SIGNATURE;
    00067
    00068
    00085 DKC_EXTERN DKC_FILE_WITH_SIGNATURE *WINAPI dkcOpenFileWithSignature(
    00086     UINT stream_flag,//size_t stream_size,
    00087     const char *filename,const char *mode,
    00088     const void *dustbin,size_t dustbin_size,
    00089     UINT signature
    00090 );
    00091
    00092
    00093 DKC_EXTERN int WINAPI dkcFileWithSignatureWrite(DKC_FILE_WITH_SIGNATURE *p,
    00094                                                                                                 const void *data,size_t size);
    00095
    00096 DKC_EXTERN int WINAPI dkcFileWithSignatureWrite16(DKC_FILE_WITH_SIGNATURE *p,
    00097                                                                                                 const void *data,size_t size);
    00098
    00099
    00100 DKC_EXTERN int WINAPI dkcFileWithSignatureWrite32(DKC_FILE_WITH_SIGNATURE *p,
    00101                                                                                                 const void *data,size_t size);
    00102
    00103 DKC_EXTERN int WINAPI dkcFileWithSignatureWrite64(DKC_FILE_WITH_SIGNATURE *p,
    00104                                                                                                 const void *data,size_t size);
    00105
    00111 DKC_EXTERN int WINAPI dkcFileWithSignatureRead(DKC_FILE_WITH_SIGNATURE *p,
    00112                                                                                                 void *data,size_t size,size_t *readsize);
    00113
    00120 DKC_EXTERN int WINAPI dkcFileWithSignatureCheckCheat(DKC_FILE_WITH_SIGNATURE *p);
    00121
    00122 DKC_EXTERN int WINAPI dkcFileWithSignatureCheckCheatFile(const char *filename);
    00123
    00126 DKC_EXTERN void WINAPI dkcFileWithSignatureFinal(DKC_FILE_WITH_SIGNATURE *p);
    00127
    00128
    00129 DKC_EXTERN int WINAPI dkcCloseFileWithSignature(DKC_FILE_WITH_SIGNATURE **);
    00130
    00131
    00132 //**********************************************************
    00133 //暗号化機能付き ファイルセーブ
    00134 //**********************************************************
    00135
    00136 typedef struct dkc_Arcfour_File{
    00138     DKC_FILE_WITH_SIGNATURE *mFile;
    00140     DKC_ARCFOUR_STATE *maf;
    00141 }DKC_ARCFOUR_FILE;
    00142
    00149 DKC_EXTERN DKC_ARCFOUR_FILE *dkcOpenArcfourFile(
    00150     UINT stream_flag,size_t stream_size,
    00151     const char *filename,const char *mode,
    00152     const void *dustbin,size_t dustbin_size,
    00153     const void *arcfour_key,size_t arcfour_size,
    00154     UINT signature,BOOL *IsCheated
    00155 );
    00156
    00157 DKC_EXTERN int dkcCloseArcfourFile(DKC_ARCFOUR_FILE **);
    00158
    00159
    00160 DKC_EXTERN int WINAPI dkcArcfourFileWrite(DKC_ARCFOUR_FILE *p,
    00161                                                                                                 const void *data,size_t size);
    00162
    00163 DKC_EXTERN int WINAPI dkcArcfourFileWrite16(DKC_ARCFOUR_FILE *p,
    00164                                                                                                 const void *data,size_t size);
    00165
    00166
    00167 DKC_EXTERN int WINAPI dkcArcfourFileWrite32(DKC_ARCFOUR_FILE *p,
    00168                                                                                                 const void *data,size_t size);
    00169
    00170 DKC_EXTERN int WINAPI dkcArcfourFileWrite64(DKC_ARCFOUR_FILE *p,
    00171                                                                                                 const void *data,size_t size);
    00172
    00173
    00174 DKC_EXTERN int WINAPI dkcArcfourFileRead(DKC_ARCFOUR_FILE *p,
    00175                                                                                                 void *data,size_t size);
    00176
    00177
    00178
    00179
    00180 #endif //end of include once