summaryrefslogtreecommitdiff
path: root/xdelta1/xd.ser
diff options
context:
space:
mode:
authordotdotisdead <dotdotisdead@a3eca27d-f21b-0410-9b4a-6511e771f64e>2006-09-30 04:47:47 +0000
committerdotdotisdead <dotdotisdead@a3eca27d-f21b-0410-9b4a-6511e771f64e>2006-09-30 04:47:47 +0000
commitad85653ca73c8126de516b9a4294e8f08577c00d (patch)
tree79fb4d644ccf6a4fe8dac146b801a21d63537b23 /xdelta1/xd.ser
parent5a7c245871879325d7b05c06e0b2011203986ee8 (diff)
import 1.1.3
Diffstat (limited to 'xdelta1/xd.ser')
-rwxr-xr-xxdelta1/xd.ser138
1 files changed, 138 insertions, 0 deletions
diff --git a/xdelta1/xd.ser b/xdelta1/xd.ser
new file mode 100755
index 0000000..7dd91c6
--- /dev/null
+++ b/xdelta1/xd.ser
@@ -0,0 +1,138 @@
1;; -*- Emacs-Lisp -*-
2
3(defmodule xd 3 "xdelta.h" nil)
4
5(defimport "libedsio/edsio.ser")
6
7(defsertype XdeltaChecksum 1
8 ((high uint16)
9 (low uint16)
10 )
11 ()
12 )
13
14(defsertype XdeltaIndex 2
15 ((file_len uint)
16 (file_md5 (bytes 16))
17 (index (array XdeltaChecksum))
18 )
19 ()
20 )
21
22(defsertype XdeltaSourceInfo 3
23 ((name string)
24 (md5 (bytes 16))
25 (len uint)
26 (isdata boolean) ;;; if true, then its source index is 0 and it is the data segment
27 (sequential boolean) ;;; if true, then offset field is not persistent, but instead
28 ;;; recomputed when loaded as the sum of
29 ;;; previous instruction's length fields, to
30 ;;; indicate a sequential read
31 )
32 ("guint32 position"
33 "guint32 copies"
34 "guint32 copy_length"
35 "FileHandle *in")
36 )
37
38(defsertype XdeltaControl 7
39 ((to_md5 (bytes 16))
40 (to_len uint)
41 (has_data boolean)
42 (source_info (array (ptr XdeltaSourceInfo)))
43 (inst (array XdeltaInstruction))
44 )
45 ("GArray *inst_array"
46 "GPtrArray *source_info_array"
47 )
48 )
49
50(defsertype XdeltaInstruction 8
51 ((index uint)
52 (offset uint)
53 (length uint)
54 )
55 ("guint32 output_start")
56 )
57
58;; rsync stuff
59
60(defsertype RsyncIndexElt 9
61 ((md5 (bytes 16))
62 (cksum XdeltaChecksum)
63 )
64 ("SerialRsyncIndexElt* next"
65 "gint match_offset")
66 )
67
68(defsertype RsyncIndex 10
69 ((seg_len uint)
70 (file_len uint)
71 (file_md5 (bytes 16))
72 (index (array RsyncIndexElt))
73 )
74 ("SerialRsyncIndexElt** table"
75 "guint table_size")
76 )
77
78;; backward compat, these are the 1.0 defs
79
80(defsertype Version0SourceInfo 4
81 ((md5 (bytes 16))
82 (real_md5 (bytes 16))
83 (length uint)
84 )
85 ()
86 )
87
88(defsertype Version0Control 5
89 ((normalized boolean)
90 (data_len uint)
91 (to_info Version0SourceInfo)
92 (source_info (array (ptr Version0SourceInfo)))
93 (inst (array Version0Instruction))
94 )
95 ("GArray *inst_array"
96 "GPtrArray *source_info_array"
97 )
98 )
99
100(defsertype Version0Instruction 6
101 ((offset uint)
102 (length uint)
103 )
104 ("guint8 type" ;; these two fields get packed into length
105 "guint8 index"
106 )
107 )
108
109;; events
110
111(defetype handle "FileHandle*")
112
113(defevent TooFewSources Error () ()
114 "Too few input sources")
115
116(defevent TooManySources Error () ()
117 "Too many input sources")
118
119(defevent OutOfRangeSourceIndex Error ((index int)) ()
120 "Instruction references out-of-range source index: ${INDEX}")
121
122(defevent InvalidControl Error () ()
123 "Delta control is corrupt")
124
125(defevent InvalidRsyncCache Error () ()
126 "The rsync checksum cache is corrupt")
127
128(defevent IncompatibleDelta Error () ()
129 "The delta was not produced according by the `xdelta delta' command")
130
131(defevent StreamChecksumFailed Error ((stream handle) (expected string) (received string)) ()
132 "${STREAM}: Checksum validation failed, expected: ${EXPECTED}, received: ${RECEIVED}")
133
134(defevent StreamLengthFailed Error ((stream handle) (expected int) (received int)) ()
135 "${STREAM}: Length validation failed, expected: ${EXPECTED}, received: ${RECEIVED}")
136
137(defevent BackwardCompatibilityMode Information ((version string)) ()
138 "Reading a version ${VERSION} delta control")