Reactos
at master 627 lines 28 kB view raw
1/** 2 * This file has no copyright assigned and is placed in the Public Domain. 3 * This file is part of the mingw-w64 runtime package. 4 * No warranty is given; refer to the file DISCLAIMER.PD within this package. 5 */ 6#ifndef _INC_BTHDEF 7#define _INC_BTHDEF 8 9#include <_mingw_unicode.h> 10 11#ifdef __cplusplus 12extern "C" { 13#endif 14 15/* ULONGLONG according to google */ 16__MINGW_EXTENSION typedef ULONGLONG BTH_ADDR; 17/* ULONG according to google */ 18typedef ULONG BTH_COD; 19 20/*http://www.koders.com/delphi/fidD54082EB25FCAB99B74E5FDB4F3937EFB567FE9A.aspx*/ 21/* The following parts are under LGPL */ 22 23DEFINE_GUID(GUID_BTHPORT_DEVICE_INTERFACE,0x0850302A,0xB344,0x4fda,0x9B,0xE9,0x90,0x57,0x6B,0x8D,0x46,0xF0); 24DEFINE_GUID(GUID_BLUETOOTH_RADIO_IN_RANGE,0xEA3B5B82,0x26EE,0x450E,0xB0,0xD8,0xD2,0x6F,0xE3,0x0A,0x38,0x69); 25DEFINE_GUID(GUID_BLUETOOTH_RADIO_OUT_OF_RANGE,0xE28867C9,0xC2AA,0x4CED,0xB9,0x69,0x45,0x70,0x86,0x60,0x37,0xC4); 26DEFINE_GUID(GUID_BLUETOOTH_PIN_REQUEST,0xBD198B7C,0x24AB,0x4B9A,0x8C,0x0D,0xA8,0xEA,0x83,0x49,0xAA,0x16); 27DEFINE_GUID(GUID_BLUETOOTH_L2CAP_EVENT,0x7EAE4030,0xB709,0x4AA8,0xAC,0x55,0xE9,0x53,0x82,0x9C,0x9D,0xAA); 28DEFINE_GUID(GUID_BLUETOOTH_HCI_EVENT,0xFC240062,0x1541,0x49BE,0xB4,0x63,0x84,0xC4,0xDC,0xD7,0xBF,0x7F); 29DEFINE_GUID(BLUETOOTH_BASE_UUID,0x00000000,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 30DEFINE_GUID(SDP_PROTOCOL_UUID,0x00000001,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 31DEFINE_GUID(UDP_PROTOCOL_UUID,0x00000002,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 32DEFINE_GUID(RFCOMM_PROTOCOL_UUID,0x00000003,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 33DEFINE_GUID(TCP_PROTOCOL_UUID,0x00000004,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 34DEFINE_GUID(TCSBIN_PROTOCOL_UUID,0x00000005,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 35DEFINE_GUID(TCSAT_PROTOCOL_UUID,0x00000006,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 36DEFINE_GUID(OBEX_PROTOCOL_UUID,0x00000008,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 37DEFINE_GUID(IP_PROTOCOL_UUID,0x00000009,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 38DEFINE_GUID(FTP_PROTOCOL_UUID,0x0000000A,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 39DEFINE_GUID(HTTP_PROTOCOL_UUID,0x0000000C,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 40DEFINE_GUID(WSP_PROTOCOL_UUID,0x0000000E,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 41DEFINE_GUID(BNEP_PROTOCOL_UUID,0x0000000F,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 42DEFINE_GUID(UPNP_PROTOCOL_UUID,0x00000010,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 43DEFINE_GUID(HCCC_PROTOCOL_UUID,0x00000012,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 44DEFINE_GUID(HCDC_PROTOCOL_UUID,0x00000014,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 45DEFINE_GUID(HN_PROTOCOL_UUID,0x00000016,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 46DEFINE_GUID(AVCTP_PROTOCOL_UUID,0x00000017,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 47DEFINE_GUID(AVDTP_PROTOCOL_UUID,0x00000019,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 48DEFINE_GUID(CMPT_PROTOCOL_UUID,0x0000001B,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 49DEFINE_GUID(UDI_C_PLANE_PROTOCOL_UUID,0x0000001D,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 50DEFINE_GUID(L2CAP_PROTOCOL_UUID,0x00000100,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 51 52#define SDP_PROTOCOL_UUID16 0x0001 53#define UDP_PROTOCOL_UUID16 0x0002 54#define RFCOMM_PROTOCOL_UUID16 0x0003 55#define TCP_PROTOCOL_UUID16 0x0004 56#define TCSBIN_PROTOCOL_UUID16 0x0005 57#define TCSAT_PROTOCOL_UUID16 0x0006 58#define OBEX_PROTOCOL_UUID16 0x0008 59#define IP_PROTOCOL_UUID16 0x0009 60#define FTP_PROTOCOL_UUID16 0x000A 61#define HTTP_PROTOCOL_UUID16 0x000C 62#define WSP_PROTOCOL_UUID16 0x000E 63#define BNEP_PROTOCOL_UUID16 0x000F 64#define UPNP_PROTOCOL_UUID16 0x0010 65#define HID_PROTOCOL_UUID16 0x0011 66#define HCCC_PROTOCOL_UUID16 0x0012 67#define HCDC_PROTOCOL_UUID16 0x0014 68#define HCN_PROTOCOL_UUID16 0x0016 69#define AVCTP_PROTOCOL_UUID16 0x0017 70#define AVDTP_PROTOCOL_UUID16 0x0019 71#define CMPT_PROTOCOL_UUID16 0x001B 72#define UDI_C_PLANE_PROTOCOL_UUID16 0x001D 73#define L2CAP_PROTOCOL_UUID16 0x0100 74 75DEFINE_GUID(ServiceDiscoveryServerServiceClassID_UUID,0x00001000,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 76DEFINE_GUID(BrowseGroupDescriptorServiceClassID_UUID,0x00001001,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 77DEFINE_GUID(PublicBrowseGroupServiceClass_UUID,0x00001002,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 78DEFINE_GUID(SerialPortServiceClass_UUID,0x00001101,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 79DEFINE_GUID(LANAccessUsingPPPServiceClass_UUID,0x00001102,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 80DEFINE_GUID(DialupNetworkingServiceClass_UUID,0x00001103,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 81DEFINE_GUID(IrMCSyncServiceClass_UUID,0x00001104,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 82DEFINE_GUID(OBEXObjectPushServiceClass_UUID,0x00001105,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 83DEFINE_GUID(OBEXFileTransferServiceClass_UUID,0x00001106,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 84DEFINE_GUID(IrMCSyncCommandServiceClass_UUID,0x00001107,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 85DEFINE_GUID(HeadsetServiceClass_UUID,0x00001108,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 86DEFINE_GUID(CordlessTelephonyServiceClass_UUID,0x00001109,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 87DEFINE_GUID(AudioSourceServiceClass_UUID,0x0000110A,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 88DEFINE_GUID(AudioSinkServiceClass_UUID,0x0000110B,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 89DEFINE_GUID(AVRemoteControlTargetServiceClass_UUID,0x0000110C,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 90DEFINE_GUID(AdvancedAudioDistributionServiceClass_UUID,0x0000110D,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 91DEFINE_GUID(AVRemoteControlServiceClass_UUID,0x0000110E,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 92DEFINE_GUID(VideoConferencingServiceClass_UUID,0x0000110F,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 93DEFINE_GUID(IntercomServiceClass_UUID,0x00001110,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 94DEFINE_GUID(FaxServiceClass_UUID,0x00001111,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 95DEFINE_GUID(HeadsetAudioGatewayServiceClass_UUID,0x00001112,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 96DEFINE_GUID(WAPServiceClass_UUID,0x00001113,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 97DEFINE_GUID(WAPClientServiceClass_UUID,0x00001114,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 98DEFINE_GUID(PANUServiceClass_UUID,0x00001115,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 99DEFINE_GUID(NAPServiceClass_UUID,0x00001116,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 100DEFINE_GUID(GNServiceClass_UUID,0x00001117,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 101DEFINE_GUID(DirectPrintingServiceClass_UUID,0x00001118,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 102DEFINE_GUID(ReferencePrintingServiceClass_UUID,0x00001119,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 103DEFINE_GUID(ImagingServiceClass_UUID,0x0000111A,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 104DEFINE_GUID(ImagingResponderServiceClass_UUID,0x0000111B,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 105DEFINE_GUID(ImagingAutomaticArchiveServiceClass_UUID,0x0000111C,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 106DEFINE_GUID(ImagingReferenceObjectsServiceClass_UUID,0x0000111D,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 107DEFINE_GUID(HandsfreeServiceClass_UUID,0x0000111E,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 108DEFINE_GUID(HandsfreeAudioGatewayServiceClass_UUID,0x0000111F,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 109DEFINE_GUID(DirectPrintingReferenceObjectsServiceClass_UUID,0x00001120,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 110DEFINE_GUID(ReflectedUIServiceClass_UUID,0x00001121,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 111DEFINE_GUID(BasicPringingServiceClass_UUID,0x00001122,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 112DEFINE_GUID(PrintingStatusServiceClass_UUID,0x00001123,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 113DEFINE_GUID(HumanInterfaceDeviceServiceClass_UUID,0x00001124,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 114DEFINE_GUID(HardcopyCableReplacementServiceClass_UUID,0x00001125,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 115DEFINE_GUID(HCRPrintServiceClass_UUID,0x00001126,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 116DEFINE_GUID(HCRScanServiceClass_UUID,0x00001127,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 117DEFINE_GUID(CommonISDNAccessServiceClass_UUID,0x00001128,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 118DEFINE_GUID(VideoConferencingGWServiceClass_UUID,0x00001129,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 119DEFINE_GUID(UDIMTServiceClass_UUID,0x0000112A,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 120DEFINE_GUID(UDITAServiceClass_UUID,0x0000112B,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 121DEFINE_GUID(AudioVideoServiceClass_UUID,0x0000112C,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 122DEFINE_GUID(PnPInformationServiceClass_UUID,0x00001200,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 123DEFINE_GUID(GenericNetworkingServiceClass_UUID,0x00001201,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 124DEFINE_GUID(GenericFileTransferServiceClass_UUID,0x00001202,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 125DEFINE_GUID(GenericAudioServiceClass_UUID,0x00001203,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 126DEFINE_GUID(GenericTelephonyServiceClass_UUID,0x00001204,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); 127 128#define ServiceDiscoveryServerServiceClassID_UUID16 0x1000 129#define BrowseGroupDescriptorServiceClassID_UUID16 0x1001 130#define PublicBrowseGroupServiceClassID_UUID16 0x1002 131#define SerialPortServiceClassID_UUID16 0x1101 132#define LANAccessUsingPPPServiceClassID_UUID16 0x1102 133#define DialupNetworkingServiceClassID_UUID16 0x1103 134#define IrMCSyncServiceClassID_UUID16 0x1104 135#define OBEXObjectPushServiceClassID_UUID16 0x1105 136#define OBEXFileTransferServiceClassID_UUID16 0x1106 137#define IrMcSyncCommandServiceClassID_UUID16 0x1107 138#define HeadsetServiceClassID_UUID16 0x1108 139#define CordlessServiceClassID_UUID16 0x1109 140#define AudioSourceServiceClassID_UUID16 0x110A 141#define AudioSinkSourceServiceClassID_UUID16 0x110B 142#define AVRemoteControlTargetServiceClassID_UUID16 0x110C 143#define AdvancedAudioDistributionServiceClassID_UUID16 0x110D 144#define AVRemoteControlServiceClassID_UUID16 0x110E 145#define VideoConferencingServiceClassID_UUID16 0x110F 146#define IntercomServiceClassID_UUID16 0x1110 147#define FaxServiceClassID_UUID16 0x1111 148#define HeadsetAudioGatewayServiceClassID_UUID16 0x1112 149#define WAPServiceClassID_UUID16 0x1113 150#define WAPClientServiceClassID_UUID16 0x1114 151#define PANUServiceClassID_UUID16 0x1115 152#define NAPServiceClassID_UUID16 0x1116 153#define GNServiceClassID_UUID16 0x1117 154#define DirectPrintingServiceClassID_UUID16 0x1118 155#define ReferencePrintingServiceClassID_UUID16 0x1119 156#define ImagingServiceClassID_UUID16 0x111A 157#define ImagingResponderServiceClassID_UUID16 0x111B 158#define ImagingAutomaticArchiveServiceClassID_UUID16 0x111C 159#define ImagingReferenceObjectsServiceClassID_UUID16 0x111D 160#define HandsfreeServiceClassID_UUID16 0x111E 161#define HandsfreeAudioGatewayServiceClassID_UUID16 0x111F 162#define DirectPrintingReferenceObjectsServiceClassID_UUID16 0x1120 163#define ReflectsUIServiceClassID_UUID16 0x1121 164#define BasicPrintingServiceClassID_UUID16 0x1122 165#define PrintingStatusServiceClassID_UUID16 0x1123 166#define HumanInterfaceDeviceServiceClassID_UUID16 0x1124 167#define HardcopyCableReplacementServiceClassID_UUID16 0x1125 168#define HCRPrintServiceClassID_UUID16 0x1126 169#define HCRScanServiceClassID_UUID16 0x1127 170#define CommonISDNAccessServiceClass_UUID16 0x1128 171#define VideoConferencingGWServiceClass_UUID16 0x1129 172#define UDIMTServiceClass_UUID16 0x112A 173#define UDITAServiceClass_UUID16 0x112B 174#define AudioVideoServiceClass_UUID16 0x112C 175 176#define PnPInformationServiceClassID_UUID16 0x1200 177#define GenericNetworkingServiceClassID_UUID16 0x1201 178#define GenericFileTransferServiceClassID_UUID16 0x1202 179#define GenericAudioServiceClassID_UUID16 0x1203 180#define GenericTelephonyServiceClassID_UUID16 0x1204 181 182#define BTH_MAX_NAME_SIZE 248 183#define BTH_MAX_PIN_SIZE 16 184#define BTH_LINK_KEY_LENGTH 16 185 186#define BTH_MFG_ERICSSON 0 187#define BTH_MFG_NOKIA 1 188#define BTH_MFG_INTEL 2 189#define BTH_MFG_IBM 3 190#define BTH_MFG_TOSHIBA 4 191#define BTH_MFG_3COM 5 192#define BTH_MFG_MICROSOFT 6 193#define BTH_MFG_LUCENT 7 194#define BTH_MFG_MOTOROLA 8 195#define BTH_MFG_INFINEON 9 196#define BTH_MFG_CSR 10 197#define BTH_MFG_SILICONWAVE 11 198#define BTH_MFG_DIGIANSWER 12 199#define BTH_MFG_TI 13 200#define BTH_MFG_PARTHUS 14 201#define BTH_MFG_BROADCOM 15 202#define BTH_MFG_MITEL 16 203#define BTH_MFG_WIDCOMM 17 204#define BTH_MFG_ZEEVO 18 205#define BTH_MFG_ATMEL 19 206#define BTH_MFG_MITSIBUSHI 20 207#define BTH_MFG_RTX_TELECOM 21 208#define BTH_MFG_KC_TECHNOLOGY 22 209#define BTH_MFG_NEWLOGIC 23 210#define BTH_MFG_TRANSILICA 24 211#define BTH_MFG_ROHDE_SCHWARZ 25 212#define BTH_MFG_TTPCOM 26 213#define BTH_MFG_SIGNIA 27 214#define BTH_MFG_CONEXANT 28 215#define BTH_MFG_QUALCOMM 29 216#define BTH_MFG_INVENTEL 30 217#define BTH_MFG_AVM_BERLIN 31 218#define BTH_MFG_BANDSPEED 32 219#define BTH_MFG_MANSELLA 33 220#define BTH_MFG_NEC 34 221#define BTH_MFG_WAVEPLUS_TECHNOLOGY_CO 35 222#define BTH_MFG_ALCATEL 36 223#define BTH_MFG_PHILIPS_SEMICONDUCTOR 37 224#define BTH_MFG_C_TECHNOLOGIES 38 225#define BTH_MFG_OPEN_INTERFACE 39 226#define BTH_MFG_RF_MICRO_DEVICES 40 227#define BTH_MFG_HITACHI 41 228#define BTH_MFG_SYMBOL_TECHNOLOGIES 42 229#define BTH_MFG_TENOVIS 43 230#define BTH_MFG_MACRONIX_INTERNATIONAL 44 231#define BTH_MFG_INTERNAL_USE 65535 232 233#define BTH_ADDR_NULL 0ULL 234 235#define NAP_MASK 0xFFFF00000000ULL 236#define SAP_MASK 0x0000FFFFFFFFULL 237#define NAP_BIT_OFFSET 32 238#define SAP_BIT_OFFSET 0 239 240#define GET_NAP(X) (((X)&NAP_MASK)>>NAP_BIT_OFFSET) 241#define GET_SAP(X) (((X)&SAP_MASK)>>SAP_BIT_OFFSET) 242#define SET_NAP(X) ((X)<<NAP_BIT_OFFSET) 243#define SET_SAP(X) ((X)<<SAP_BIT_OFFSET) 244#define SET_NAP_SAP(X,Y) (SET_NAP(X)|SET_SAP(Y)) 245 246#define COD_FORMAT_BIT_OFFSET 0 247#define COD_MINOR_BIT_OFFSET 2 248#define COD_MAJOR_BIT_OFFSET 8 249#define COD_SERVICE_BIT_OFFSET 13 250 251#define COD_FORMAT_MASK 0x000003 252#define COD_MINOR_MASK 0x0000FC 253#define COD_MAJOR_MASK 0x001F00 254#define COD_SERVICE_MASK 0xFFE0000 255 256#define GET_COD_FORMAT(X) (((X) & COD_FORMAT_MASK) >> COD_FORMAT_BIT_OFFSET) 257#define GET_COD_MINOR(X) (((X) & COD_MINOR_MASK) >> COD_MINOR_BIT_OFFSET) 258#define GET_COD_MAJOR(X) (((X) & COD_MAJOR_MASK) >> COD_MAJOR_BIT_OFFSET) 259#define GET_COD_SERVICE(X) (((X) & COD_SERVICE_MASK) >> COD_SERVICE_BIT_OFFSET) 260 261#define SET_COD_MINOR(X,Y) (((X) & ~(COD_MINOR_MASK)) | ((Y) << COD_MINOR_BIT_OFFSET)) 262#define SET_COD_MAJOR(X,Y) (((X) & ~(COD_MAJOR_MASK)) | ((Y) << COD_MAJOR_BIT_OFFSET)) 263#define SET_COD_SERVICE(X,Y) (((X) & ~(COD_SERVICE_MASK)) | ((Y) << COD_SERVICE_BIT_OFFSET)) 264 265#define COD_VERSION 0 266 267#define COD_SERVICE_LIMITED 0x0001 268#define COD_SERVICE_POSITIONING 0x0008 269#define COD_SERVICE_NETWORKING 0x0010 270#define COD_SERVICE_RENDERING 0x0020 271#define COD_SERVICE_CAPTURING 0x0040 272#define COD_SERVICE_OBJECT_XFER 0x0080 273#define COD_SERVICE_AUDIO 0x0100 274#define COD_SERVICE_TELEPHONY 0x0200 275#define COD_SERVICE_INFORMATION 0x0400 276 277#define COD_SERVICE_VALID_MASK (COD_SERVICE_LIMITED|COD_SERVICE_POSITIONING|COD_SERVICE_NETWORKING|COD_SERVICE_RENDERING|COD_SERVICE_CAPTURING|COD_SERVICE_OBJECT_XFER|COD_SERVICE_AUDIO|COD_SERVICE_TELEPHONY|COD_SERVICE_INFORMATION) 278 279#define COD_SERVICE_MAX_COUNT 9 280 281#define COD_MAJOR_MISCELLANEOUS 0x00 282#define COD_MAJOR_COMPUTER 0x01 283#define COD_MAJOR_PHONE 0x02 284#define COD_MAJOR_LAN_ACCESS 0x03 285#define COD_MAJOR_AUDIO 0x04 286#define COD_MAJOR_PERIPHERAL 0x05 287#define COD_MAJOR_IMAGING 0x06 288#define COD_MAJOR_UNCLASSIFIED 0x1F 289 290#define COD_COMPUTER_MINOR_UNCLASSIFIED 0x00 291#define COD_COMPUTER_MINOR_DESKTOP 0x01 292#define COD_COMPUTER_MINOR_SERVER 0x02 293#define COD_COMPUTER_MINOR_LAPTOP 0x03 294#define COD_COMPUTER_MINOR_HANDHELD 0x04 295#define COD_COMPUTER_MINOR_PALM 0x05 296#define COD_COMPUTER_MINOR_WEARABLE 0x06 297 298#define COD_PHONE_MINOR_UNCLASSIFIED 0x00 299#define COD_PHONE_MINOR_CELLULAR 0x01 300#define COD_PHONE_MINOR_CORDLESS 0x02 301#define COD_PHONE_MINOR_SMART 0x03 302#define COD_PHONE_MINOR_WIRED_MODEM 0x04 303 304#define COD_AUDIO_MINOR_UNCLASSIFIED 0x00 305#define COD_AUDIO_MINOR_HEADSET 0x01 306#define COD_AUDIO_MINOR_HANDS_FREE 0x02 307#define COD_AUDIO_MINOR_HEADSET_HANDS_FREE 0x03 308#define COD_AUDIO_MINOR_MICROPHONE 0x04 309#define COD_AUDIO_MINOR_LOUDSPEAKER 0x05 310#define COD_AUDIO_MINOR_HEADPHONES 0x06 311#define COD_AUDIO_MINOR_PORTABLE_AUDIO 0x07 312#define COD_AUDIO_MINOR_CAR_AUDIO 0x08 313#define COD_AUDIO_MINOR_SET_TOP_BOX 0x09 314#define COD_AUDIO_MINOR_HIFI_AUDIO 0x0A 315#define COD_AUDIO_MINOR_VCR 0x0B 316#define COD_AUDIO_MINOR_VIDEO_CAMERA 0x0C 317#define COD_AUDIO_MINOR_CAMCORDER 0x0D 318#define COD_AUDIO_MINOR_VIDEO_MONITOR 0x0E 319#define COD_AUDIO_MINOR_VIDEO_DISPLAY_LOUDSPEAKER 0x0F 320#define COD_AUDIO_MINOR_VIDEO_DISPLAY_CONFERENCING 0x10 321/* #define COD_AUDIO_MINOR_RESERVED 0x11 */ 322#define COD_AUDIO_MINOR_GAMING_TOY 0x12 323 324#define COD_PERIPHERAL_MINOR_KEYBOARD_MASK 0x10 325#define COD_PERIPHERAL_MINOR_POINTER_MASK 0x20 326 327#define COD_PERIPHERAL_MINOR_NO_CATEGORY 0x00 328#define COD_PERIPHERAL_MINOR_JOYSTICK 0x01 329#define COD_PERIPHERAL_MINOR_GAMEPAD 0x02 330#define COD_PERIPHERAL_MINOR_REMOTE_CONTROL 0x03 331#define COD_PERIPHERAL_MINOR_SENSING 0x04 332 333#define COD_IMAGING_MINOR_DISPLAY_MASK 0x04 334#define COD_IMAGING_MINOR_CAMERA_MASK 0x08 335#define COD_IMAGING_MINOR_SCANNER_MASK 0x10 336#define COD_IMAGING_MINOR_PRINTER_MASK 0x20 337 338#define COD_LAN_ACCESS_BIT_OFFSET 5 339#define COD_LAN_MINOR_MASK 0x0000001C 340#define COD_LAN_ACCESS_MASK 0x000000E0 341 342#define GET_COD_LAN_MINOR(X) (((X) & COD_LAN_MINOR_MASK) >> COD_MINOR_BIT_OFFSET) 343#define GET_COD_LAN_ACCESS(X) (((X) & COD_LAN_ACCESS_MASK) >> COD_LAN_ACCESS_BIT_OFFSET) 344 345#define COD_LAN_MINOR_UNCLASSIFIED 0x00 346 347#define COD_LAN_ACCESS_0_USED 0x00 348#define COD_LAN_ACCESS_17_USED 0x01 349#define COD_LAN_ACCESS_33_USED 0x02 350#define COD_LAN_ACCESS_50_USED 0x03 351#define COD_LAN_ACCESS_67_USED 0x04 352#define COD_LAN_ACCESS_83_USED 0x05 353#define COD_LAN_ACCESS_99_USED 0x06 354#define COD_LAN_ACCESS_FULL 0x07 355 356#define LAP_GIAC_VALUE 0x009E8B00 357 358#define LAP_LIAC_VALUE 0x009E8B00 359#define BTH_ADDR_IAC_FIRST 0x9E8B00 360#define BTH_ADDR_IAC_LAST 0x9E8B3 361#define BTH_ADDR_LIAC 0x9E8B00 362#define BTH_ADDR_GIAC 0x9E8B33 363 364typedef UCHAR BTHSTATUS, *PBTHSTATUS; 365 366#define BTH_ERROR(X) ((X) != BTH_ERROR_SUCCESS) 367#define BTH_SUCCESS(X) ((X) === BTH_ERROR_SUCCESS) 368 369#define BTH_ERROR_SUCCESS 0x00 370#define BTH_ERROR_UNKNOWN_HCI_COMMAND 0x01 371#define BTH_ERROR_NO_CONNECTION 0x02 372#define BTH_ERROR_HARDWARE_FAILURE 0x03 373#define BTH_ERROR_PAGE_TIMEOUT 0x04 374#define BTH_ERROR_AUTHENTICATION_FAILURE 0x05 375#define BTH_ERROR_KEY_MISSING 0x06 376#define BTH_ERROR_MEMORY_FULL 0x07 377#define BTH_ERROR_CONNECTION_TIMEOUT 0x08 378#define BTH_ERROR_MAX_NUMBER_OF_CONNECTIONS 0x09 379#define BTH_ERROR_MAX_NUMBER_OF_SCO_CONNECTIONS 0x0A 380#define BTH_ERROR_ACL_CONNECTION_ALREADY_EXISTS 0x0B 381#define BTH_ERROR_COMMAND_DISALLOWED 0x0C 382#define TH_ERROR_COMMAND_DISALLOWED 0x0D 383#define BTH_ERROR_HOST_REJECTED_SECURITY_REASONS 0x0E 384#define BTH_ERROR_HOST_REJECTED_PERSONAL_DEVICE 0x0F 385#define BTH_ERROR_HOST_TIMEOUT 0x10 386#define BTH_ERROR_UNSUPPORTED_FEATURE_OR_PARAMETER 0x11 387#define BTH_ERROR_INVALID_HCI_PARAMETER 0x12 388#define BTH_ERROR_REMOTE_USER_ENDED_CONNECTION 0x13 389#define BTH_ERROR_REMOTE_LOW_RESOURCES 0x14 390#define BTH_ERROR_REMOTE_POWERING_OFF 0x15 391#define BTH_ERROR_LOCAL_HOST_TERMINATED_CONNECTION 0x16 392#define BTH_ERROR_REPEATED_ATTEMPTS 0x17 393#define BTH_ERROR_PAIRING_NOT_ALLOWED 0x18 394#define BTH_ERROR_UKNOWN_LMP_PDU 0x19 395#define BTH_ERROR_UNSUPPORTED_REMOTE_FEATURE 0x1A 396#define BTH_ERROR_SCO_OFFSET_REJECTED 0x1B 397#define BTH_ERROR_SCO_INTERVAL_REJECTED 0x1C 398#define BTH_ERROR_SCO_AIRMODE_REJECTED 0x1D 399#define BTH_ERROR_INVALID_LMP_PARAMETERS 0x1E 400#define BTH_ERROR_UNSPECIFIED_ERROR 0x1F 401#define BTH_ERROR_UNSUPPORTED_LMP_PARM_VALUE 0x20 402#define BTH_ERROR_ROLE_CHANGE_NOT_ALLOWED 0x21 403#define BTH_ERROR_LMP_RESPONSE_TIMEOUT 0x22 404#define BTH_ERROR_LMP_TRANSACTION_COLLISION 0x23 405#define BTH_ERROR_LMP_PDU_NOT_ALLOWED 0x24 406#define BTH_ERROR_ENCRYPTION_MODE_NOT_ACCEPTABLE 0x25 407#define BTH_ERROR_UNIT_KEY_NOT_USED 0x26 408#define BTH_ERROR_QOS_IS_NOT_SUPPORTED 0x27 409#define BTH_ERROR_INSTANT_PASSED 0x28 410#define BTH_ERROR_PAIRING_WITH_UNIT_KEY_NOT_SUPPORTED 0x29 411#define BTH_ERROR_UNSPECIFIED 0xFF 412 413#define L2CAP_MIN_MTU 48 414#define L2CAP_MAX_MTU 0xFFFF 415#define L2CAP_DEFAULT_MTU 672 416 417#define MAX_L2CAP_PING_DATA_LENGTH 44 418#define MAX_L2CAP_INFO_DATA_LENGTH 44 419 420#define BDIF_ADDRESS 0x00000001 421#define BDIF_COD 0x00000002 422#define BDIF_NAME 0x00000004 423#define BDIF_PAIRED 0x00000008 424#define BDIF_PERSONAL 0x00000010 425#define BDIF_CONNECTED 0x00000020 426#define BDIF_VALID_FLAGS (BDIF_ADDRESS|BDIF_COD|BDIF_NAME|BDIF_PAIRED|BDIF_PERSONAL|BDIF_CONNECTED) 427 428typedef struct _BTH_DEVICE_INFO { 429 ULONG flags; 430 BTH_ADDR address; 431 BTH_COD classOfDevice; 432 CHAR name[BTH_MAX_NAME_SIZE]; 433} BTH_DEVICE_INFO, *PBTH_DEVICE_INFO; 434 435typedef struct _BTH_RADIO_IN_RANGE { 436 BTH_DEVICE_INFO deviceInfo; 437 ULONG previousDeviceFlags; 438} BTH_RADIO_IN_RANGE, *PBTH_RADIO_IN_RANGE; 439 440typedef struct _BTH_L2CAP_EVENT_INFO { 441 BTH_ADDR bthAddress; 442 USHORT psm; 443 UCHAR connected; 444 UCHAR initiated; 445} BTH_L2CAP_EVENT_INFO, *PBTH_L2CAP_EVENT_INFO; 446 447#define HCI_CONNNECTION_TYPE_ACL 1 448#define HCI_CONNNECTION_TYPE_SCO 2 449 450typedef struct _BTH_HCI_EVENT_INFO { 451 BTH_ADDR bthAddress; 452 UCHAR connectionType; 453 UCHAR connected; 454} BTH_HCI_EVENT_INFO, *PBTH_HCI_EVENT_INFO; 455 456#define MAX_UUIDS_IN_QUERY 12 457#define BTH_VID_DEFAULT_VALUE 0xFFFF 458 459#define SDP_ERROR_INVALID_SDP_VERSION 0x0001 460#define SDP_ERROR_INVALID_RECORD_HANDLE 0x0002 461#define SDP_ERROR_INVALID_REQUEST_SYNTAX 0x0003 462#define SDP_ERROR_INVALID_PDU_SIZE 0x0004 463#define SDP_ERROR_INVALID_CONTINUATION_STATE 0x0005 464#define SDP_ERROR_INSUFFICIENT_RESOURCES 0x0006 465 466#define SDP_ERROR_SUCCESS 0x0000 467#define SDP_ERROR_SERVER_INVALID_RESPONSE 0x0100 468#define SDP_ERROR_SERVER_RESPONSE_DID_NOT_PARSE 0x0200 469#define SDP_ERROR_SERVER_BAD_FORMAT 0x0300 470#define SDP_ERROR_COULD_NOT_SEND_CONTINUE 0x0400 471#define SDP_ERROR_RESPONSE_TOO_LARGE 0x0500 472 473#define SDP_ATTRIB_RECORD_HANDLE 0x0000 474#define SDP_ATTRIB_CLASS_ID_LIST 0x0001 475#define SDP_ATTRIB_RECORD_STATE 0x0002 476#define SDP_ATTRIB_SERVICE_ID 0x0003 477#define SDP_ATTRIB_PROTOCOL_DESCRIPTOR_LIST 0x0004 478#define SDP_ATTRIB_BROWSE_GROUP_LIST 0x0005 479#define SDP_ATTRIB_LANG_BASE_ATTRIB_ID_LIST 0x0006 480#define SDP_ATTRIB_INFO_TIME_TO_LIVE 0x0007 481#define SDP_ATTRIB_AVAILABILITY 0x0008 482#define SDP_ATTRIB_PROFILE_DESCRIPTOR_LIST 0x0009 483#define SDP_ATTRIB_DOCUMENTATION_URL 0x000A 484#define SDP_ATTRIB_CLIENT_EXECUTABLE_URL 0x000B 485#define SDP_ATTRIB_ICON_URL 0x000C 486#define SDP_ATTRIB_ADDITIONAL_PROTOCOL_DESCRIPTOR_LIST 0x000D 487 488#define SDP_ATTRIB_PROFILE_SPECIFIC 0x0200 489 490#define LANG_BASE_LANGUAGE_INDEX 0x0000 491#define LANG_BASE_ENCODING_INDEX 0x0001 492#define LANG_BASE_OFFSET_INDEX 0x0002 493#define LANG_DEFAULT_ID 0x0100 494 495#define STRING_NAME_OFFSET 0x0000 496#define STRING_DESCRIPTION_OFFSET 0x0001 497#define STRING_PROVIDER_NAME_OFFSET 0x0002 498 499#define SDP_ATTRIB_SDP_VERSION_NUMBER_LIST 0x0200 500#define SDP_ATTRIB_SDP_DATABASE_STATE 0x0201 501 502#define SDP_ATTRIB_BROWSE_GROUP_ID 0x0200 503 504#define SDP_ATTRIB_CORDLESS_EXTERNAL_NETWORK 0x0301 505 506#define SDP_ATTRIB_FAX_CLASS_1_SUPPORT 0x0302 507#define SDP_ATTRIB_FAX_CLASS_2_0_SUPPORT 0x0303 508#define SDP_ATTRIB_FAX_CLASS_2_SUPPORT 0x0304 509#define SDP_ATTRIB_FAX_AUDIO_FEEDBACK_SUPPORT 0x0305 510 511#define SDP_ATTRIB_HEADSET_REMOTE_AUDIO_VOLUME_CONTROL 0x0302 512 513#define SDP_ATTRIB_LAN_LPSUBNET 0x0200 514 515#define SDP_ATTRIB_OBJECT_PUSH_SUPPORTED_FORMATS_LIST 0x0303 516#define SDP_ATTRIB_SYNCH_SUPPORTED_DATA_STORES_LIST 0x0301 517 518#define SDP_ATTRIB_SERVICE_VERSION 0x0300 519 520#define SDP_ATTRIB_PAN_NETWORK_ADDRESS 0x0306 521#define SDP_ATTRIB_PAN_WAP_GATEWAY 0x0307 522#define SDP_ATTRIB_PAN_HOME_PAGE_URL 0x0308 523#define SDP_ATTRIB_PAN_WAP_STACK_TYPE 0x0309 524#define SDP_ATTRIB_PAN_SECURITY_DESCRIPTION 0x030A 525#define SDP_ATTRIB_PAN_NET_ACCESS_TYPE 0x030B 526#define SDP_ATTRIB_PAN_MAX_NET_ACCESS_RATE 0x030C 527 528#define SDP_ATTRIB_IMAGING_SUPPORTED_CAPABILITIES 0x0310 529#define SDP_ATTRIB_IMAGING_SUPPORTED_FEATURES 0x0311 530#define SDP_ATTRIB_IMAGING_SUPPORTED_FUNCTIONS 0x0312 531#define SDP_ATTRIB_IMAGING_TOTAL_DATA_CAPACITY 0x0313 532 533#define SDP_ATTRIB_DI_SPECIFICATION_ID 0x0200 534#define SDP_ATTRIB_DI_VENDOR_ID 0x0201 535#define SDP_ATTRIB_DI_PRODUCT_ID 0x0202 536#define SDP_ATTRIB_DI_VERSION 0x0203 537#define SDP_ATTRIB_DI_PRIMARY_RECORD 0x0204 538#define SDP_ATTRIB_DI_VENDOR_ID_SOURCE 0x0205 539 540#define SDP_ATTRIB_HID_DEVICE_RELEASE_NUMBER 0x0200 541#define SDP_ATTRIB_HID_PARSER_VERSION 0x0201 542#define SDP_ATTRIB_HID_DEVICE_SUBCLASS 0x0202 543#define SDP_ATTRIB_HID_COUNTRY_CODE 0x0203 544#define SDP_ATTRIB_HID_VIRTUAL_CABLE 0x0204 545#define SDP_ATTRIB_HID_RECONNECT_INITIATE 0x0205 546#define SDP_ATTRIB_HID_DESCRIPTOR_LIST 0x0206 547#define SDP_ATTRIB_HID_LANG_ID_BASE_LIST 0x0207 548#define SDP_ATTRIB_HID_SDP_DISABLE 0x0208 549#define SDP_ATTRIB_HID_BATTERY_POWER 0x0209 550#define SDP_ATTRIB_HID_REMOTE_WAKE 0x020A 551#define SDP_ATTRIB_HID_REPORT_LIST 0x020B 552#define SDP_ATTRIB_HID_SUPERVISION_TIMEOUT 0x020C 553#define SDP_ATTRIB_HID_NORMALLY_CONNECTABLE 0x020D 554#define SDP_ATTRIB_HID_BOOT_DEVICE 0x020E 555 556#define CORDLESS_EXTERNAL_NETWORK_PSTN 0x01 557#define CORDLESS_EXTERNAL_NETWORK_ISDN 0x02 558#define CORDLESS_EXTERNAL_NETWORK_GSM 0x03 559#define CORDLESS_EXTERNAL_NETWORK_CDMA 0x04 560#define CORDLESS_EXTERNAL_NETWORK_ANALOG_CELLULAR 0x05 561#define CORDLESS_EXTERNAL_NETWORK_PACKET_SWITCHED 0x06 562#define CORDLESS_EXTERNAL_NETWORK_OTHER 0x07 563 564#define OBJECT_PUSH_FORMAT_VCARD_2_1 0x01 565#define OBJECT_PUSH_FORMAT_VCARD_3_0 0x02 566#define OBJECT_PUSH_FORMAT_VCAL_1_0 0x03 567#define OBJECT_PUSH_FORMAT_ICAL_2_0 0x04 568#define OBJECT_PUSH_FORMAT_VNOTE 0x05 569#define OBJECT_PUSH_FORMAT_VMESSAGE 0x06 570#define OBJECT_PUSH_FORMAT_ANY 0xFF 571 572#define SYNCH_DATA_STORE_PHONEBOOK 0x01 573#define SYNCH_DATA_STORE_CALENDAR 0x03 574#define SYNCH_DATA_STORE_NOTES 0x05 575#define SYNCH_DATA_STORE_MESSAGES 0x06 576 577#define DI_VENDOR_ID_SOURCE_BLUETOOTH_SIG 0x0001 578#define DI_VENDOR_ID_SOURCE_USB_IF 0x0002 579 580#define PSM_SDP 0x0001 581#define PSM_RFCOMM 0x0003 582#define PSM_TCS_BIN 0x0005 583#define PSM_TCS_BIN_CORDLESS 0x0007 584#define PSM_BNEP 0x0000 585#define PSM_HID_CONTROL 0x0011 586#define PSM_HID_INTERRUPT 0x0013 587#define PSM_AVCTP 0x0017 588#define PSM_AVDTP 0x0019 589#define PSM_UDI_C_PLANE 0x001D 590 591#define STR_ADDR_FMTA "(%02x:%02x:%02x:%02x:%02x:%02x)" 592#define STR_ADDR_FMTW L"(%02x:%02x:%02x:%02x:%02x:%02x)" 593 594#define STR_ADDR_SHORT_FMTA "%04x%08x" 595#define STR_ADDR_SHORT_FMTW L"%04x%08x" 596 597#define STR_ADDR_FMT __MINGW_NAME_AW(STR_ADDR_FMT) 598#define STR_ADDR_SHORT_FMT __MINGW_NAME_AW(STR_ADDR_SHORT_FMT) 599 600#define GET_BITS(X,Y,Z) (((X)>>(Y))&Z) 601#define GET_BIT(X,Y) GET_BITS(X,Y,0x1) 602 603#define LMP_3_SLOT_PACKETS(X) GET_BIT(X, 1) 604#define LMP_ENCRYPTION(X) GET_BIT(X, 2) 605#define LMP_SLOT_OFFSET(X) GET_BIT(X, 3) 606#define LMP_TIMING_ACCURACY(X) GET_BIT(X, 4) 607#define LMP_SWITCH(X) GET_BIT(X, 5) 608#define LMP_HOLD_MODE(X) GET_BIT(X, 6) 609#define LMP_SNIFF_MODE(X) GET_BIT(X, 7) 610#define LMP_PARK_MODE(X) GET_BIT(X, 8) 611#define LMP_RSSI(X) GET_BIT(X, 9) 612#define LMP_CHANNEL_QUALITY_DRIVEN_MODE(X) GET_BIT(X, 10) 613#define LMP_SCO_LINK(X) GET_BIT(X, 11) 614#define LMP_HV2_PACKETS(X) GET_BIT(X, 12) 615#define LMP_HV3_PACKETS(X) GET_BIT(X, 13) 616#define LMP_MU_LAW_LOG(X) GET_BIT(X, 14) 617#define LMP_A_LAW_LOG(X) GET_BIT(X, 15) 618#define LMP_CVSD(X) GET_BIT(X, 16) 619#define LMP_PAGING_SCHEME(X) GET_BIT(X, 17) 620#define LMP_POWER_CONTROL(X) GET_BIT(X, 18) 621#define LMP_TRANSPARENT_SCO_DATA(X) GET_BIT(X, 19) 622#define LMP_FLOW_CONTROL_LAG(X) GET_BITS(X, 20, 0x3) 623 624#ifdef __cplusplus 625} 626#endif 627#endif /*_INC_BTHDEF*/