/***********************************************************************1* *2* This software is part of the ast package *3* Copyright (c) 1995-2011 AT&T Intellectual Property *4* and is licensed under the *5* Eclipse Public License, Version 1.0 *6* by AT&T Intellectual Property *7* *8* A copy of the License is available at *9* http://www.eclipse.org/org/documents/epl-v10.html *10* (with md5 checksum b35adb5213ca9657e911e9befb180842) *11* *12* Information and Software Systems Research *13* AT&T Research *14* Florham Park NJ *15* *16* Phong Vo <[email protected]> *17* *18***********************************************************************/19#ifndef _VDELTA_H20#define _VDELTA_H 12122#ifndef __KPV__23#define __KPV__ 12425#ifndef __STD_C26#ifdef __STDC__27#define __STD_C 128#else29#if __cplusplus30#define __STD_C 131#else32#define __STD_C 033#endif /*__cplusplus*/34#endif /*__STDC__*/35#endif /*__STD_C*/3637#ifndef _BEGIN_EXTERNS_38#if __cplusplus39#define _BEGIN_EXTERNS_ extern "C" {40#define _END_EXTERNS_ }41#else42#define _BEGIN_EXTERNS_43#define _END_EXTERNS_44#endif45#endif /*_BEGIN_EXTERNS_*/4647#ifndef _ARG_48#if __STD_C49#define _ARG_(x) x50#else51#define _ARG_(x) ()52#endif53#endif /*_ARG_*/5455#ifndef Void_t56#if __STD_C57#define Void_t void58#else59#define Void_t char60#endif61#endif /*Void_t*/6263#ifndef NIL64#define NIL(type) ((type)0)65#endif /*NIL*/6667#endif /*__KPV__*/6869/* user-supplied functions to do io */70typedef struct _vddisc_s Vddisc_t;71typedef int(* Vdio_f)_ARG_((Void_t*, int, long, Vddisc_t*));72struct _vddisc_s73{ long size; /* total data size */74Void_t* data; /* data array */75Vdio_f readf; /* to read data */76Vdio_f writef; /* to write data */77};7879/* magic header for delta output */80#define VD_MAGIC "vd01"8182_BEGIN_EXTERNS_83extern long _vddelta_01 _ARG_((Vddisc_t*,Vddisc_t*,Vddisc_t*,long));84extern long _vdupdate_01 _ARG_((Vddisc_t*,Vddisc_t*,Vddisc_t*));85_END_EXTERNS_8687#endif /*_VDELTA_H*/888990