diff options
author | dotdotisdead <dotdotisdead@a3eca27d-f21b-0410-9b4a-6511e771f64e> | 2006-09-30 04:47:47 +0000 |
---|---|---|
committer | dotdotisdead <dotdotisdead@a3eca27d-f21b-0410-9b4a-6511e771f64e> | 2006-09-30 04:47:47 +0000 |
commit | ad85653ca73c8126de516b9a4294e8f08577c00d (patch) | |
tree | 79fb4d644ccf6a4fe8dac146b801a21d63537b23 /xdelta1/xd.ser | |
parent | 5a7c245871879325d7b05c06e0b2011203986ee8 (diff) |
import 1.1.3
Diffstat (limited to 'xdelta1/xd.ser')
-rwxr-xr-x | xdelta1/xd.ser | 138 |
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") | ||