blob: 77b4f0bfd55ebd02ba31fad047f9769c1c5644bc [file] [log] [blame]
// Copyright 2019 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.settings;
/// Settings that influence the device's setup behavior.
///
/// Supported SettingsEpitaph enums:
/// REQUEST_NOT_SUPPORTED, INTERNAL_SERVICE_ERROR, PERSISTENT_STORAGE_ERROR
[Discoverable]
protocol Setup {
/// Gets the current [SetupSettings]. Returns immediately on first call;
/// subsequent calls return when the value changes.
///
/// If this call fails, it is considered a fatal error and the channel
/// will be closed.
Watch() -> (SetupSettings settings);
/// Changes the settings specified in [SetupSettings]. Any field not set in
/// the table will not perform any system operation. An error will be
/// returned if the provided settings is an invalid change (for example, if
/// it is empty).
[Transitional = "Changes network interfaces configuration with reboot"]
Set(SetupSettings settings) -> () error Error;
[Transitional = "Changes network interfaces configuration with optional reboot"]
Set2(SetupSettings settings, bool reboot_device) -> () error Error;
};
table SetupSettings {
/// Specifies the network interfaces that the device can be configured
/// over during setup.
1: ConfigurationInterfaces enabled_configuration_interfaces;
};
bits ConfigurationInterfaces : uint32 {
// Configuration over ethernet.
ETHERNET = 0x1;
// Configuration over WiFi.
WIFI = 0x2;
};