blob: 06fe66b7ddae9e720e21fa5143696621644de1bf [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.cmx to build crash reports and send them to the system
/// crash reporter in an isolated process.
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.
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>;
});
};