blob: 77d5fc2913a7049a68cc3f6a1a58cb5cc1a42fa3 [file] [log] [blame]
// Copyright 2020 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// API exposed by cros_healthd's root-level executor. This is used by the
// sandboxed cros_healthd daemon when it needs to perform a high-privilege
// operation.
module chromeos.cros_healthd_executor.mojom;
// Provides the result of running a process.
struct ProcessResult {
// Return code received from the process (0=success). If this is non-zero then
// stdout and/or stderr may be empty.
int32 return_code;
// Contents of stdout from running the process.
string out;
// Contents of stderr from running the process. If this is non-empty it may
// indicate there is a problem, even if |return_code| is 0.
string err;
};
// Root-level executor interface exposed to the cros_healthd daemon. In
// production, this is implemented by the Executor daemon.
interface Executor {
// Obtains fan speed by running ectool and returns the result.
//
// The response:
// * |result| - contains information received from running the tool.
GetFanSpeed() => (ProcessResult result);
// Runs memtester and returns the result.
//
// The response:
// * |result| - contains information received from running memtester.
RunMemtester() => (ProcessResult result);
};