Add prototypes for some fmifs.dll functions.
authorHervé Poussineau <hpoussin@reactos.org>
Mon, 4 Sep 2006 16:46:13 +0000 (16:46 +0000)
committerHervé Poussineau <hpoussin@reactos.org>
Mon, 4 Sep 2006 16:46:13 +0000 (16:46 +0000)
These have been found with trial and error on a MS Windows XP SP2 system with MS Visual Studio 2003

svn path=/trunk/; revision=23913

reactos/dll/win32/fmifs/chkdsk.c
reactos/dll/win32/fmifs/compress.c
reactos/include/reactos/libs/fmifs/fmifs.h

index 907dccc..a1da3b1 100644 (file)
@@ -31,11 +31,4 @@ Chkdsk (PWCHAR               DriveRoot,
            &Argument); /* Argument */
 }
 
-
-/* FMIFS.2 (SP4 only?) */
-VOID STDCALL
-ChkdskEx (VOID)
-{
-}
-
 /* EOF */
index 181112f..1560421 100644 (file)
@@ -14,7 +14,7 @@
 /*
  * @implemented
  */
-BOOL STDCALL
+BOOLEAN STDCALL
 EnableVolumeCompression (PWCHAR DriveRoot,
                         USHORT Compression)
 {
index 9d2281f..9f94192 100644 (file)
@@ -1,7 +1,6 @@
 #ifndef _FMIFS_H
 #define _FMIFS_H
-/* $Id$
- *
+/*
  * fmifs.h
  *
  * Copyright (c) 1998 Mark Russinovich
  * 1999-02-18 (Emanuele Aliberti)
  *     Normalized function names.
  *
+ * ---
+ *
+ * 2006-09-04 (Hervé Poussineau)
+ *     Add some prototypes
+ *
  */
 
 /* Output command */
-typedef
-struct
+typedef struct
 {
        ULONG Lines;
        PCHAR Output;
-       
 } TEXTOUTPUT, *PTEXTOUTPUT;
 
+/* media flags */
+typedef enum
+{
+       FMIFS_UNKNOWN0,
+       FMIFS_UNKNOWN1,
+       FMIFS_UNKNOWN2,
+       FMIFS_UNKNOWN3,
+       FMIFS_UNKNOWN4,
+       FMIFS_UNKNOWN5,
+       FMIFS_UNKNOWN6,
+       FMIFS_UNKNOWN7,
+       FMIFS_FLOPPY,
+       FMIFS_UNKNOWN9,
+       FMIFS_UNKNOWN10,
+       FMIFS_UNKNOWN11,
+       FMIFS_HARDDISK,
+       FMIFS_UNKNOWN13,
+       FMIFS_UNKNOWN14,
+       FMIFS_UNKNOWN15,
+       FMIFS_UNKNOWN16,
+       FMIFS_UNKNOWN17,
+       FMIFS_UNKNOWN18,
+       FMIFS_UNKNOWN19,
+       FMIFS_UNKNOWN20,
+       FMIFS_UNKNOWN21,
+       FMIFS_UNKNOWN22,
+       FMIFS_UNKNOWN23,
+} FMIFS_MEDIA_FLAG;
 
 /* Callback command types */
-typedef
-enum
+typedef enum
 {
        PROGRESS,
        DONEWITHSTRUCTURE,
@@ -48,79 +77,91 @@ enum
        UNKNOWND,
        OUTPUT,
        STRUCTUREPROGRESS
-
 } CALLBACKCOMMAND;
 
-
 /* FMIFS callback definition */
-typedef
-BOOLEAN
-(NTAPI * PFMIFSCALLBACK) (
-       CALLBACKCOMMAND Command,
-       ULONG           SubAction,
-       PVOID           ActionInfo
-       );
+typedef BOOLEAN
+(NTAPI* PFMIFSCALLBACK)(
+       IN CALLBACKCOMMAND Command,
+       IN ULONG SubAction,
+       IN PVOID ActionInfo);
 
 /* Chkdsk command in FMIFS */
-VOID
-NTAPI
+VOID NTAPI
 Chkdsk(
-       PWCHAR          DriveRoot,
-       PWCHAR          Format,
-       BOOLEAN         CorrectErrors,
-       BOOLEAN         Verbose,
-       BOOLEAN         CheckOnlyIfDirty,
-       BOOLEAN         ScanDrive,
-       PVOID           Unused2,
-       PVOID           Unused3,
-       PFMIFSCALLBACK  Callback
-       );
+       IN PWCHAR DriveRoot,
+       IN PWCHAR Format,
+       IN BOOLEAN CorrectErrors,
+       IN BOOLEAN Verbose,
+       IN BOOLEAN CheckOnlyIfDirty,
+       IN BOOLEAN ScanDrive,
+       IN PVOID Unused2,
+       IN PVOID Unused3,
+       IN PFMIFSCALLBACK Callback);
 
 /* ChkdskEx command in FMIFS (not in the original) */
