| 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 | 
 
 
 
 
 | 12 | extern "C" { | 
 
 
 
 
 | 13 | #endif | 
 
 
 
 
 | 14 |  | 
 
 
 
 
 | 15 | /* ULONGLONG according to google */ | 
 
 
 
 
 | 16 | __MINGW_EXTENSION typedef ULONGLONG BTH_ADDR; | 
 
 
 
 
 | 17 | /* ULONG according to google */ | 
 
 
 
 
 | 18 | typedef ULONG BTH_COD; | 
 
 
 
 
 | 19 |  | 
 
 
 
 
 | 20 | /*http://www.koders.com/delphi/fidD54082EB25FCAB99B74E5FDB4F3937EFB567FE9A.aspx*/ | 
 
 
 
 
 | 21 | /* The following parts are under LGPL */ | 
 
 
 
 
 | 22 |  | 
 
 
 
 
 | 23 | DEFINE_GUID(GUID_BTHPORT_DEVICE_INTERFACE,0x0850302A,0xB344,0x4fda,0x9B,0xE9,0x90,0x57,0x6B,0x8D,0x46,0xF0); | 
 
 
 
 
 | 24 | DEFINE_GUID(GUID_BLUETOOTH_RADIO_IN_RANGE,0xEA3B5B82,0x26EE,0x450E,0xB0,0xD8,0xD2,0x6F,0xE3,0x0A,0x38,0x69); | 
 
 
 
 
 | 25 | DEFINE_GUID(GUID_BLUETOOTH_RADIO_OUT_OF_RANGE,0xE28867C9,0xC2AA,0x4CED,0xB9,0x69,0x45,0x70,0x86,0x60,0x37,0xC4); | 
 
 
 
 
 | 26 | DEFINE_GUID(GUID_BLUETOOTH_PIN_REQUEST,0xBD198B7C,0x24AB,0x4B9A,0x8C,0x0D,0xA8,0xEA,0x83,0x49,0xAA,0x16); | 
 
 
 
 
 | 27 | DEFINE_GUID(GUID_BLUETOOTH_L2CAP_EVENT,0x7EAE4030,0xB709,0x4AA8,0xAC,0x55,0xE9,0x53,0x82,0x9C,0x9D,0xAA); | 
 
 
 
 
 | 28 | DEFINE_GUID(GUID_BLUETOOTH_HCI_EVENT,0xFC240062,0x1541,0x49BE,0xB4,0x63,0x84,0xC4,0xDC,0xD7,0xBF,0x7F); | 
 
 
 
 
 | 29 | DEFINE_GUID(BLUETOOTH_BASE_UUID,0x00000000,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 30 | DEFINE_GUID(SDP_PROTOCOL_UUID,0x00000001,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 31 | DEFINE_GUID(UDP_PROTOCOL_UUID,0x00000002,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 32 | DEFINE_GUID(RFCOMM_PROTOCOL_UUID,0x00000003,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 33 | DEFINE_GUID(TCP_PROTOCOL_UUID,0x00000004,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 34 | DEFINE_GUID(TCSBIN_PROTOCOL_UUID,0x00000005,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 35 | DEFINE_GUID(TCSAT_PROTOCOL_UUID,0x00000006,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 36 | DEFINE_GUID(OBEX_PROTOCOL_UUID,0x00000008,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 37 | DEFINE_GUID(IP_PROTOCOL_UUID,0x00000009,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 38 | DEFINE_GUID(FTP_PROTOCOL_UUID,0x0000000A,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 39 | DEFINE_GUID(HTTP_PROTOCOL_UUID,0x0000000C,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 40 | DEFINE_GUID(WSP_PROTOCOL_UUID,0x0000000E,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 41 | DEFINE_GUID(BNEP_PROTOCOL_UUID,0x0000000F,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 42 | DEFINE_GUID(UPNP_PROTOCOL_UUID,0x00000010,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 43 | DEFINE_GUID(HCCC_PROTOCOL_UUID,0x00000012,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 44 | DEFINE_GUID(HCDC_PROTOCOL_UUID,0x00000014,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 45 | DEFINE_GUID(HN_PROTOCOL_UUID,0x00000016,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 46 | DEFINE_GUID(AVCTP_PROTOCOL_UUID,0x00000017,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 47 | DEFINE_GUID(AVDTP_PROTOCOL_UUID,0x00000019,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 48 | DEFINE_GUID(CMPT_PROTOCOL_UUID,0x0000001B,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 49 | DEFINE_GUID(UDI_C_PLANE_PROTOCOL_UUID,0x0000001D,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 50 | DEFINE_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 |  | 
 
 
 
 
 | 75 | DEFINE_GUID(ServiceDiscoveryServerServiceClassID_UUID,0x00001000,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 76 | DEFINE_GUID(BrowseGroupDescriptorServiceClassID_UUID,0x00001001,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 77 | DEFINE_GUID(PublicBrowseGroupServiceClass_UUID,0x00001002,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 78 | DEFINE_GUID(SerialPortServiceClass_UUID,0x00001101,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 79 | DEFINE_GUID(LANAccessUsingPPPServiceClass_UUID,0x00001102,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 80 | DEFINE_GUID(DialupNetworkingServiceClass_UUID,0x00001103,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 81 | DEFINE_GUID(IrMCSyncServiceClass_UUID,0x00001104,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 82 | DEFINE_GUID(OBEXObjectPushServiceClass_UUID,0x00001105,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 83 | DEFINE_GUID(OBEXFileTransferServiceClass_UUID,0x00001106,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 84 | DEFINE_GUID(IrMCSyncCommandServiceClass_UUID,0x00001107,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 85 | DEFINE_GUID(HeadsetServiceClass_UUID,0x00001108,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 86 | DEFINE_GUID(CordlessTelephonyServiceClass_UUID,0x00001109,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 87 | DEFINE_GUID(AudioSourceServiceClass_UUID,0x0000110A,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 88 | DEFINE_GUID(AudioSinkServiceClass_UUID,0x0000110B,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 89 | DEFINE_GUID(AVRemoteControlTargetServiceClass_UUID,0x0000110C,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 90 | DEFINE_GUID(AdvancedAudioDistributionServiceClass_UUID,0x0000110D,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 91 | DEFINE_GUID(AVRemoteControlServiceClass_UUID,0x0000110E,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 92 | DEFINE_GUID(VideoConferencingServiceClass_UUID,0x0000110F,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 93 | DEFINE_GUID(IntercomServiceClass_UUID,0x00001110,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 94 | DEFINE_GUID(FaxServiceClass_UUID,0x00001111,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 95 | DEFINE_GUID(HeadsetAudioGatewayServiceClass_UUID,0x00001112,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 96 | DEFINE_GUID(WAPServiceClass_UUID,0x00001113,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 97 | DEFINE_GUID(WAPClientServiceClass_UUID,0x00001114,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 98 | DEFINE_GUID(PANUServiceClass_UUID,0x00001115,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 99 | DEFINE_GUID(NAPServiceClass_UUID,0x00001116,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 100 | DEFINE_GUID(GNServiceClass_UUID,0x00001117,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 101 | DEFINE_GUID(DirectPrintingServiceClass_UUID,0x00001118,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 102 | DEFINE_GUID(ReferencePrintingServiceClass_UUID,0x00001119,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 103 | DEFINE_GUID(ImagingServiceClass_UUID,0x0000111A,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 104 | DEFINE_GUID(ImagingResponderServiceClass_UUID,0x0000111B,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 105 | DEFINE_GUID(ImagingAutomaticArchiveServiceClass_UUID,0x0000111C,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 106 | DEFINE_GUID(ImagingReferenceObjectsServiceClass_UUID,0x0000111D,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 107 | DEFINE_GUID(HandsfreeServiceClass_UUID,0x0000111E,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 108 | DEFINE_GUID(HandsfreeAudioGatewayServiceClass_UUID,0x0000111F,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 109 | DEFINE_GUID(DirectPrintingReferenceObjectsServiceClass_UUID,0x00001120,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 110 | DEFINE_GUID(ReflectedUIServiceClass_UUID,0x00001121,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 111 | DEFINE_GUID(BasicPringingServiceClass_UUID,0x00001122,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 112 | DEFINE_GUID(PrintingStatusServiceClass_UUID,0x00001123,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 113 | DEFINE_GUID(HumanInterfaceDeviceServiceClass_UUID,0x00001124,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 114 | DEFINE_GUID(HardcopyCableReplacementServiceClass_UUID,0x00001125,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 115 | DEFINE_GUID(HCRPrintServiceClass_UUID,0x00001126,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 116 | DEFINE_GUID(HCRScanServiceClass_UUID,0x00001127,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 117 | DEFINE_GUID(CommonISDNAccessServiceClass_UUID,0x00001128,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 118 | DEFINE_GUID(VideoConferencingGWServiceClass_UUID,0x00001129,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 119 | DEFINE_GUID(UDIMTServiceClass_UUID,0x0000112A,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 120 | DEFINE_GUID(UDITAServiceClass_UUID,0x0000112B,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 121 | DEFINE_GUID(AudioVideoServiceClass_UUID,0x0000112C,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 122 | DEFINE_GUID(PnPInformationServiceClass_UUID,0x00001200,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 123 | DEFINE_GUID(GenericNetworkingServiceClass_UUID,0x00001201,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 124 | DEFINE_GUID(GenericFileTransferServiceClass_UUID,0x00001202,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 125 | DEFINE_GUID(GenericAudioServiceClass_UUID,0x00001203,0x0000,0x1000,0x80,0x00,0x00,0x80,0x5F,0x9B,0x34,0xFB); | 
 
 
 
 
 | 126 | DEFINE_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 |  | 
 
 
 
 
 | 364 | typedef 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 |  | 
 
 
 
 
 | 428 | typedef 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 |  | 
 
 
 
 
 | 435 | typedef struct _BTH_RADIO_IN_RANGE { | 
 
 
 
 
 | 436 | BTH_DEVICE_INFO deviceInfo; | 
 
 
 
 
 | 437 | ULONG           previousDeviceFlags; | 
 
 
 
 
 | 438 | } BTH_RADIO_IN_RANGE, *PBTH_RADIO_IN_RANGE; | 
 
 
 
 
 | 439 |  | 
 
 
 
 
 | 440 | typedef 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 |  | 
 
 
 
 
 | 450 | typedef 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*/ |