summaryrefslogtreecommitdiffstats
path: root/applypatch/include
diff options
context:
space:
mode:
authorTao Bao <tbao@google.com>2016-12-28 19:11:11 +0100
committerandroid-build-merger <android-build-merger@google.com>2016-12-28 19:11:11 +0100
commit4fe022c4ed103048c943bb785e74c75934af3e17 (patch)
tree500cce081dab6124dd7320f160f54291dc00013f /applypatch/include
parentMerge "tests: Add test coverage for DirUtil." (diff)
parentMerge "Add tests for imgdiff." (diff)
downloadandroid_bootable_recovery-4fe022c4ed103048c943bb785e74c75934af3e17.tar
android_bootable_recovery-4fe022c4ed103048c943bb785e74c75934af3e17.tar.gz
android_bootable_recovery-4fe022c4ed103048c943bb785e74c75934af3e17.tar.bz2
android_bootable_recovery-4fe022c4ed103048c943bb785e74c75934af3e17.tar.lz
android_bootable_recovery-4fe022c4ed103048c943bb785e74c75934af3e17.tar.xz
android_bootable_recovery-4fe022c4ed103048c943bb785e74c75934af3e17.tar.zst
android_bootable_recovery-4fe022c4ed103048c943bb785e74c75934af3e17.zip
Diffstat (limited to 'applypatch/include')
-rw-r--r--applypatch/include/applypatch/imgdiff.h39
-rw-r--r--applypatch/include/applypatch/imgpatch.h10
2 files changed, 45 insertions, 4 deletions
diff --git a/applypatch/include/applypatch/imgdiff.h b/applypatch/include/applypatch/imgdiff.h
new file mode 100644
index 000000000..22cbd4fa0
--- /dev/null
+++ b/applypatch/include/applypatch/imgdiff.h
@@ -0,0 +1,39 @@
+/*
+ * Copyright (C) 2009 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef _APPLYPATCH_IMGDIFF_H
+#define _APPLYPATCH_IMGDIFF_H
+
+#include <stddef.h>
+
+// Image patch chunk types
+#define CHUNK_NORMAL 0
+#define CHUNK_GZIP 1 // version 1 only
+#define CHUNK_DEFLATE 2 // version 2 only
+#define CHUNK_RAW 3 // version 2 only
+
+// The gzip header size is actually variable, but we currently don't
+// support gzipped data with any of the optional fields, so for now it
+// will always be ten bytes. See RFC 1952 for the definition of the
+// gzip format.
+static constexpr size_t GZIP_HEADER_LEN = 10;
+
+// The gzip footer size really is fixed.
+static constexpr size_t GZIP_FOOTER_LEN = 8;
+
+int imgdiff(int argc, const char** argv);
+
+#endif // _APPLYPATCH_IMGDIFF_H
diff --git a/applypatch/include/applypatch/imgpatch.h b/applypatch/include/applypatch/imgpatch.h
index 64d9aa9eb..6549f79f0 100644
--- a/applypatch/include/applypatch/imgpatch.h
+++ b/applypatch/include/applypatch/imgpatch.h
@@ -14,13 +14,15 @@
* limitations under the License.
*/
-#ifndef _IMGPATCH_H
-#define _IMGPATCH_H
+#ifndef _APPLYPATCH_IMGPATCH_H
+#define _APPLYPATCH_IMGPATCH_H
-typedef ssize_t (*SinkFn)(const unsigned char*, ssize_t, void*);
+#include <sys/types.h>
+
+using SinkFn = ssize_t (*)(const unsigned char*, ssize_t, void*);
int ApplyImagePatch(const unsigned char* old_data, ssize_t old_size,
const unsigned char* patch_data, ssize_t patch_size,
SinkFn sink, void* token);
-#endif //_IMGPATCH_H
+#endif // _APPLYPATCH_IMGPATCH_H