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///
18typedef 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///
28typedef 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///
38typedef 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
57