Raw
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 <davidel@xmailserver.org>
20 *
21 */
22
23 #if !defined(XUTILS_H)
24 #define XUTILS_H
25
26
27
28 uint64_t xdl_bogosqrt(uint64_t n);
29 int xdl_emit_diffrec(char const *rec, long size, char const *pre, long psize,
30 xdemitcb_t *ecb);
31 int xdl_cha_init(chastore_t *cha, long isize, long icount);
32 void xdl_cha_free(chastore_t *cha);
33 void *xdl_cha_alloc(chastore_t *cha);
34 long xdl_guess_lines(mmfile_t *mf, long sample);
35 int xdl_blankline(const char *line, long size, long flags);
36 int xdl_recmatch(const char *l1, long s1, const char *l2, long s2, long flags);
37 uint64_t xdl_hash_record_verbatim(uint8_t const **data, uint8_t const *top);
38 uint64_t xdl_hash_record_with_whitespace(uint8_t const **data, uint8_t const *top, uint64_t flags);
39 static inline uint64_t xdl_hash_record(uint8_t const **data, uint8_t const *top, uint64_t flags)
40 {
41 if (flags & XDF_WHITESPACE_FLAGS)
42 return xdl_hash_record_with_whitespace(data, top, flags);
43 else
44 return xdl_hash_record_verbatim(data, top);
45 }
46 unsigned int xdl_hashbits(unsigned int size);
47 int xdl_num_out(char *out, long val);
48 int xdl_emit_hunk_hdr(long s1, long c1, long s2, long c2,
49 const char *func, long funclen, xdemitcb_t *ecb);
50 int xdl_fall_back_diff(xdfenv_t *diff_env, xpparam_t const *xpp,
51 int line1, int count1, int line2, int count2);
52
53 /* Do not call this function, use XDL_ALLOC_GROW instead */
54 void* xdl_alloc_grow_helper(void* p, long nr, long* alloc, size_t size);
55
56 #endif /* #if !defined(XUTILS_H) */