blob: b09c20f463cb1fcc72d65d4fb7a29c688a5cbe0d [file]
// 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 banjo.examples.references;
type SomeType = struct {
value uint32;
};
type VectorFieldInStruct = struct {
@out_of_line_contents
the_vector vector<SomeType>;
the_other_vector vector<box<SomeType>>;
the_default_vector vector<SomeType>;
};
type MutableField = struct {
@mutable
some_string string;
some_other_string string:optional;
some_default_string string;
};
@transport("Banjo")
protocol InOutProtocol {
DoSomething(struct {
@in_out
param SomeType;
}) -> ();
DoSomeOtherThing(struct {
param box<SomeType>;
}) -> ();
DoSomeDefaultThing(struct {
param SomeType;
}) -> ();
};