windows-nt/Source/XPSP1/NT/base/fs/utils/find/find.hxx

115 lines
2.5 KiB
C++
Raw Normal View History

2020-09-26 03:20:57 -05:00
/*++
Copyright (c) 1991 Microsoft Corporation
Module Name:
find.hxx
Abstract:
Author:
Environment:
ULIB, User Mode
--*/
#if ! defined( _FIND_ )
#define _FIND_
#include "object.hxx"
#include "keyboard.hxx"
#include "program.hxx"
DECLARE_CLASS( FIND );
class FIND : public PROGRAM {
public:
DECLARE_CONSTRUCTOR( FIND );
NONVIRTUAL
BOOLEAN
Initialize (
);
NONVIRTUAL
BOOLEAN
IsDos5CompatibleFileName(
IN PCPATH Path
);
NONVIRTUAL
VOID
Terminate(
);
NONVIRTUAL
VOID
SearchFiles(
);
NONVIRTUAL
VOID
DisplayMessageAndExit(
IN MSGID MsgId,
IN ULONG ExitCode,
IN MESSAGE_TYPE Type DEFAULT ERROR_MESSAGE,
IN PWSTRING String DEFAULT NULL
);
private:
NONVIRTUAL
ULONG
SearchStream(
IN PSTREAM StreamToSearch
);
//
// TRUE = do a case-sensitive matching
//
BOOLEAN _CaseSensitive;
//
// TRUE = output lines that contain the pattern
//
BOOLEAN _LinesContainingPattern;
//
// TRUE = output the lines that match/don't match
// FALSE = count the lines that match/don't match
//
BOOLEAN _OutputLines;
//
// TRUE = output line numbers if lines are being output
//
BOOLEAN _OutputLineNumbers;
//
// TRUE = skip offline (Remote Storage truncated) files
//
BOOLEAN _SkipOfflineFiles;
DSTRING _PatternString;
MULTIPLE_PATH_ARGUMENT _PathArguments;
STREAM_MESSAGE _Message;
ULONG _ErrorLevel;
};
#endif // _FIND_