blob: f0b6db10fe11bb8d90b96671d74c64ab43df2830 [file] [log] [blame]
Subrata Banik8b9f2892018-01-25 10:50:39 +05301/** @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 This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution. The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php
10
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13
14**/
15
16#ifndef _BLUETOOTH_H_
17#define _BLUETOOTH_H_
18
19#pragma pack(1)
20
21///
22/// BLUETOOTH_ADDRESS
23///
24typedef struct {
25 ///
26 /// 48bit Bluetooth device address.
27 ///
28 UINT8 Address[6];
29} BLUETOOTH_ADDRESS;
30
31///
32/// BLUETOOTH_CLASS_OF_DEVICE. See Bluetooth specification for detail.
33///
34typedef struct {
35 UINT8 FormatType:2;
36 UINT8 MinorDeviceClass: 6;
37 UINT16 MajorDeviceClass: 5;
38 UINT16 MajorServiceClass:11;
39} BLUETOOTH_CLASS_OF_DEVICE;
40
41///
42/// BLUETOOTH_LE_ADDRESS
43///
44typedef struct {
45 ///
46 /// 48-bit Bluetooth device address
47 ///
48 UINT8 Address[6];
49 ///
50 /// 0x00 - Public Device Address
51 /// 0x01 - Random Device Address
52 ///
53 UINT8 Type;
54} BLUETOOTH_LE_ADDRESS;
55
56#pragma pack()
57
58#define BLUETOOTH_HCI_COMMAND_LOCAL_READABLE_NAME_MAX_SIZE 248
59
60#define BLUETOOTH_HCI_LINK_KEY_SIZE 16
61
62#endif