// Copyright 2019 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 fidl.test.fidlutils;

@for_deprecated_c_bindings
protocol BindingTestsProtocol {
    FunctionWithReply(struct {
        magic uint64;
    }) -> ();
    FunctionWithoutReply(struct {
        magic uint64;
    });
};
