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) */
s_xdchange::chg2
long chg2
Definition: xdiffi.h:43
s_diffdata::ha
unsigned const long * ha
Definition: xdiffi.h:29
s_xdchange::next
struct s_xdchange * next
Definition: xdiffi.h:41
xdl_free_script
void xdl_free_script(xdchange_t *xscr)
Definition: xdiffi.c:975
s_diffdata
Definition: xdiffi.h:27
s_mmfile
Definition: xdiff.h:70
s_xdchange::i2
long i2
Definition: xdiffi.h:42
xdl_do_histogram_diff
int xdl_do_histogram_diff(mmfile_t *mf1, mmfile_t *mf2, xpparam_t const *xpp, xdfenv_t *env)
Definition: xhistogram.c:377
s_xdfenv
Definition: xtypes.h:61
s_xdalgoenv::mxcost
long mxcost
Definition: xdiffi.h:35
s_xdemitconf
Definition: xdiff.h:109
xdl_emit_diff
int xdl_emit_diff(xdfenv_t *xe, xdchange_t *xscr, xdemitcb_t *ecb, xdemitconf_t const *xecfg)
Definition: xemit.c:177
xdl_change_compact
int xdl_change_compact(xdfile_t *xdf, xdfile_t *xdfo, long flags)
Definition: xdiffi.c:810
s_xpparam
Definition: xdiff.h:80
s_xdchange::chg1
long chg1
Definition: xdiffi.h:43
xdl_do_patience_diff
int xdl_do_patience_diff(mmfile_t *mf1, mmfile_t *mf2, xpparam_t const *xpp, xdfenv_t *env)
Definition: xpatience.c:377
s_diffdata::rchg
char * rchg
Definition: xdiffi.h:31
s_xdchange::ignore
int ignore
Definition: xdiffi.h:44
s_xdalgoenv
Definition: xdiffi.h:34
s_xdfile
Definition: xtypes.h:48
xdl_build_script
int xdl_build_script(xdfenv_t *xe, xdchange_t **xscr)
Definition: xdiffi.c:949
diffdata_t
struct s_diffdata diffdata_t
xdl_recs_cmp
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:256
s_xdalgoenv::heur_min
long heur_min
Definition: xdiffi.h:37
xdalgoenv_t
struct s_xdalgoenv xdalgoenv_t
xdl_do_diff
int xdl_do_diff(mmfile_t *mf1, mmfile_t *mf2, xpparam_t const *xpp, xdfenv_t *xe)
Definition: xdiffi.c:312
s_xdemitcb
Definition: xdiff.h:94
s_diffdata::nrec
long nrec
Definition: xdiffi.h:28
s_xdalgoenv::snake_cnt
long snake_cnt
Definition: xdiffi.h:36
s_xdchange
Definition: xdiffi.h:40
s_diffdata::rindex
long * rindex
Definition: xdiffi.h:30
xdchange_t
struct s_xdchange xdchange_t
s_xdchange::i1
long i1
Definition: xdiffi.h:42