bthdef.h 27 KB

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