blob: 29d0ce71a8b88f58e58cbc65e8f69cd6f25f7f75 [file] [log] [blame]
// Copyright 2020 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.exception.internal;
using zx;
using fuchsia.component;
/// Internal protocol that allows exceptions.cml to build crash reports and send them to the system
/// crash reporter in an isolated process.
closed protocol CrashReporter {
/// A CrashReporter needs an optional exception, process, and thread so it can attempt to create
/// a crash report with a minidump and annotations on the thread that crashed.
///
/// Returns the moniker of the component that crashed, if available.
strict Send(resource struct {
exception zx.Handle:<EXCEPTION, optional>;
crashed_process zx.Handle:<PROCESS, optional>;
crashed_thread zx.Handle:<THREAD, optional>;
}) -> (struct {
moniker string:<fuchsia.component.MAX_MONIKER_LENGTH, optional>;
});
};