xdiffi.h
Go to the documentation of this file.
1 /*
2  * LibXDiff by Davide Libenzi ( File Differential Library )
3  * Copyright (C) 2003 Davide Libenzi
4  *
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9  *
10  * This library is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this library; if not, see
17  * <http://www.gnu.org/licenses/>.
18  *
19  * Davide Libenzi <[email protected]>
20  *
21  */
22 
23 #if !defined(XDIFFI_H)
24 #define XDIFFI_H
25 
26 
27 typedef struct s_diffdata {
28  long nrec;
29  unsigned long const *ha;
30  long *rindex;
31  char *rchg;
32 } diffdata_t;
33 
34 typedef struct s_xdalgoenv {
35  long mxcost;
36  long snake_cnt;
37  long heur_min;
38 } xdalgoenv_t;
39 
40 typedef struct s_xdchange {
41  struct s_xdchange *next;
42  long i1, i2;
43  long chg1, chg2;
44  int ignore;
45 } xdchange_t;
46 
47 
48 
49 int xdl_recs_cmp(diffdata_t *dd1, long off1, long lim1,
50  diffdata_t *dd2, long off2, long lim2,
51  long *kvdf, long *kvdb, int need_min, xdalgoenv_t *xenv);
52 int xdl_do_diff(mmfile_t *mf1, mmfile_t *mf2, xpparam_t const *xpp,
53  xdfenv_t *xe);
54 int xdl_change_compact(xdfile_t *xdf, xdfile_t *xdfo, long flags);
55 int xdl_build_script(xdfenv_t *xe, xdchange_t **xscr);
56 void xdl_free_script(xdchange_t *xscr);
57 int xdl_emit_diff(xdfenv_t *xe, xdchange_t *xscr, xdemitcb_t *ecb,
58  xdemitconf_t const *xecfg);
59 int xdl_do_patience_diff(mmfile_t *mf1, mmfile_t *mf2, xpparam_t const *xpp,
60  xdfenv_t *env);
61 int xdl_do_histogram_diff(mmfile_t *mf1, mmfile_t *mf2, xpparam_t const *xpp,
62  xdfenv_t *env);
63 
64 #endif /* #if !defined(XDIFFI_H) */
int xdl_do_diff(mmfile_t *mf1, mmfile_t *mf2, xpparam_t const *xpp, xdfenv_t *xe)
Definition: xdiffi.c:307
Definition: xdiff.h:79
int xdl_do_patience_diff(mmfile_t *mf1, mmfile_t *mf2, xpparam_t const *xpp, xdfenv_t *env)
Definition: xpatience.c:384
Definition: xtypes.h:61
Definition: xdiffi.h:34
Definition: xdiff.h:87
Definition: xdiffi.h:40
long i1
Definition: xdiffi.h:42
struct s_xdalgoenv xdalgoenv_t
unsigned long const * ha
Definition: xdiffi.h:29
long * rindex
Definition: xdiffi.h:30
long mxcost
Definition: xdiffi.h:35
long chg1
Definition: xdiffi.h:43
Definition: xtypes.h:48
long nrec
Definition: xdiffi.h:28
int xdl_do_histogram_diff(mmfile_t *mf1, mmfile_t *mf2, xpparam_t const *xpp, xdfenv_t *env)
Definition: xhistogram.c:377
long i2
Definition: xdiffi.h:42
long chg2
Definition: xdiffi.h:43
char * rchg
Definition: xdiffi.h:31
long snake_cnt
Definition: xdiffi.h:36
int xdl_change_compact(xdfile_t *xdf, xdfile_t *xdfo, long flags)
Definition: xdiffi.c:803
int xdl_build_script(xdfenv_t *xe, xdchange_t **xscr)
Definition: xdiffi.c:938
int xdl_emit_diff(xdfenv_t *xe, xdchange_t *xscr, xdemitcb_t *ecb, xdemitconf_t const *xecfg)
Definition: xemit.c:177
Definition: xdiff.h:69
int xdl_recs_cmp(diffdata_t *dd1, long off1, long lim1, diffdata_t *dd2, long off2, long lim2, long *kvdf, long *kvdb, int need_min, xdalgoenv_t *xenv)
Definition: xdiffi.c:251
Definition: xdiff.h:98
int ignore
Definition: xdiffi.h:44
Definition: xdiffi.h:27
void xdl_free_script(xdchange_t *xscr)
Definition: xdiffi.c:964
struct s_xdchange xdchange_t
struct s_diffdata diffdata_t
long heur_min
Definition: xdiffi.h:37
struct s_xdchange * next
Definition: xdiffi.h:41