blob: 75d7ee09a7cab13230abe719bd42abcad39b2d02 [file] [log] [blame] [edit]
// Copyright 2022 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.
@available(added=HEAD)
library fuchsia.hardware.mailbox;
using zx;
/// `Channel` represents a single mailbox channel that can be used to send messages to a
/// destination core.
@discoverable
open protocol Channel {
/// Writes the message to the mailbox, interrupts the destination core, and (if applicable)
/// waits for the destination core to ack the message.
///
/// Returns `ZX_ERR_OUT_OF_RANGE` if `message` is larger than what the hardware can support.
strict SendMessage(struct {
message vector<uint8>:MAX;
}) -> () error zx.Status;
};
service Service {
channel client_end:Channel;
};