|  | // 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.le; | 
|  |  | 
|  | using fuchsia.bluetooth as bt; | 
|  |  | 
|  | /// Entry in the `service_data` field of a [`fuchsia.bluetooth.le/AdvertisingData`]. | 
|  | struct ServiceData { | 
|  | bt.Uuid uuid; | 
|  | bytes data; | 
|  | }; | 
|  |  | 
|  | /// Entry in the `manufacturer_data` field of a [`fuchsia.bluetooth.le/AdvertisingData`]. | 
|  | struct ManufacturerData { | 
|  | uint16 company_id; | 
|  | bytes data; | 
|  | }; | 
|  |  | 
|  | /// Represents advertising and scan response data that are transmitted by a LE peripheral or | 
|  | /// broadcaster. | 
|  | table AdvertisingData { | 
|  | /// Long or short name of the device. | 
|  | 1: string name; | 
|  |  | 
|  | /// The appearance of the device. | 
|  | 2: bt.Appearance appearance; | 
|  |  | 
|  | /// The radio transmit power level reported by an advertising peer. This field is disallowed | 
|  | /// when used with the Peripheral API. | 
|  | 3: int8 tx_power_level; | 
|  |  | 
|  | /// Service UUIDs. | 
|  | 4: vector<bt.Uuid> service_uuids; | 
|  |  | 
|  | /// Service data entries. | 
|  | 5: vector<ServiceData> service_data; | 
|  |  | 
|  | /// Manufacturer-specific data entries. | 
|  | 6: vector<ManufacturerData> manufacturer_data; | 
|  |  | 
|  | /// String representing a URI to be advertised, as defined in [IETF STD 66](https://tools.ietf.org/html/std66). | 
|  | /// Each entry should be a UTF-8 string including the scheme. For more information, see: | 
|  | /// - https://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml for allowed schemes; | 
|  | /// - https://www.bluetooth.com/specifications/assigned-numbers/uri-scheme-name-string-mapping | 
|  | ///   for code-points used by the system to compress the scheme to save space in the payload. | 
|  | 7: vector<string> uris; | 
|  | }; |