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