boot/efi: Sync our TianoCore EDK II headers with the edk2-stable201908 tag.
[dragonfly.git] / sys / contrib / edk2 / Include / IndustryStandard / Bluetooth.h
1 /** @file
2   This file contains the Bluetooth definitions that are consumed by drivers.
3   These definitions are from Bluetooth Core Specification Version 4.0 June, 2010
4
5   Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
6   SPDX-License-Identifier: BSD-2-Clause-Patent
7
8 **/
9
10 #ifndef _BLUETOOTH_H_
11 #define _BLUETOOTH_H_
12
13 #pragma pack(1)
14
15 ///
16 /// BLUETOOTH_ADDRESS
17 ///
18 typedef struct {
19   ///
20   /// 48bit Bluetooth device address.
21   ///
22   UINT8      Address[6];
23 } BLUETOOTH_ADDRESS;
24
25 ///
26 /// BLUETOOTH_CLASS_OF_DEVICE. See Bluetooth specification for detail.
27 ///
28 typedef struct {
29   UINT8      FormatType:2;
30   UINT8      MinorDeviceClass: 6;
31   UINT16     MajorDeviceClass: 5;
32   UINT16     MajorServiceClass:11;
33 } BLUETOOTH_CLASS_OF_DEVICE;
34
35 ///
36 /// BLUETOOTH_LE_ADDRESS
37 ///
38 typedef struct {
39   ///
40   /// 48-bit Bluetooth device address
41   ///
42   UINT8      Address[6];
43   ///
44   /// 0x00 - Public Device Address
45   /// 0x01 - Random Device Address
46   ///
47   UINT8      Type;
48 } BLUETOOTH_LE_ADDRESS;
49
50 #pragma pack()
51
52 #define BLUETOOTH_HCI_COMMAND_LOCAL_READABLE_NAME_MAX_SIZE    248
53
54 #define BLUETOOTH_HCI_LINK_KEY_SIZE                           16
55
56 #endif