Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/*++
Copyright (c) 1990-2000 Microsoft Corporation
Module Name:
convert.hxx
Abstract:
This module contains the declaration of the CONVERT class, which implements the File System Conversion Utility.
Author:
Ramon Juan San Andres (ramonsa) 27-Sep-1991
Revision History:
--*/
#if !defined( _CONVERT_ )
#define _CONVERT_
#include "program.hxx"
#include "autoentr.hxx"
#include "autoreg.hxx"
#if defined(FE_SB) && defined(_X86_)
#include "drive.hxx" // for DP_DRIVE class
#endif
//
// Convert exit codes
//
#define EXIT_SUCCESS 0 // Volume Converted
#define EXIT_SCHEDULED 1 // Conversion scheduled for next reboot
#define EXIT_NOCANDO 2 // Specified conversion not available
#define EXIT_UNKNOWN 3 // Unknown file system
#define EXIT_ERROR 4 // Conversion error
#define EXIT_NOFREESPACE 5 // Insufficient free space for conversion
DECLARE_CLASS( STREAM_MESSAGE ); DECLARE_CLASS( WSTRING ); DECLARE_CLASS( CONVERT );
class CONVERT : public PROGRAM {
public:
DECLARE_CONSTRUCTOR( CONVERT );
NONVIRTUAL VOID Construct ( );
NONVIRTUAL ~CONVERT ( );
NONVIRTUAL BOOLEAN Initialize ( OUT PINT ExitCode );
NONVIRTUAL INT Convert ( );
#if defined(FE_SB) && defined(_X86_)
// NEC98 '95.6.23
// We need to use ChangeBPB1 and ChangeBPB2
// We use these function when logicalsectorsize != phisicalsectorsize
BOOLEAN ChangeBPB1( IN PCWSTRING NtDrive );
BOOLEAN ChangeBPB2( ); #endif
private:
NONVIRTUAL VOID Destroy ( );
NONVIRTUAL BOOLEAN RemoveScheduledAutoConv( );
NONVIRTUAL PPATH FindSystemFile( IN PWSTR FileName );
NONVIRTUAL BOOLEAN ParseArguments( OUT PINT ExitCode );
NONVIRTUAL BOOLEAN ParseCommandLine ( IN PCWSTRING CommandLine, IN BOOLEAN Interactive );
NONVIRTUAL BOOLEAN Schedule ( );
NONVIRTUAL BOOLEAN ScheduleAutoConv( );
DSTRING _DisplayDrive; // Display name of the given drive
DSTRING _DosDrive; // Dos guid name or drive letter of the volume to convert
DSTRING _GuidDrive; // Dos guid name of the volume to convert
PATH _FullPath; // Mount point or drive letter of the volume to convert
DSTRING _NtDrive; // NT drive name of volume to convert
DSTRING _FsName; // Name of target file system
DSTRING _CvtZoneFileName; // Convert Zone File Name
BOOLEAN _Verbose; // Verbose flag
BOOLEAN _NoSecurity; // NoSecurity flag
BOOLEAN _NoChkdsk; // NoChkdsk flag
BOOLEAN _ForceDismount; // Force Dismount flag
BOOLEAN _Help; // Help flag
BOOLEAN _Restart; // Restart flag
#ifdef DBLSPACE_ENABLED
BOOLEAN _Uncompress; // Set if we're converting a cvf
DSTRING _CvfName; // If uncompress, the name of the cvf
BOOLEAN _Compress; // Compress resulting filesystem
UCHAR _SequenceNumber // sequence number of CVF to uncompress
#endif // DBLSPACE_ENABLED
#if defined(FE_SB) && defined(_X86_)
// NEC98 '95.6.23
// It use ChangeBPB1 and ChangeBPB2.
USHORT _BytePerSec; UCHAR _SecPerClus; USHORT _Reserved; USHORT _SectorNum; USHORT _SecPerFat; ULONG _LargeSector; #endif
PPATH _Autochk; // Path to Autochk
PPATH _Autoconv; // Path to Autoconv
};
#endif // _CONVERT_
|