1 /* 2 * COPYRIGHT: See COPYING in the top level directory 3 * PROJECT: ReactOS VFAT filesystem library 4 * FILE: vfatxlib.h 5 */ 6 7 #ifndef _VFATXLIB_H_ 8 #define _VFATXLIB_H_ 9 10 #define NTOS_MODE_USER 11 #include <ndk/umtypes.h> 12 #include <ndk/pstypes.h> 13 #include <ndk/ldrtypes.h> 14 #include <ndk/iofuncs.h> 15 #include <fmifs/fmifs.h> 16 17 #include <pshpack1.h> 18 typedef struct _FATX_BOOT_SECTOR 19 { 20 unsigned char SysType[4]; // 0 21 unsigned long VolumeID; // 4 22 unsigned long SectorsPerCluster; // 8 23 unsigned short FATCount; // 12 24 unsigned long Unknown; // 14 25 unsigned char Unused[4078]; // 18 26 } FATX_BOOT_SECTOR, *PFATX_BOOT_SECTOR; 27 #include <poppack.h> 28 29 typedef struct _FORMAT_CONTEXT 30 { 31 PFMIFSCALLBACK Callback; 32 ULONG TotalSectorCount; 33 ULONG CurrentSectorCount; 34 BOOLEAN Success; 35 ULONG Percent; 36 } FORMAT_CONTEXT, *PFORMAT_CONTEXT; 37 38 39 40 NTSTATUS 41 FatxFormat (HANDLE FileHandle, 42 PPARTITION_INFORMATION PartitionInfo, 43 PDISK_GEOMETRY DiskGeometry, 44 BOOLEAN QuickFormat, 45 PFORMAT_CONTEXT Context); 46 47 VOID 48 VfatxUpdateProgress (PFORMAT_CONTEXT Context, 49 ULONG Increment); 50 51 #endif /* _VFATXLIB_H_ */ 52 53 /* EOF */ 54