xref: /aosp_15_r20/external/puffin/src/puffin.proto (revision 07fb1d065b7cfb4729786fadd42a612532d2f466)
1// Copyright 2017 The ChromiumOS Authors
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5syntax = "proto3";
6
7package puffin.metadata;
8option optimize_for = LITE_RUNTIME;
9
10message BitExtent {
11  uint64 offset = 1;
12  uint64 length = 2;
13}
14
15message StreamInfo {
16  repeated BitExtent deflates = 1;
17  repeated BitExtent puffs = 2;
18  uint64 puff_length = 3;
19}
20
21message PatchHeader {
22  enum PatchType {
23    BSDIFF = 0;
24    ZUCCHINI = 1;
25  }
26
27  int32 version = 1;
28  StreamInfo src = 2;
29  StreamInfo dst = 3;
30  // The bsdiff patch is installed right after this protobuf.
31
32  PatchType type = 4;
33}