blob: ab233502ac180f29b9e227143ad730073ad9b87d [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.hwinfo;
using fuchsia.intl;
const uint8 MAX_VALUE_LENGTH = 255;
/// Collection of properties that is unique per device.
table DeviceInfo {
1: string serial_number;
};
/// Collection of properties that is shared with other devices within the same
/// product line.
table ProductInfo {
1: string sku;
2: string language;
3: fuchsia.intl.RegulatoryDomain regulatory_domain;
4: vector<fuchsia.intl.LocaleId> locale_list;
5: string name;
6: string model;
7: string manufacturer;
8: string build_date;
9: string:MAX_VALUE_LENGTH build_name;
10: string:MAX_VALUE_LENGTH colorway;
11: string:MAX_VALUE_LENGTH display;
12: string:MAX_VALUE_LENGTH memory;
13: string:MAX_VALUE_LENGTH nand_storage;
14: string:MAX_VALUE_LENGTH emmc_storage;
15: string:MAX_VALUE_LENGTH microphone;
16: string:MAX_VALUE_LENGTH audio_amplifier;
};
/// Collection of properties that are common among a set of devices based on
/// hardware type
table BoardInfo {
1: string name;
2: string revision;
};
/// Device provides an interface to retrieve device-specific properties.
[Discoverable]
protocol Device {
GetInfo() -> (DeviceInfo info);
};
/// Product provides an interface to retrieve product-specific properties.
[Discoverable]
protocol Product {
GetInfo() -> (ProductInfo info);
};
/// Board provides an interface to retrieve hardware-specific information.
[Discoverable]
protocol Board {
GetInfo() -> (BoardInfo info);
};