xref: /freebsd/sys/contrib/edk2/Include/IndustryStandard/Bluetooth.h (revision d93a896ef95946b0bf1219866fcb324b78543444)
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, 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 ///
24 typedef 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 ///
34 typedef struct {
35   UINT8      FormatType:2;
36   UINT8      MinorDeviceClass: 6;
37   UINT16     MajorDeviceClass: 5;
38   UINT16     MajorServiceClass:11;
39 } BLUETOOTH_CLASS_OF_DEVICE;
40 
41 #pragma pack()
42 
43 #define BLUETOOTH_HCI_COMMAND_LOCAL_READABLE_NAME_MAX_SIZE    248
44 
45 #define BLUETOOTH_HCI_LINK_KEY_SIZE                           16
46 
47 #endif
48