/************************************************************************************************** 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( );