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