[LIBS]
[reactos.git] / reactos / lib / fslib / vfatxlib / vfatxlib.h
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 */