xref: /aosp_15_r20/external/zucchini/fuzzers/file_pair.proto (revision a03ca8b91e029cd15055c20c78c2e087c84792e4)
1*a03ca8b9SKrzysztof Kosiński// Copyright 2018 The Chromium Authors. All rights reserved.
2*a03ca8b9SKrzysztof Kosiński// Use of this source code is governed by a BSD-style license that can be
3*a03ca8b9SKrzysztof Kosiński// found in the LICENSE file.
4*a03ca8b9SKrzysztof Kosiński
5*a03ca8b9SKrzysztof Kosińskisyntax = "proto2";
6*a03ca8b9SKrzysztof Kosiński
7*a03ca8b9SKrzysztof Kosińskipackage zucchini.fuzzers;
8*a03ca8b9SKrzysztof Kosiński
9*a03ca8b9SKrzysztof Kosiński// NEXT_TAG = 4
10*a03ca8b9SKrzysztof Kosińskimessage FilePair {
11*a03ca8b9SKrzysztof Kosiński  // File to generate patch from or apply patch to.
12*a03ca8b9SKrzysztof Kosiński  required bytes old_file = 1;
13*a03ca8b9SKrzysztof Kosiński  // New file to generate patch or the patch to apply.
14*a03ca8b9SKrzysztof Kosiński  required bytes new_or_patch_file = 2;
15*a03ca8b9SKrzysztof Kosiński  // Imposed matches to apply to the equivalence matches.
16*a03ca8b9SKrzysztof Kosiński  // Should be of the format:
17*a03ca8b9SKrzysztof Kosiński  //   "#+#=#+#,#+#=#+#,..." (e.g., "1+2=3+4", "1+2=3+4,5+6=7+8"),
18*a03ca8b9SKrzysztof Kosiński  // where "#+#=#+#" encodes a match as 4 unsigned integers:
19*a03ca8b9SKrzysztof Kosiński  //   [offset in "old", size in "old", offset in "new", size in "new"].
20*a03ca8b9SKrzysztof Kosiński  optional string imposed_matches = 3;
21*a03ca8b9SKrzysztof Kosiński}
22