blob: 33c889b271b661ea87a001641626dc4145e20881 [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.bluetooth.sys;
using fuchsia.bluetooth as bt;
enum TechnologyType {
LOW_ENERGY = 1;
CLASSIC = 2;
DUAL_MODE = 3;
};
/// Represents a remote BR/EDR, LE, or dual-mode BR/EDR/LE peer.
table Peer {
/// Uniquely identifies this peer on the current system.
///
/// This field is always present.
1: bt.PeerId id;
/// Bluetooth device address that identifies this peer. Clients
/// should display this field to the user when `name` is not available.
///
/// This field is always present.
///
/// NOTE: Clients should use the `identifier` field to keep track of peers instead of their
/// address.
2: bt.Address address;
/// The Bluetooth technologies that are supported by this peer.
///
/// This field is always present.
3: TechnologyType technology;
/// Whether or not a BR/EDR and/or LE connection exists to this peer.
///
/// This field is always present.
4: bool connected;
/// Whether or not this peer is bonded.
///
/// This field is always present.
5: bool bonded;
/// The name of the peer, if known.
6: string name;
/// The LE appearance property. Present if this peer supports LE and the
/// appearance information was obtained over advertising and/or GATT.
7: bt.Appearance appearance;
/// The class of device for this device, if known.
8: bt.DeviceClass device_class;
/// The most recently obtained advertising signal strength for this peer. Present if known.
9: int8 rssi;
/// The most recently obtained transmission power for this peer. Present if known.
10: int8 tx_power;
/// The list of service UUIDs known to be available on this peer.
11: vector<bt.Uuid> services;
};