Junio C Hamano | d9ea73e | 2006-04-05 02:03:58 -0700 | [diff] [blame] | 1 | #ifndef XDIFF_INTERFACE_H |
| 2 | #define XDIFF_INTERFACE_H |
| 3 | |
| 4 | #include "xdiff/xdiff.h" |
Junio C Hamano | d9ea73e | 2006-04-05 02:03:58 -0700 | [diff] [blame] | 5 | |
Jeff King | dcd1742 | 2015-09-24 19:12:45 -0400 | [diff] [blame] | 6 | /* |
| 7 | * xdiff isn't equipped to handle content over a gigabyte; |
| 8 | * we make the cutoff 1GB - 1MB to give some breathing |
| 9 | * room for constant-sized additions (e.g., merge markers) |
| 10 | */ |
| 11 | #define MAX_XDIFF_SIZE (1024UL * 1024 * 1023) |
| 12 | |
Junio C Hamano | d9ea73e | 2006-04-05 02:03:58 -0700 | [diff] [blame] | 13 | typedef void (*xdiff_emit_consume_fn)(void *, char *, unsigned long); |
| 14 | |
Junio C Hamano | c279d7e | 2007-12-13 13:25:07 -0800 | [diff] [blame] | 15 | int xdi_diff(mmfile_t *mf1, mmfile_t *mf2, xpparam_t const *xpp, xdemitconf_t const *xecfg, xdemitcb_t *ecb); |
Brian Downing | c99db9d2 | 2008-08-14 00:36:50 -0500 | [diff] [blame] | 16 | int xdi_diff_outf(mmfile_t *mf1, mmfile_t *mf2, |
Junio C Hamano | 8a3f524 | 2008-08-13 23:18:22 -0700 | [diff] [blame] | 17 | xdiff_emit_consume_fn fn, void *consume_callback_data, |
René Scharfe | dfea790 | 2010-05-04 22:41:34 +0200 | [diff] [blame] | 18 | xpparam_t const *xpp, xdemitconf_t const *xecfg); |
Junio C Hamano | c1e335a | 2006-04-05 12:22:35 -0700 | [diff] [blame] | 19 | int parse_hunk_header(char *line, int len, |
Junio C Hamano | a0fd314 | 2006-04-06 22:29:55 -0700 | [diff] [blame] | 20 | int *ob, int *on, |
| 21 | int *nb, int *nn); |
Johannes Schindelin | 7cab588 | 2006-12-20 17:37:07 +0100 | [diff] [blame] | 22 | int read_mmfile(mmfile_t *ptr, const char *filename); |
Michael Lukashov | 06b6593 | 2010-02-16 23:42:55 +0000 | [diff] [blame] | 23 | void read_mmblob(mmfile_t *ptr, const unsigned char *sha1); |
Johannes Schindelin | 6bfce93 | 2007-06-05 03:36:11 +0100 | [diff] [blame] | 24 | int buffer_is_binary(const char *ptr, unsigned long size); |
Junio C Hamano | d9ea73e | 2006-04-05 02:03:58 -0700 | [diff] [blame] | 25 | |
Brandon Casey | a013585 | 2008-09-18 17:42:48 -0500 | [diff] [blame] | 26 | extern void xdiff_set_find_func(xdemitconf_t *xecfg, const char *line, int cflags); |
René Scharfe | 8cfe5f1 | 2009-07-02 00:01:43 +0200 | [diff] [blame] | 27 | extern void xdiff_clear_find_func(xdemitconf_t *xecfg); |
Junio C Hamano | b541248 | 2008-08-29 10:49:56 -0700 | [diff] [blame] | 28 | extern int git_xmerge_config(const char *var, const char *value, void *cb); |
| 29 | extern int git_xmerge_style; |
Junio C Hamano | f258475 | 2007-07-06 00:45:10 -0700 | [diff] [blame] | 30 | |
Junio C Hamano | d9ea73e | 2006-04-05 02:03:58 -0700 | [diff] [blame] | 31 | #endif |