-VOID
-NTAPI
-ChkDskEx(
-       PWCHAR          DriveRoot,
-       PWCHAR          Format,
-       BOOLEAN         CorrectErrors,
-       BOOLEAN         Verbose,
-       BOOLEAN         CheckOnlyIfDirty,
-       BOOLEAN         ScanDrive,
-       PVOID           Unused2,
-       PVOID           Unused3,
-       PFMIFSCALLBACK  Callback
-       );
+VOID NTAPI
+ChkdskEx(
+       IN PWCHAR DriveRoot,
+       IN PWCHAR Format,
+       IN BOOLEAN CorrectErrors,
+       IN BOOLEAN Verbose,
+       IN BOOLEAN CheckOnlyIfDirty,
+       IN BOOLEAN ScanDrive,
+       IN PVOID Unused2,
+       IN PVOID Unused3,
+       IN PFMIFSCALLBACK Callback);
 
-/* DiskCopy command in FMIFS */
+FMIFS_MEDIA_FLAG NTAPI
+ComputeFmMediaType(
+       IN ULONG MediaType);
 
-VOID
-NTAPI
+/* DiskCopy command in FMIFS */
+VOID NTAPI
 DiskCopy(VOID);
 
 /* Enable/Disable volume compression */
-BOOL
-NTAPI
+BOOLEAN NTAPI
 EnableVolumeCompression(
-       PWCHAR  DriveRoot,
-       USHORT Compression
-       );
+       IN PWCHAR DriveRoot,
+       IN USHORT Compression);
 
 /* Format command in FMIFS */
+VOID NTAPI
+FormatEx(
+       IN PWCHAR DriveRoot,
+       IN ULONG MediaFlag,
+       IN PWCHAR Format,
+       IN PWCHAR Label,
+       IN BOOLEAN QuickFormat,
+       IN ULONG ClusterSize,
+       IN PFMIFSCALLBACK Callback);
 
-/* media flags */
-#define FMIFS_HARDDISK 0xC
-#define FMIFS_FLOPPY   0x8
+BOOLEAN NTAPI
+QueryAvailableFileSystemFormat(
+       IN DWORD Index,
+       IN OUT PWCHAR FileSystem OPTIONAL, /* FIXME: Probably one minimal size is mandatory, but which one? */
+       OUT UCHAR* Major OPTIONAL,
+       OUT UCHAR* Minor OPTIONAL,
+       OUT BOOLEAN* LastestVersion OPTIONAL);
 
-VOID
-NTAPI
-FormatEx(
-       PWCHAR          DriveRoot,
-       ULONG           MediaFlag,
-       PWCHAR          Format,
-       PWCHAR          Label,
-       BOOLEAN         QuickFormat,
-       ULONG           ClusterSize,
-       PFMIFSCALLBACK  Callback
-       );
+BOOL NTAPI
+QueryDeviceInformation(
+       IN PWCHAR DriveRoot,
+       OUT ULONG* Buffer, /* That is probably some 4-bytes structure */
+       IN ULONG BufferSize); /* 4 */
+
+BOOLEAN NTAPI
+QueryLatestFileSystemVersion(
+       IN PWCHAR FileSystem,
+       OUT UCHAR* Major OPTIONAL,
+       OUT UCHAR* Minor OPTIONAL);
+
+/*ULONG NTAPI
+QuerySupportedMedia(
+       PVOID Unknown1,
+       ULONG Unknown2,
+       ULONG Unknown3,
+       ULONG Unknown4);*/
 
 #endif /* ndef _FMIFS_H */