- NDK fix: don't undef a million status codes, instead, have apps define WIN32_NO_STATUS.
[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 WIN32_NO_STATUS
7 #include <windows.h>
8 #include <fmifs/fmifs.h>
9 #define NTOS_MODE_USER
10 #include <ndk/ntndk.h>
11
12 typedef struct _FATX_BOOT_SECTOR
13 {
14 unsigned char SysType[4]; // 0
15 unsigned long VolumeID; // 4
16 unsigned long SectorsPerCluster; // 8
17 unsigned short FATCount; // 12
18 unsigned long Unknown; // 14
19 unsigned char Unused[4078]; // 18
20 } __attribute__((packed)) FATX_BOOT_SECTOR, *PFATX_BOOT_SECTOR;
21
22
23 typedef struct _FORMAT_CONTEXT
24 {
25 PFMIFSCALLBACK Callback;
26 ULONG TotalSectorCount;
27 ULONG CurrentSectorCount;
28 BOOLEAN Success;
29 ULONG Percent;
30 } FORMAT_CONTEXT, *PFORMAT_CONTEXT;
31
32
33
34 NTSTATUS
35 FatxFormat (HANDLE FileHandle,
36 PPARTITION_INFORMATION PartitionInfo,
37 PDISK_GEOMETRY DiskGeometry,
38 BOOLEAN QuickFormat,
39 PFORMAT_CONTEXT Context);
40
41 VOID
42 VfatxUpdateProgress (PFORMAT_CONTEXT Context,
43 ULONG Increment);
44
45 /* EOF */