Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

56 lines
1.3 KiB

  1. /**************************************************************************************************
  2. FILENAME: FatSubs.h
  3. COPYRIGHT 2001 Microsoft Corporation and Executive Software International, Inc.
  4. DESCRIPTION:
  5. Prototypes for the FAT file system.
  6. **************************************************************************************************/
  7. //Gets the basic statistics for a FAT volume (cluster size, etc.
  8. BOOL
  9. GetFatVolumeStats(
  10. );
  11. //Gets the extent list of a FAT file.
  12. BOOL
  13. GetExtentList(
  14. DWORD dwEnabledStreams,
  15. FILE_RECORD_SEGMENT_HEADER* pFrs
  16. );
  17. //0.0E00 This may not be the ideal number. This will use a maximum of 32K on even the largest FAT drive
  18. //since that's the largest cluster size. I didn't see any performance gain on my computer by reading
  19. //multiple clusters. So I saved memory instead.
  20. #define CLUSTERS_PER_FAT_CHUNK 1
  21. //Gets the extent list of a FAT file by going directly to disk (bypasses OS).
  22. BOOL
  23. GetExtentListManuallyFat(
  24. );
  25. //Opens a FAT file.
  26. BOOL
  27. OpenFatFile(
  28. );
  29. //Gets the next FAT file for defrag.
  30. BOOL
  31. GetNextFatFile(
  32. DWORD dwMoveFlags
  33. );
  34. //Adds a file to the file list on a FAT volume.
  35. BOOL
  36. AddFileToListFat(
  37. OUT FILE_LIST_ENTRY* pList,
  38. IN OUT ULONG* pListIndex,
  39. IN ULONG ListSize,
  40. IN UCHAR* pExtentList
  41. );
  42. BOOL
  43. UpdateInFileList(
  44. );