windows-nt/Source/XPSP1/NT/base/fs/utils/comp/comp.hxx
2020-09-26 16:20:57 +08:00

142 lines
2.9 KiB
C++

/*++
Copyright (c) 1991 Microsoft Corporation
Module Name:
comp.hxx
Abstract:
Author:
Barry J. Gilhuly
Environment:
ULIB, User Mode
--*/
#if !defined( _BINARY_COMP_ )
#define _BINARY_COMP_
//
// Define an enumerated type for the style of output information - Hex,
// Decimal, or Ascii
//
enum OUTPUT_TYPE {
OUTPUT_HEX,
OUTPUT_DECIMAL,
OUTPUT_ASCII
};
// Define the maximum number of comparison errors...
#define MAX_DIFF 10
// Define the various error levels returned by this program
#define NO_ERRORS 0
#define NO_MEM_AVAIL 1
#define CANT_OPEN_FILE 2
#define CANT_READ_FILE 3
#define SYNT_ERR 4
#define BAD_NUMERIC_ARG 5
#define DIFFERENT_SIZES 16
#define NEED_DELIM_CHAR 17
#define COULD_NOT_EXP 20
#define TEN_MISM 32
#define INCORRECT_DOS_VER 33
#define UNEXP_EOF 34
#define INV_SWITCH 35
#define FILE1_LINES 36
#define FILE2_LINES 37
#define FILES_SKIPPED 41
#define INTERNAL_ERROR 99
#define FILES_ARE_EQUAL 0
#define FILES_ARE_DIFFERENT 1
#define CANNOT_COMPARE_FILES 2
#include "object.hxx"
#include "keyboard.hxx"
#include "program.hxx"
DECLARE_CLASS( COMP );
class COMP : public PROGRAM {
public:
DECLARE_CONSTRUCTOR( COMP );
NONVIRTUAL
VOID
Destruct(
);
NONVIRTUAL
BOOLEAN
Initialize(
);
NONVIRTUAL
VOID
Start(
);
private:
NONVIRTUAL
VOID
Construct(
);
#ifdef FE_SB // v-junm - 08/30/93
BOOLEAN
CharEqual(
PUCHAR,
PUCHAR
);
#endif
NONVIRTUAL
VOID
DoCompare(
);
NONVIRTUAL
VOID
BinaryCompare(
);
NONVIRTUAL
BOOLEAN
IsOffline(
PFSN_FILE
);
BOOLEAN _CaseInsensitive; // Case sensitive compare
BOOLEAN _Limited; // Compare a limited number of lines
BOOLEAN _Numbered; // Number the lines or use byte offsets
BOOLEAN _SkipOffline; // Skip offline files
BOOLEAN _OptionsFound; // Options were present on the command line
LONG _NumberOfLines; // The number of lines to compare
OUTPUT_TYPE _Mode; // The comparison mode: HEX, DECIMAL, or ASCII
PPATH _InputPath1; // The paths requested...
PPATH _InputPath2;
PFSN_FILE _File1;
PFSN_FILE _File2;
PFILE_STREAM _FileStream1;
PFILE_STREAM _FileStream2;
BYTE_STREAM _ByteStream1;
BYTE_STREAM _ByteStream2;
};
#endif // _BINARY_COMP_