blob: 51e9439708a3b3b4dd56e1c3530fd8712b871a4c [file] [log] [blame]
// Copyright 2021 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
library fuchsia.fuzzer;
using zx;
/// See |Controller.GetCorpusWriter| and |Controller.GetCorpusReader|.
type Corpus = flexible enum : uint8 {
/// Indicates a set of fixed, immutable inputs typically provided at start-up. These inputs are
/// never discarded when merging.
SEED = 1;
/// Indicates a set of inputs generated by the fuzzer. These may be modified and/or discarded
/// when merging and minimizing the corpus.
LIVE = 2;
};
/// Receives a sequence of test inputs belonging to a fuzzer's corpus.
/// Returns an error if the transfer fails.
protocol CorpusReader {
Next(resource struct {
test_input Input;
}) -> (struct {
result zx.status;
});
};