blob: 7f770815d977648cea24164accfcd6a4f316838b [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 test.external;
using zx;
closed protocol SendHandleProtocol {
strict SendHandleReducedRights(resource struct {
h zx.Handle:<EVENT, zx.Rights.TRANSFER>;
});
strict SendHandleSameRights(resource struct {
h zx.Handle:EVENT;
});
};
closed protocol EchoHandleProtocol {
strict EchoHandleRequestResponseReducedRights(resource struct {
h zx.Handle:<EVENT, zx.Rights.TRANSFER | zx.Rights.DUPLICATE>;
}) -> (resource struct {
h zx.Handle:<EVENT, zx.Rights.TRANSFER>;
});
strict EchoHandleRequestReducedRights(resource struct {
h zx.Handle:<EVENT, zx.Rights.TRANSFER>;
}) -> (resource struct {
h zx.Handle:EVENT;
});
strict EchoHandleRequestSameRights(resource struct {
h zx.Handle:EVENT;
}) -> (resource struct {
h zx.Handle:EVENT;
});
strict EchoHandleResponseReducedRights(resource struct {
h zx.Handle:EVENT;
}) -> (resource struct {
h zx.Handle:<EVENT, zx.Rights.TRANSFER>;
});
strict EchoHandleResponseSameRights(resource struct {
h zx.Handle:EVENT;
}) -> (resource struct {
h zx.Handle:EVENT;
});
};
closed protocol PushEventProtocol {
strict -> PushEventReducedRights(resource struct {
h zx.Handle:<EVENT, zx.Rights.TRANSFER>;
});
strict -> PushEventSameRights(resource struct {
h zx.Handle:EVENT;
});
};
closed protocol ErrorSyntaxProtocol {
strict TestErrorSyntax() -> (resource struct {
h zx.Handle:<EVENT, zx.Rights.TRANSFER>;
}) error uint32;
};