#ifndef _TFFSDISKREADER_H_ #define _TFFSDISKREADER_H_ extern char BDK_SIGNATURE[5]; extern DWORD *g_pWriteEnableFlag; bool OpenTFFSDisk(const WCHAR *szDeviceName, const WCHAR *szPartitionName, HANDLE& hStore, HANDLE& hPartition); bool CloseTFFSDisk(HANDLE hStore, HANDLE hPartition); bool TFFS_BDK_GetInfo(HANDLE hDisk, DWORD dwBinaryPartitionNr, DWORD &dwLength, DWORD &dwCount); bool TFFS_OTP_GetSize(HANDLE hDisk, DWORD& dwSize, DWORD &dwMaxSize); bool TFFS_GetCustomerId(HANDLE hDisk, DWORD &id); bool TFFS_GetUniqueId(HANDLE hDisk, GUID& id); bool TFFS_GetNrOfPartitions(HANDLE hDisk, DWORD& dwPartitionCount); bool TFFS_GetInfo(HANDLE hDisk); bool TFFS_BDK_InitRead(HANDLE hDisk, DWORD dwBinaryPartitionNr, ULONGLONG llOffset, DWORD dwSize, DWORD dwSectorSize); bool TFFS_BDK_ReadNextSector(HANDLE hDisk, DWORD dwBinaryPartitionNr, ULONGLONG llOffset, DWORD dwLength, BYTE *buffer, DWORD &dwRead); bool TFFS_OTP_Read(HANDLE hDisk, ULONGLONG llOffset, DWORD dwLength, BYTE *buffer, DWORD &dwRead); bool TFFS_ReadSectors(HANDLE hDisk, ULONGLONG llOffset, DWORD dwLength, BYTE *buffer, DWORD &dwBytesRead, DWORD dwSectorSize); bool TFFS_BDK_InitWrite(HANDLE hDisk, DWORD dwBinaryPartitionNr, ULONGLONG llOffset, DWORD dwSize, DWORD dwSectorSize); bool TFFS_BDK_WriteNextSector(HANDLE hDisk, DWORD dwBinaryPartitionNr, DWORD dwStartSector, ULONGLONG llOffset, DWORD dwLength, const BYTE *buffer, DWORD &dwWritten); bool TFFS_OTP_Write(HANDLE hDisk, ULONGLONG llOffset, DWORD dwLength, const BYTE *buffer, DWORD &dwWritten); bool TFFS_WriteSectors(HANDLE hDisk, ULONGLONG llOffset, DWORD dwLength, const BYTE *buffer, DWORD &dwBytesWritten, DWORD dwSectorSize); bool TFFS_ChangeType(HANDLE hDisk, bool bInsert, BYTE *password); bool TFFS_BDK_ChangeType(HANDLE hDisk, DWORD dwBinaryPartitionNr, bool bInsert, BYTE *password); bool TFFS_Protect(HANDLE hDisk, bool bInsert, BYTE *password); bool TFFS_BDK_Protect(HANDLE hDisk, DWORD dwBinaryPartitionNr, bool bInsert, BYTE *password); #endif