Author: hpoussin Date: Mon Sep 4 20:46:13 2006 New Revision: 23913
URL: http://svn.reactos.org/svn/reactos?rev=23913&view=rev Log: Add prototypes for some fmifs.dll functions. These have been found with trial and error on a MS Windows XP SP2 system with MS Visual Studio 2003
Modified: trunk/reactos/dll/win32/fmifs/chkdsk.c trunk/reactos/dll/win32/fmifs/compress.c trunk/reactos/include/reactos/libs/fmifs/fmifs.h
Modified: trunk/reactos/dll/win32/fmifs/chkdsk.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/fmifs/chkdsk.c?re... ============================================================================== --- trunk/reactos/dll/win32/fmifs/chkdsk.c (original) +++ trunk/reactos/dll/win32/fmifs/chkdsk.c Mon Sep 4 20:46:13 2006 @@ -31,11 +31,4 @@ &Argument); /* Argument */ }
- -/* FMIFS.2 (SP4 only?) */ -VOID STDCALL -ChkdskEx (VOID) -{ -} - /* EOF */
Modified: trunk/reactos/dll/win32/fmifs/compress.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/fmifs/compress.c?... ============================================================================== --- trunk/reactos/dll/win32/fmifs/compress.c (original) +++ trunk/reactos/dll/win32/fmifs/compress.c Mon Sep 4 20:46:13 2006 @@ -14,7 +14,7 @@ /* * @implemented */ -BOOL STDCALL +BOOLEAN STDCALL EnableVolumeCompression (PWCHAR DriveRoot, USHORT Compression) {
Modified: trunk/reactos/include/reactos/libs/fmifs/fmifs.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/libs/fmifs/... ============================================================================== --- trunk/reactos/include/reactos/libs/fmifs/fmifs.h (original) +++ trunk/reactos/include/reactos/libs/fmifs/fmifs.h Mon Sep 4 20:46:13 2006 @@ -1,7 +1,6 @@ #ifndef _FMIFS_H #define _FMIFS_H -/* $Id$ - * +/* * fmifs.h * * Copyright (c) 1998 Mark Russinovich @@ -16,21 +15,51 @@ * 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 @@ 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); + +FMIFS_MEDIA_FLAG NTAPI +ComputeFmMediaType( + IN ULONG MediaType);
/* DiskCopy command in FMIFS */ - -VOID -NTAPI +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 */