xref: /original-bsd/usr.bin/diff/diff/diff.h (revision 24f1d79f)
1 /* @(#)diff.h 4.3 05/07/82" */
2 
3 /*
4  * diff - common declarations
5  */
6 
7 #include <stdio.h>
8 #include <ctype.h>
9 #include <sys/param.h>
10 #include <sys/stat.h>
11 #include <signal.h>
12 #include <dir.h>
13 
14 /*
15  * Output format options
16  */
17 int	opt;
18 
19 #define	D_NORMAL	0	/* Normal output */
20 #define	D_EDIT		-1	/* Editor script out */
21 #define	D_REVERSE	1	/* Reverse editor script */
22 #define	D_CONTEXT	2	/* Diff with context */
23 #define	D_IFDEF		3	/* Diff with merged #ifdef's */
24 
25 /*
26  * Algorithm related options
27  */
28 int	hflag;			/* -h, use halfhearted DIFFH */
29 int	bflag;			/* ignore blanks in comparisions */
30 
31 /*
32  * Options on hierarchical diffs.
33  */
34 int	lflag;			/* long output format with header */
35 int	rflag;			/* recursively trace directories */
36 int	sflag;			/* announce files which are same */
37 char	*start;			/* do file only if name >= this */
38 
39 /*
40  * Variables for -I D_IFDEF option.
41  */
42 int	wantelses;		/* -E */
43 char	*ifdef1;		/* String for -1 */
44 char	*ifdef2;		/* String for -2 */
45 char	*endifname;		/* What we will print on next #endif */
46 int	inifdef;
47 
48 /*
49  * Variables for -c context option.
50  */
51 int	context;		/* lines of context to be printed */
52 
53 /*
54  * State for exit status.
55  */
56 int	status;
57 int	anychange;
58 char	*tempfile;		/* used when comparing against std input */
59 
60 /*
61  * Variables for diffdir.
62  */
63 char	**diffargv;		/* option list to pass to recursive diffs */
64 
65 /*
66  * Input file names.
67  * With diffdir, file1 and file2 are allocated BUFSIZ space,
68  * and padded with a '/', and then efile0 and efile1 point after
69  * the '/'.
70  */
71 char	*file1, *file2, *efile1, *efile2;
72 struct	stat stb1, stb2;
73 struct	stat stb1, stb2;
74 
75 /*
76  * This is allocated early, and used
77  * to reset the free storage pointer to effect space compaction.
78  */
79 char	*dummy;
80 
81 char	*malloc(), *talloc(), *ralloc();
82 char	*savestr(), *splice(), *splicen();
83 char	*mktemp(), *copytemp(), *rindex();
84 int	done();
85 
86 extern	char diffh[], diff[], pr[];
87