Annotation of src/usr.bin/cvs/diff.h, Revision 1.22
1.22 ! nicm 1: /* $OpenBSD: diff.h,v 1.21 2010/07/23 21:46:05 ray Exp $ */
1.1 niallo 2: /*
3: * Copyright (C) Caldera International Inc. 2001-2002.
4: * All rights reserved.
5: *
6: * Redistribution and use in source and binary forms, with or without
7: * modification, are permitted provided that the following conditions
8: * are met:
9: * 1. Redistributions of source code and documentation must retain the above
10: * copyright notice, this list of conditions and the following disclaimer.
11: * 2. Redistributions in binary form must reproduce the above copyright
12: * notice, this list of conditions and the following disclaimer in the
13: * documentation and/or other materials provided with the distribution.
14: * 3. All advertising materials mentioning features or use of this software
15: * must display the following acknowledgement:
16: * This product includes software developed or owned by Caldera
17: * International, Inc.
18: * 4. Neither the name of Caldera International, Inc. nor the names of other
19: * contributors may be used to endorse or promote products derived from
20: * this software without specific prior written permission.
21: *
22: * USE OF THE SOFTWARE PROVIDED FOR UNDER THIS LICENSE BY CALDERA
23: * INTERNATIONAL, INC. AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR
24: * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
25: * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
26: * IN NO EVENT SHALL CALDERA INTERNATIONAL, INC. BE LIABLE FOR ANY DIRECT,
27: * INDIRECT INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
28: * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
29: * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30: * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
31: * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
32: * IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
33: * POSSIBILITY OF SUCH DAMAGE.
34: */
35: /*-
36: * Copyright (c) 1991, 1993
37: * The Regents of the University of California. All rights reserved.
38: * Copyright (c) 2004 Jean-Francois Brousseau. All rights reserved.
39: *
40: * Redistribution and use in source and binary forms, with or without
41: * modification, are permitted provided that the following conditions
42: * are met:
43: * 1. Redistributions of source code must retain the above copyright
44: * notice, this list of conditions and the following disclaimer.
45: * 2. Redistributions in binary form must reproduce the above copyright
46: * notice, this list of conditions and the following disclaimer in the
47: * documentation and/or other materials provided with the distribution.
48: * 3. Neither the name of the University nor the names of its contributors
49: * may be used to endorse or promote products derived from this software
50: * without specific prior written permission.
51: *
52: * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
53: * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
54: * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
55: * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
56: * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
57: * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
58: * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
59: * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
60: * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
61: * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
62: * SUCH DAMAGE.
63: *
64: * @(#)diffreg.c 8.1 (Berkeley) 6/6/93
65: */
1.21 ray 66: #ifndef DIFF_H
67: #define DIFF_H
1.1 niallo 68: #define CVS_DIFF_DEFCTX 3 /* default context length */
69:
70: /*
71: * Output format options
72: */
73: #define D_NORMAL 0 /* Normal output */
74: #define D_CONTEXT 1 /* Diff with context */
75: #define D_UNIFIED 2 /* Unified context diff */
76: #define D_IFDEF 3 /* Diff with merged #ifdef's */
77: #define D_BRIEF 4 /* Say if the files differ */
78: #define D_RCSDIFF 5 /* Reverse editor output: RCS format */
79:
80: /*
1.19 ray 81: * Command line flags
82: */
1.21 ray 83: #define D_FORCEASCII 0x01 /* Treat file as ascii regardless of content */
84: #define D_FOLDBLANKS 0x02 /* Treat all white space as equal */
85: #define D_MINIMAL 0x04 /* Make diff as small as possible */
86: #define D_IGNORECASE 0x08 /* Case-insensitive matching */
87: #define D_PROTOTYPE 0x10 /* Display C function prototype */
88: #define D_EXPANDTABS 0x20 /* Expand tabs to spaces */
89: #define D_IGNOREBLANKS 0x40 /* Ignore white space changes */
1.19 ray 90:
91: /*
1.20 ray 92: * Status values for diffreg() return values
1.1 niallo 93: */
94: #define D_SAME 0 /* Files are the same */
95: #define D_DIFFER 1 /* Files are different */
96: #define D_BINARY 2 /* Binary files are different */
97: #define D_COMMON 3 /* Subdirectory common to both dirs */
98: #define D_ONLY 4 /* Only exists in one directory */
99: #define D_MISMATCH1 5 /* path1 was a dir, path2 a file */
100: #define D_MISMATCH2 6 /* path1 was a file, path2 a dir */
101: #define D_ERROR 7 /* An error occurred */
102: #define D_SKIPPED1 8 /* path1 was a special file */
103: #define D_SKIPPED2 9 /* path2 was a special file */
104:
1.14 joris 105: void cvs_merge_file(struct cvs_file *, int);
1.4 joris 106: void diff_output(const char *, ...);
1.20 ray 107: int diffreg(const char *, const char *, int, int, BUF *, int);
1.21 ray 108: int ed_patch_lines(struct rcs_lines *, struct rcs_lines *);
1.1 niallo 109:
1.7 xsa 110: extern int diff_format;
1.22 ! nicm 111: extern int diff_context;
1.7 xsa 112: extern int diff3_conflicts;
1.18 sthen 113: extern int diff_aflag;
114: extern int diff_bflag;
115: extern int diff_dflag;
1.15 tobias 116: extern int diff_iflag;
1.12 joris 117: extern int diff_pflag;
1.18 sthen 118: extern int diff_wflag;
1.3 joris 119: extern char *diff_file;
1.21 ray 120: extern char diffargs[512]; /* XXX */
1.4 joris 121: extern BUF *diffbuf;
1.10 joris 122: extern RCSNUM *diff_rev1;
123: extern RCSNUM *diff_rev2;
1.17 joris 124: extern RCSNUM *d3rev1;
125: extern RCSNUM *d3rev2;
1.4 joris 126:
1.21 ray 127: #endif /* DIFF_H */