58ae278492f20b210a251744b311bc24c5674e2e
[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 #define NTOS_MODE_USER
7 #include <ndk/iofuncs.h>
8 #include <ndk/kefuncs.h>
9 #include <ndk/obfuncs.h>
10 #include <ndk/rtlfuncs.h>
11 #include <fmifs/fmifs.h>
12
13 #include <pshpack1.h>
14 typedef struct _FATX_BOOT_SECTOR
15 {
16 unsigned char SysType[4]; // 0
17 unsigned long VolumeID; // 4
18 unsigned long SectorsPerCluster; // 8
19 unsigned short FATCount; // 12
20 unsigned long Unknown; // 14
21 unsigned char Unused[4078]; // 18
22 } FATX_BOOT_SECTOR, *PFATX_BOOT_SECTOR;
23 #include <poppack.h>
24
25 typedef struct _FORMAT_CONTEXT
26 {
27 PFMIFSCALLBACK Callback;
28 ULONG TotalSectorCount;
29 ULONG CurrentSectorCount;
30 BOOLEAN Success;
31 ULONG Percent;
32 } FORMAT_CONTEXT, *PFORMAT_CONTEXT;
33
34
35
36 NTSTATUS
37 FatxFormat (HANDLE FileHandle,
38 PPARTITION_INFORMATION PartitionInfo,
39 PDISK_GEOMETRY DiskGeometry,
40 BOOLEAN QuickFormat,
41 PFORMAT_CONTEXT Context);
42
43 VOID
44 VfatxUpdateProgress (PFORMAT_CONTEXT Context,
45 ULONG Increment);
46
47 /* EOF */