57 lines
1.3 KiB
C
57 lines
1.3 KiB
C
/**************************************************************************************************
|
|
|
|
FILENAME: FatSubs.h
|
|
|
|
COPYRIGHT© 2001 Microsoft Corporation and Executive Software International, Inc.
|
|
|
|
DESCRIPTION:
|
|
Prototypes for the FAT file system.
|
|
|
|
**************************************************************************************************/
|
|
|
|
//Gets the basic statistics for a FAT volume (cluster size, etc.
|
|
BOOL
|
|
GetFatVolumeStats(
|
|
);
|
|
|
|
//Gets the extent list of a FAT file.
|
|
BOOL
|
|
GetExtentList(
|
|
DWORD dwEnabledStreams,
|
|
FILE_RECORD_SEGMENT_HEADER* pFrs
|
|
);
|
|
|
|
//0.0E00 This may not be the ideal number. This will use a maximum of 32K on even the largest FAT drive
|
|
//since that's the largest cluster size. I didn't see any performance gain on my computer by reading
|
|
//multiple clusters. So I saved memory instead.
|
|
#define CLUSTERS_PER_FAT_CHUNK 1
|
|
|
|
//Gets the extent list of a FAT file by going directly to disk (bypasses OS).
|
|
BOOL
|
|
GetExtentListManuallyFat(
|
|
);
|
|
|
|
//Opens a FAT file.
|
|
BOOL
|
|
OpenFatFile(
|
|
);
|
|
|
|
//Gets the next FAT file for defrag.
|
|
BOOL
|
|
GetNextFatFile(
|
|
DWORD dwMoveFlags
|
|
);
|
|
|
|
//Adds a file to the file list on a FAT volume.
|
|
BOOL
|
|
AddFileToListFat(
|
|
OUT FILE_LIST_ENTRY* pList,
|
|
IN OUT ULONG* pListIndex,
|
|
IN ULONG ListSize,
|
|
IN UCHAR* pExtentList
|
|
);
|
|
|
|
BOOL
|
|
UpdateInFileList(
|
|
);
|