mirror of
https://github.com/pbatard/rufus.git
synced 2025-05-23 11:17:03 -04:00

* 32 bit bad blocks check is too limited for large drives and result in erroneous computations * 32 bit also means that 2TB would be absolute limit, which may be too low in case for USB HDD checks * This fix makes bad blocks check and related calls 64 bit compliant * also improve on bad block reports
29 lines
1 KiB
C
29 lines
1 KiB
C
#ifndef FILE_H
|
|
#define FILE_H
|
|
|
|
#include <stdint.h>
|
|
|
|
/* Max valid value of uiLen for contains_data */
|
|
#define MAX_DATA_LEN 8192
|
|
|
|
/* Checks if a file contains a data pattern of length Len at position
|
|
Position. The file pointer will change when calling this function! */
|
|
int contains_data(FILE *fp, uint64_t Position,
|
|
const void *pData, uint64_t Len);
|
|
|
|
/* Writes a data pattern of length Len at position Position.
|
|
The file pointer will change when calling this function! */
|
|
int write_data(FILE *fp, uint64_t Position,
|
|
const void *pData, uint64_t Len);
|
|
|
|
/* Writes nSectors of size SectorSize starting at sector StartSector */
|
|
int64_t write_sectors(void *hDrive, uint64_t SectorSize,
|
|
uint64_t StartSector, uint64_t nSectors,
|
|
const void *pBuf);
|
|
|
|
/* Reads nSectors of size SectorSize starting at sector StartSector */
|
|
int64_t read_sectors(void *hDrive, uint64_t SectorSize,
|
|
uint64_t StartSector, uint64_t nSectors,
|
|
void *pBuf);
|
|
|
|
#endif
|