#if !defined(AFX_MYFILE_H__71118181_92CD_11D3_B9EC_0000E2134F0A__INCLUDED_) #define AFX_MYFILE_H__71118181_92CD_11D3_B9EC_0000E2134F0A__INCLUDED_ #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 // MyFile.h : ヘッダー ファイル // /* The four core functions - F1 is optimized somewhat */ /* #define F1(x, y, z) (x & y | ~x & z) */ #define F1(x, y, z) (z ^ (x & (y ^ z))) #define F2(x, y, z) F1(z, x, y) #define F3(x, y, z) (x ^ y ^ z) #define F4(x, y, z) (y ^ (x | ~z)) /* This is the central step in the MD5 algorithm. */ #define MD5STEP(f, w, x, y, z, data, s) \ ( w += f(x, y, z) + data, w = w<>(32-s), w += x ) /* (3/4)エラーが出たので追加 */ #define ASCII_LF 0x0A // typedef unsigned long uint32; struct MD5Context { unsigned long buf[4]; unsigned long bits[2]; unsigned char in[64]; }; typedef struct MD5Context MD5_CTX; ///////////////////////////////////////////////////////////////////////////// // CMyFile ウィンドウ class CMyFile : public CWnd { // コンストラクション public: CMyFile( CString filePath ); CMyFile(); // アトリビュート public: // オペレーション public: // オーバーライド // ClassWizard は仮想関数のオーバーライドを生成します。 //{{AFX_VIRTUAL(CMyFile) //}}AFX_VIRTUAL // インプリメンテーション public: BOOL Put_motROMData(CString fName, char *romdata, DWORD saddr, DWORD eaddr); BOOL Put_motROMData(char *fileName, char *romdata ,DWORD saddr ,DWORD eaddr ); BOOL rombts_3(char *romdata, DWORD saddr, DWORD eaddr); BOOL s0_put(char *fname); HANDLE m_hWriteFile; BOOL Get_motROMData(CString fileName, char *romdata); void Clear_ROMData(char *romData, DWORD saddr, DWORD eaddr); BOOL Get_motROMData(char *fname, char *romdata); void MD5Transform(unsigned long buf[4], unsigned long const in[16]); void MD5Final(unsigned char digest[16], struct MD5Context *ctx); void MD5Update(struct MD5Context *ctx, unsigned char const *buf, unsigned len); void MD5Init(struct MD5Context *ctx); void byteReverse(unsigned char *buf, unsigned longs); void setByteOrder(void); int CSVDiv( CString csvData ,CString *divData ); int CSVDiv( CString csvData ,CString *divData ,char del ); CString m_filePath; void SetDirPathName(CString strDirPath ); BOOL isFile( CString filePath ); DWORD file_write(DWORD nChar, char **lpBuff); DWORD file_write(CString fileName, DWORD nChar, char **lpBuff); DWORD file_write(char *fname, DWORD nChar, char **lpBuff); DWORD file_read(CString fileName, char **lpBuff); CString GetFileName( CString filePath ); CString GetFileName(); char* file_read(); DWORD file_read( char **lpBuff ); DWORD file_read( char *fileName ,char **lpBuff ); CString GetSaveFileName( WCHAR * filter); CString GetSaveFileName(); CString GetReadFileName(WCHAR * filter); CString GetFilePath(); CString GetReadFileName(); virtual ~CMyFile(); // 生成されたメッセージ マップ関数 protected: //{{AFX_MSG(CMyFile) // メモ - ClassWizard はこの位置にメンバ関数を追加または削除します。 //}}AFX_MSG DECLARE_MESSAGE_MAP() public: bool Get_ihexROMData(char * fname, char * romdata); bool Get_ihexROMData(char * romdata); bool Get_ihexROMData(CString fileName, char * romdata); int GetMultiFileName(CString * strFileName, WCHAR * filter); int CSVDiv_nap(CString csvData, CString * divData, char del); char loadROMData(unsigned long addr, char * romData); CString myBrowseForFolder(CString initPath); void storeROMData(unsigned long addr, char sData, char * romData); void md5(char * hexDigest, char * lpBuff, unsigned int nRead); BOOL rombts_2(char * romdata, DWORD saddr, DWORD eaddr); BOOL rombts_2_16(char * romdata, DWORD saddr, DWORD eaddr); BOOL rombts_3_16(char * romdata, DWORD saddr, DWORD eaddr); }; ///////////////////////////////////////////////////////////////////////////// //{{AFX_INSERT_LOCATION}} // Microsoft Visual C++ は前行の直前に追加の宣言を挿入します。 #endif // !defined(AFX_MYFILE_H__71118181_92CD_11D3_B9EC_0000E2134F0A__INCLUDED_) // static CString m_filePath;