summaryrefslogtreecommitdiffstats
path: root/private/utils/find/find.hxx
blob: c4868ff2bff5446008f604c2d0104a35ecf16297 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
/*++

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(
			);


	private:

		NONVIRTUAL
		ULONG
		SearchStream(
			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;

                DSTRING                 _PatternString;
		
		MULTIPLE_PATH_ARGUMENT	_PathArguments;

		STREAM_MESSAGE		_Message;
		ULONG				_ErrorLevel;

};


#endif // _FIND_