xref: /freebsd-src/sys/contrib/edk2/Include/IndustryStandard/Bluetooth.h (revision 3245fa215aca18d135839a15c80ae1c905666a37)
10d1ba665SWarner Losh /** @file
20d1ba665SWarner Losh   This file contains the Bluetooth definitions that are consumed by drivers.
30d1ba665SWarner Losh   These definitions are from Bluetooth Core Specification Version 4.0 June, 2010
40d1ba665SWarner Losh 
5*3245fa21SMitchell Horne   Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
6*3245fa21SMitchell Horne   SPDX-License-Identifier: BSD-2-Clause-Patent
70d1ba665SWarner Losh 
80d1ba665SWarner Losh **/
90d1ba665SWarner Losh 
100d1ba665SWarner Losh #ifndef _BLUETOOTH_H_
110d1ba665SWarner Losh #define _BLUETOOTH_H_
120d1ba665SWarner Losh 
130d1ba665SWarner Losh #pragma pack(1)
140d1ba665SWarner Losh 
150d1ba665SWarner Losh ///
160d1ba665SWarner Losh /// BLUETOOTH_ADDRESS
170d1ba665SWarner Losh ///
180d1ba665SWarner Losh typedef struct {
190d1ba665SWarner Losh   ///
200d1ba665SWarner Losh   /// 48bit Bluetooth device address.
210d1ba665SWarner Losh   ///
220d1ba665SWarner Losh   UINT8      Address[6];
230d1ba665SWarner Losh } BLUETOOTH_ADDRESS;
240d1ba665SWarner Losh 
250d1ba665SWarner Losh ///
260d1ba665SWarner Losh /// BLUETOOTH_CLASS_OF_DEVICE. See Bluetooth specification for detail.
270d1ba665SWarner Losh ///
280d1ba665SWarner Losh typedef struct {
290d1ba665SWarner Losh   UINT8      FormatType:2;
300d1ba665SWarner Losh   UINT8      MinorDeviceClass: 6;
310d1ba665SWarner Losh   UINT16     MajorDeviceClass: 5;
320d1ba665SWarner Losh   UINT16     MajorServiceClass:11;
330d1ba665SWarner Losh } BLUETOOTH_CLASS_OF_DEVICE;
340d1ba665SWarner Losh 
35*3245fa21SMitchell Horne ///
36*3245fa21SMitchell Horne /// BLUETOOTH_LE_ADDRESS
37*3245fa21SMitchell Horne ///
38*3245fa21SMitchell Horne typedef struct {
39*3245fa21SMitchell Horne   ///
40*3245fa21SMitchell Horne   /// 48-bit Bluetooth device address
41*3245fa21SMitchell Horne   ///
42*3245fa21SMitchell Horne   UINT8      Address[6];
43*3245fa21SMitchell Horne   ///
44*3245fa21SMitchell Horne   /// 0x00 - Public Device Address
45*3245fa21SMitchell Horne   /// 0x01 - Random Device Address
46*3245fa21SMitchell Horne   ///
47*3245fa21SMitchell Horne   UINT8      Type;
48*3245fa21SMitchell Horne } BLUETOOTH_LE_ADDRESS;
49*3245fa21SMitchell Horne 
500d1ba665SWarner Losh #pragma pack()
510d1ba665SWarner Losh 
520d1ba665SWarner Losh #define BLUETOOTH_HCI_COMMAND_LOCAL_READABLE_NAME_MAX_SIZE    248
530d1ba665SWarner Losh 
540d1ba665SWarner Losh #define BLUETOOTH_HCI_LINK_KEY_SIZE                           16
550d1ba665SWarner Losh 
560d1ba665SWarner Losh #endif
57