Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
att
GitHub Repository: att/ast
Path: blob/master/src/lib/libvdelta/vd01/vdelta01.h
1810 views
1
/***********************************************************************
2
* *
3
* This software is part of the ast package *
4
* Copyright (c) 1995-2011 AT&T Intellectual Property *
5
* and is licensed under the *
6
* Eclipse Public License, Version 1.0 *
7
* by AT&T Intellectual Property *
8
* *
9
* A copy of the License is available at *
10
* http://www.eclipse.org/org/documents/epl-v10.html *
11
* (with md5 checksum b35adb5213ca9657e911e9befb180842) *
12
* *
13
* Information and Software Systems Research *
14
* AT&T Research *
15
* Florham Park NJ *
16
* *
17
* Phong Vo <[email protected]> *
18
* *
19
***********************************************************************/
20
#ifndef _VDELTA_H
21
#define _VDELTA_H 1
22
23
#ifndef __KPV__
24
#define __KPV__ 1
25
26
#ifndef __STD_C
27
#ifdef __STDC__
28
#define __STD_C 1
29
#else
30
#if __cplusplus
31
#define __STD_C 1
32
#else
33
#define __STD_C 0
34
#endif /*__cplusplus*/
35
#endif /*__STDC__*/
36
#endif /*__STD_C*/
37
38
#ifndef _BEGIN_EXTERNS_
39
#if __cplusplus
40
#define _BEGIN_EXTERNS_ extern "C" {
41
#define _END_EXTERNS_ }
42
#else
43
#define _BEGIN_EXTERNS_
44
#define _END_EXTERNS_
45
#endif
46
#endif /*_BEGIN_EXTERNS_*/
47
48
#ifndef _ARG_
49
#if __STD_C
50
#define _ARG_(x) x
51
#else
52
#define _ARG_(x) ()
53
#endif
54
#endif /*_ARG_*/
55
56
#ifndef Void_t
57
#if __STD_C
58
#define Void_t void
59
#else
60
#define Void_t char
61
#endif
62
#endif /*Void_t*/
63
64
#ifndef NIL
65
#define NIL(type) ((type)0)
66
#endif /*NIL*/
67
68
#endif /*__KPV__*/
69
70
/* user-supplied functions to do io */
71
typedef struct _vddisc_s Vddisc_t;
72
typedef int(* Vdio_f)_ARG_((Void_t*, int, long, Vddisc_t*));
73
struct _vddisc_s
74
{ long size; /* total data size */
75
Void_t* data; /* data array */
76
Vdio_f readf; /* to read data */
77
Vdio_f writef; /* to write data */
78
};
79
80
/* magic header for delta output */
81
#define VD_MAGIC "vd01"
82
83
_BEGIN_EXTERNS_
84
extern long _vddelta_01 _ARG_((Vddisc_t*,Vddisc_t*,Vddisc_t*,long));
85
extern long _vdupdate_01 _ARG_((Vddisc_t*,Vddisc_t*,Vddisc_t*));
86
_END_EXTERNS_
87
88
#endif /*_VDELTA_H*/
89
90