00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #ifndef __BTHDEF_H__
00027 #define __BTHDEF_H__
00028
00029 #if (NTDDI_VERSION >= NTDDI_WINXPSP2)
00030
00031 #define BTH_MAJORVERSION 2
00032 #define BTH_MINORVERSION 0
00033
00034 #ifndef GUID_DEFS_ONLY
00035 #ifndef NO_BTHSDPDEF_INC
00036 #include "bthsdpdef.h"
00037 #endif // NO_BTHSDPDEF_INC
00038 #endif // GUID_DEFS_ONLY
00039
00040 #ifndef NO_GUID_DEFS
00041
00042
00043 DEFINE_GUID(GUID_BTHPORT_DEVICE_INTERFACE, 0x850302a, 0xb344, 0x4fda, 0x9b, 0xe9, 0x90, 0x57, 0x6b, 0x8d, 0x46, 0xf0);
00044
00045
00046 DEFINE_GUID(GUID_BLUETOOTH_RADIO_IN_RANGE, 0xea3b5b82, 0x26ee, 0x450e, 0xb0, 0xd8, 0xd2, 0x6f, 0xe3, 0x0a, 0x38, 0x69);
00047
00048
00049 DEFINE_GUID(GUID_BLUETOOTH_RADIO_OUT_OF_RANGE, 0xe28867c9, 0xc2aa, 0x4ced, 0xb9, 0x69, 0x45, 0x70, 0x86, 0x60, 0x37, 0xc4);
00050
00051
00052 DEFINE_GUID(GUID_BLUETOOTH_PIN_REQUEST, 0xbd198b7c, 0x24ab, 0x4b9a, 0x8c, 0x0d, 0xa8, 0xea, 0x83, 0x49, 0xaa, 0x16);
00053
00054
00055 DEFINE_GUID(GUID_BLUETOOTH_L2CAP_EVENT, 0x7eae4030, 0xb709, 0x4aa8, 0xac, 0x55, 0xe9, 0x53, 0x82, 0x9c, 0x9d, 0xaa);
00056
00057
00058 DEFINE_GUID(GUID_BLUETOOTH_HCI_EVENT, 0xfc240062, 0x1541, 0x49be, 0xb4, 0x63, 0x84, 0xc4, 0xdc, 0xd7, 0xbf, 0x7f);
00059
00060
00061
00062
00063 DEFINE_GUID(Bluetooth_Base_UUID, 0x00000000, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00064
00065
00066
00067
00068
00069 DEFINE_GUID(SDP_PROTOCOL_UUID, 0x00000001, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00070 DEFINE_GUID(UDP_PROTOCOL_UUID, 0x00000002, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00071 DEFINE_GUID(RFCOMM_PROTOCOL_UUID, 0x00000003, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00072 DEFINE_GUID(TCP_PROTOCOL_UUID, 0x00000004, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00073 DEFINE_GUID(TCSBIN_PROTOCOL_UUID, 0x00000005, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00074 DEFINE_GUID(TCSAT_PROTOCOL_UUID, 0x00000006, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00075 DEFINE_GUID(OBEX_PROTOCOL_UUID, 0x00000008, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00076 DEFINE_GUID(IP_PROTOCOL_UUID, 0x00000009, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00077 DEFINE_GUID(FTP_PROTOCOL_UUID, 0x0000000A, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00078 DEFINE_GUID(HTTP_PROTOCOL_UUID, 0x0000000C, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00079 DEFINE_GUID(WSP_PROTOCOL_UUID, 0x0000000E, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00080 DEFINE_GUID(BNEP_PROTOCOL_UUID, 0x0000000F, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00081 DEFINE_GUID(UPNP_PROTOCOL_UUID, 0x00000010, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00082 DEFINE_GUID(HID_PROTOCOL_UUID, 0x00000011, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00083 DEFINE_GUID(HCCC_PROTOCOL_UUID, 0x00000012, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00084 DEFINE_GUID(HCDC_PROTOCOL_UUID, 0x00000014, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00085 DEFINE_GUID(HN_PROTOCOL_UUID, 0x00000016, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00086 DEFINE_GUID(AVCTP_PROTOCOL_UUID, 0x00000017, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00087 DEFINE_GUID(AVDTP_PROTOCOL_UUID, 0x00000019, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00088 DEFINE_GUID(CMPT_PROTOCOL_UUID, 0x0000001B, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00089 DEFINE_GUID(UDI_C_PLANE_PROTOCOL_UUID, 0x0000001D, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00090 DEFINE_GUID(L2CAP_PROTOCOL_UUID, 0x00000100, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00091
00092 #define SDP_PROTOCOL_UUID16 (0x0001)
00093 #define UDP_PROTOCOL_UUID16 (0x0002)
00094 #define RFCOMM_PROTOCOL_UUID16 (0x0003)
00095 #define TCP_PROTOCOL_UUID16 (0x0004)
00096 #define TCSBIN_PROTOCOL_UUID16 (0x0005)
00097 #define TCSAT_PROTOCOL_UUID16 (0x0006)
00098 #define OBEX_PROTOCOL_UUID16 (0x0008)
00099 #define IP_PROTOCOL_UUID16 (0x0009)
00100 #define FTP_PROTOCOL_UUID16 (0x000A)
00101 #define HTTP_PROTOCOL_UUID16 (0x000C)
00102 #define WSP_PROTOCOL_UUID16 (0x000E)
00103 #define BNEP_PROTOCOL_UUID16 (0x000F)
00104 #define UPNP_PROTOCOL_UUID16 (0x0010)
00105 #define HID_PROTOCOL_UUID16 (0x0011)
00106 #define HCCC_PROTOCOL_UUID16 (0x0012)
00107 #define HCDC_PROTOCOL_UUID16 (0x0014)
00108 #define HCN_PROTOCOL_UUID16 (0x0016)
00109 #define AVCTP_PROTOCOL_UUID16 (0x0017)
00110 #define AVDTP_PROTOCOL_UUID16 (0x0019)
00111 #define CMPT_PROTOCOL_UUID16 (0x001B)
00112 #define UDI_C_PLANE_PROTOCOL_UUID16 (0x001D)
00113 #define L2CAP_PROTOCOL_UUID16 (0x0100)
00114
00115 DEFINE_GUID(ServiceDiscoveryServerServiceClassID_UUID, 0x00001000, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00116 DEFINE_GUID(BrowseGroupDescriptorServiceClassID_UUID, 0x00001001, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00117 DEFINE_GUID(PublicBrowseGroupServiceClass_UUID, 0x00001002, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00118 DEFINE_GUID(SerialPortServiceClass_UUID, 0x00001101, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00119 DEFINE_GUID(LANAccessUsingPPPServiceClass_UUID, 0x00001102, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00120 DEFINE_GUID(DialupNetworkingServiceClass_UUID, 0x00001103, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00121 DEFINE_GUID(IrMCSyncServiceClass_UUID, 0x00001104, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00122 DEFINE_GUID(OBEXObjectPushServiceClass_UUID, 0x00001105, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00123 DEFINE_GUID(OBEXFileTransferServiceClass_UUID, 0x00001106, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00124 DEFINE_GUID(IrMCSyncCommandServiceClass_UUID, 0x00001107, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00125 DEFINE_GUID(HeadsetServiceClass_UUID, 0x00001108, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00126 DEFINE_GUID(CordlessTelephonyServiceClass_UUID, 0x00001109, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00127 DEFINE_GUID(AudioSourceServiceClass_UUID, 0x0000110A, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00128 DEFINE_GUID(AudioSinkServiceClass_UUID, 0x0000110B, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00129 DEFINE_GUID(AVRemoteControlTargetServiceClass_UUID, 0x0000110C, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00130 DEFINE_GUID(AdvancedAudioDistributionServiceClass_UUID,0x0000110D, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00131 DEFINE_GUID(AVRemoteControlServiceClass_UUID, 0x0000110E, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00132 DEFINE_GUID(VideoConferencingServiceClass_UUID, 0x0000110F, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00133 DEFINE_GUID(IntercomServiceClass_UUID, 0x00001110, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00134 DEFINE_GUID(FaxServiceClass_UUID, 0x00001111, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00135 DEFINE_GUID(HeadsetAudioGatewayServiceClass_UUID, 0x00001112, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00136 DEFINE_GUID(WAPServiceClass_UUID, 0x00001113, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00137 DEFINE_GUID(WAPClientServiceClass_UUID, 0x00001114, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00138 DEFINE_GUID(PANUServiceClass_UUID, 0x00001115, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00139 DEFINE_GUID(NAPServiceClass_UUID, 0x00001116, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00140 DEFINE_GUID(GNServiceClass_UUID, 0x00001117, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00141 DEFINE_GUID(DirectPrintingServiceClass_UUID, 0x00001118, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00142 DEFINE_GUID(ReferencePrintingServiceClass_UUID, 0x00001119, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00143 DEFINE_GUID(ImagingServiceClass_UUID, 0x0000111A, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00144 DEFINE_GUID(ImagingResponderServiceClass_UUID, 0x0000111B, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00145 DEFINE_GUID(ImagingAutomaticArchiveServiceClass_UUID, 0x0000111C, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00146 DEFINE_GUID(ImagingReferenceObjectsServiceClass_UUID, 0x0000111D, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00147 DEFINE_GUID(HandsfreeServiceClass_UUID, 0x0000111E, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00148 DEFINE_GUID(HandsfreeAudioGatewayServiceClass_UUID, 0x0000111F, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00149 DEFINE_GUID(DirectPrintingReferenceObjectsServiceClass_UUID,
00150 0x00001120, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00151 DEFINE_GUID(ReflectedUIServiceClass_UUID, 0x00001121, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00152 DEFINE_GUID(BasicPringingServiceClass_UUID, 0x00001122, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00153 DEFINE_GUID(PrintingStatusServiceClass_UUID, 0x00001123, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00154 DEFINE_GUID(HumanInterfaceDeviceServiceClass_UUID, 0x00001124, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00155 DEFINE_GUID(HardcopyCableReplacementServiceClass_UUID, 0x00001125, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00156 DEFINE_GUID(HCRPrintServiceClass_UUID, 0x00001126, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00157 DEFINE_GUID(HCRScanServiceClass_UUID, 0x00001127, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00158 DEFINE_GUID(CommonISDNAccessServiceClass_UUID, 0x00001128, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00159 DEFINE_GUID(VideoConferencingGWServiceClass_UUID, 0x00001129, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00160 DEFINE_GUID(UDIMTServiceClass_UUID, 0x0000112A, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00161 DEFINE_GUID(UDITAServiceClass_UUID, 0x0000112B, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00162 DEFINE_GUID(AudioVideoServiceClass_UUID, 0x0000112C, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00163
00164 DEFINE_GUID(SimAccessServiceClass_UUID, 0x0000112D, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00165 DEFINE_GUID(PhonebookAccessPceServiceClass_UUID, 0x0000112E, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00166 DEFINE_GUID(PhonebookAccessPseServiceClass_UUID, 0x0000112F, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00167 DEFINE_GUID(PnPInformationServiceClass_UUID, 0x00001200, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00168 DEFINE_GUID(GenericNetworkingServiceClass_UUID, 0x00001201, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00169 DEFINE_GUID(GenericFileTransferServiceClass_UUID, 0x00001202, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00170 DEFINE_GUID(GenericAudioServiceClass_UUID, 0x00001203, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00171 DEFINE_GUID(GenericTelephonyServiceClass_UUID, 0x00001204, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00172 DEFINE_GUID(UPnpServiceClass_UUID, 0x00001205, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00173 DEFINE_GUID(UPnpIpServiceClass_UUID, 0x00001206, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00174 DEFINE_GUID(ESdpUpnpIpPanServiceClass_UUID, 0x00001300, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00175 DEFINE_GUID(ESdpUpnpIpLapServiceClass_UUID, 0x00001301, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00176 DEFINE_GUID(ESdpUpnpL2capServiceClass_UUID, 0x00001302, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00177 DEFINE_GUID(VideoSourceServiceClass_UUID, 0x00001303, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00178 DEFINE_GUID(VideoSinkServiceClass_UUID, 0x00001304, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00179 DEFINE_GUID(VideoDistributionServiceClass_UUID, 0x00001305, 0x0000, 0x1000, 0x80, 0x00, 0x00, 0x80, 0x5F, 0x9B, 0x34, 0xFB);
00180
00181
00182
00183
00184
00185
00186
00187
00188
00189
00190
00191 #define ServiceDiscoveryServerServiceClassID_UUID16 (0x1000)
00192 #define BrowseGroupDescriptorServiceClassID_UUID16 (0x1001)
00193 #define PublicBrowseGroupServiceClassID_UUID16 (0x1002)
00194 #define SerialPortServiceClassID_UUID16 (0x1101)
00195 #define LANAccessUsingPPPServiceClassID_UUID16 (0x1102)
00196 #define DialupNetworkingServiceClassID_UUID16 (0x1103)
00197 #define IrMCSyncServiceClassID_UUID16 (0x1104)
00198 #define OBEXObjectPushServiceClassID_UUID16 (0x1105)
00199 #define OBEXFileTransferServiceClassID_UUID16 (0x1106)
00200 #define IrMcSyncCommandServiceClassID_UUID16 (0x1107)
00201 #define HeadsetServiceClassID_UUID16 (0x1108)
00202 #define CordlessServiceClassID_UUID16 (0x1109)
00203 #define AudioSourceServiceClassID_UUID16 (0x110A)
00204 #define AudioSinkSourceServiceClassID_UUID16 (0x110B)
00205 #define AVRemoteControlTargetServiceClassID_UUID16 (0x110C)
00206 #define AdvancedAudioDistributionServiceClassID_UUID16 (0x110D)
00207 #define AVRemoteControlServiceClassID_UUID16 (0x110E)
00208 #define VideoConferencingServiceClassID_UUID16 (0x110F)
00209 #define IntercomServiceClassID_UUID16 (0x1110)
00210 #define FaxServiceClassID_UUID16 (0x1111)
00211 #define HeadsetAudioGatewayServiceClassID_UUID16 (0x1112)
00212 #define WAPServiceClassID_UUID16 (0x1113)
00213 #define WAPClientServiceClassID_UUID16 (0x1114)
00214 #define PANUServiceClassID_UUID16 (0x1115)
00215 #define NAPServiceClassID_UUID16 (0x1116)
00216 #define GNServiceClassID_UUID16 (0x1117)
00217 #define DirectPrintingServiceClassID_UUID16 (0x1118)
00218 #define ReferencePrintingServiceClassID_UUID16 (0x1119)
00219 #define ImagingServiceClassID_UUID16 (0x111A)
00220 #define ImagingResponderServiceClassID_UUID16 (0x111B)
00221 #define ImagingAutomaticArchiveServiceClassID_UUID16 (0x111C)
00222 #define ImagingReferenceObjectsServiceClassID_UUID16 (0x111D)
00223 #define HandsfreeServiceClassID_UUID16 (0x111E)
00224 #define HandsfreeAudioGatewayServiceClassID_UUID16 (0x111F)
00225 #define DirectPrintingReferenceObjectsServiceClassID_UUID16 \
00226 (0x1120)
00227 #define ReflectsUIServiceClassID_UUID16 (0x1121)
00228 #define BasicPrintingServiceClassID_UUID16 (0x1122)
00229 #define PrintingStatusServiceClassID_UUID16 (0x1123)
00230 #define HumanInterfaceDeviceServiceClassID_UUID16 (0x1124)
00231 #define HardcopyCableReplacementServiceClassID_UUID16 (0x1125)
00232 #define HCRPrintServiceClassID_UUID16 (0x1126)
00233 #define HCRScanServiceClassID_UUID16 (0x1127)
00234 #define CommonISDNAccessServiceClass_UUID16 (0x1128)
00235 #define VideoConferencingGWServiceClass_UUID16 (0x1129)
00236 #define UDIMTServiceClass_UUID16 (0x112A)
00237 #define UDITAServiceClass_UUID16 (0x112B)
00238 #define AudioVideoServiceClass_UUID16 (0x112C)
00239
00240 #define PnPInformationServiceClassID_UUID16 (0x1200)
00241 #define GenericNetworkingServiceClassID_UUID16 (0x1201)
00242 #define GenericFileTransferServiceClassID_UUID16 (0x1202)
00243 #define GenericAudioServiceClassID_UUID16 (0x1203)
00244 #define GenericTelephonyServiceClassID_UUID16 (0x1204)
00245
00246 #endif // NO_GUID_DEFS
00247
00248 #ifndef GUID_DEFS_ONLY
00249
00250
00251
00252
00253 #define BTH_MAX_NAME_SIZE (248)
00254
00255 #define BTH_MAX_PIN_SIZE (16)
00256 #define BTH_LINK_KEY_LENGTH (16)
00257
00258 #define BTH_MFG_ERICSSON (0)
00259 #define BTH_MFG_NOKIA (1)
00260 #define BTH_MFG_INTEL (2)
00261 #define BTH_MFG_IBM (3)
00262 #define BTH_MFG_TOSHIBA (4)
00263 #define BTH_MFG_3COM (5)
00264 #define BTH_MFG_MICROSOFT (6)
00265 #define BTH_MFG_LUCENT (7)
00266 #define BTH_MFG_MOTOROLA (8)
00267 #define BTH_MFG_INFINEON (9)
00268 #define BTH_MFG_CSR (10)
00269 #define BTH_MFG_SILICONWAVE (11)
00270 #define BTH_MFG_DIGIANSWER (12)
00271 #define BTH_MFG_TI (13)
00272 #define BTH_MFG_PARTHUS (14)
00273 #define BTH_MFG_BROADCOM (15)
00274 #define BTH_MFG_MITEL (16)
00275 #define BTH_MFG_WIDCOMM (17)
00276 #define BTH_MFG_ZEEVO (18)
00277 #define BTH_MFG_ATMEL (19)
00278 #define BTH_MFG_MITSIBUSHI (20)
00279 #define BTH_MFG_RTX_TELECOM (21)
00280 #define BTH_MFG_KC_TECHNOLOGY (22)
00281 #define BTH_MFG_NEWLOGIC (23)
00282 #define BTH_MFG_TRANSILICA (24)
00283 #define BTH_MFG_ROHDE_SCHWARZ (25)
00284 #define BTH_MFG_TTPCOM (26)
00285 #define BTH_MFG_SIGNIA (27)
00286 #define BTH_MFG_CONEXANT (28)
00287 #define BTH_MFG_QUALCOMM (29)
00288 #define BTH_MFG_INVENTEL (30)
00289 #define BTH_MFG_AVM_BERLIN (31)
00290 #define BTH_MFG_BANDSPEED (32)
00291 #define BTH_MFG_MANSELLA (33)
00292 #define BTH_MFG_NEC (34)
00293 #define BTH_MFG_WAVEPLUS_TECHNOLOGY_CO (35)
00294 #define BTH_MFG_ALCATEL (36)
00295 #define BTH_MFG_PHILIPS_SEMICONDUCTOR (37)
00296 #define BTH_MFG_C_TECHNOLOGIES (38)
00297 #define BTH_MFG_OPEN_INTERFACE (39)
00298 #define BTH_MFG_RF_MICRO_DEVICES (40)
00299 #define BTH_MFG_HITACHI (41)
00300 #define BTH_MFG_SYMBOL_TECHNOLOGIES (42)
00301 #define BTH_MFG_TENOVIS (43)
00302 #define BTH_MFG_MACRONIX_INTERNATIONAL (44)
00303 #define BTH_MFG_INTERNAL_USE (65535)
00304
00305 typedef ULONGLONG BTH_ADDR, *PBTH_ADDR;
00306 typedef ULONG BTH_COD, *PBTH_COD;
00307 typedef ULONG BTH_LAP, *PBTH_LAP;
00308
00309 #define BTH_ADDR_NULL ((ULONGLONG) 0x0000000000000000)
00310
00311 #define NAP_MASK ((ULONGLONG) 0xFFFF00000000)
00312 #define SAP_MASK ((ULONGLONG) 0x0000FFFFFFFF)
00313
00314 #define NAP_BIT_OFFSET (8 * 4)
00315 #define SAP_BIT_OFFSET (0)
00316
00317 #define GET_NAP(_bth_addr) ((USHORT) (((_bth_addr) & NAP_MASK) >> NAP_BIT_OFFSET))
00318 #define GET_SAP(_bth_addr) ((ULONG) (((_bth_addr) & SAP_MASK) >> SAP_BIT_OFFSET))
00319
00320 #define SET_NAP(_nap) (((ULONGLONG) ((USHORT) (_nap))) << NAP_BIT_OFFSET)
00321 #define SET_SAP(_sap) (((ULONGLONG) ((ULONG) (_sap))) << SAP_BIT_OFFSET)
00322
00323 #define SET_NAP_SAP(_nap, _sap) (SET_NAP(_nap) | SET_SAP(_sap))
00324
00325 #define COD_FORMAT_BIT_OFFSET (0)
00326 #define COD_MINOR_BIT_OFFSET (2)
00327 #define COD_MAJOR_BIT_OFFSET (8 * 1)
00328 #define COD_SERVICE_BIT_OFFSET (8 * 1 + 5)
00329
00330 #define COD_FORMAT_MASK (0x000003)
00331 #define COD_MINOR_MASK (0x0000FC)
00332 #define COD_MAJOR_MASK (0x001F00)
00333 #define COD_SERVICE_MASK (0xFFE000)
00334
00335
00336 #define GET_COD_FORMAT(_cod) ( (_cod) & COD_FORMAT_MASK >> COD_FORMAT_BIT_OFFSET)
00337 #define GET_COD_MINOR(_cod) (((_cod) & COD_MINOR_MASK) >> COD_MINOR_BIT_OFFSET)
00338 #define GET_COD_MAJOR(_cod) (((_cod) & COD_MAJOR_MASK) >> COD_MAJOR_BIT_OFFSET)
00339 #define GET_COD_SERVICE(_cod) (((_cod) & COD_SERVICE_MASK) >> COD_SERVICE_BIT_OFFSET)
00340
00341 #define SET_COD_MINOR(_cod, _minor) (_cod) = ((_cod) & ~COD_MINOR_MASK) | ((_minor) << COD_MINOR_BIT_OFFSET)
00342 #define SET_COD_MAJOR(_cod, _major) (_cod) = ((_cod) & ~COD_MAJOR_MASK) | ((_major) << COD_MAJOR_BIT_OFFSET)
00343 #define SET_COD_SERVICE(_cod, _service) (_cod) = ((_cod) & ~COD_SERVICE_MASK) | ((_service) << COD_SERVICE_BIT_OFFSET)
00344
00345 #define COD_VERSION (0x0)
00346
00347 #define COD_SERVICE_LIMITED (0x0001)
00348 #define COD_SERVICE_POSITIONING (0x0008)
00349 #define COD_SERVICE_NETWORKING (0x0010)
00350 #define COD_SERVICE_RENDERING (0x0020)
00351 #define COD_SERVICE_CAPTURING (0x0040)
00352 #define COD_SERVICE_OBJECT_XFER (0x0080)
00353 #define COD_SERVICE_AUDIO (0x0100)
00354 #define COD_SERVICE_TELEPHONY (0x0200)
00355 #define COD_SERVICE_INFORMATION (0x0400)
00356
00357 #define COD_SERVICE_VALID_MASK (COD_SERVICE_LIMITED | \
00358 COD_SERVICE_POSITIONING | \
00359 COD_SERVICE_NETWORKING | \
00360 COD_SERVICE_RENDERING | \
00361 COD_SERVICE_CAPTURING | \
00362 COD_SERVICE_OBJECT_XFER |\
00363 COD_SERVICE_AUDIO |\
00364 COD_SERVICE_TELEPHONY |\
00365 COD_SERVICE_INFORMATION)
00366
00367 #define COD_SERVICE_MAX_COUNT (9)
00368
00369
00370
00371
00372 #define COD_MAJOR_MISCELLANEOUS (0x00)
00373 #define COD_MAJOR_COMPUTER (0x01)
00374 #define COD_MAJOR_PHONE (0x02)
00375 #define COD_MAJOR_LAN_ACCESS (0x03)
00376 #define COD_MAJOR_AUDIO (0x04)
00377 #define COD_MAJOR_PERIPHERAL (0x05)
00378 #define COD_MAJOR_IMAGING (0x06)
00379 #define COD_MAJOR_UNCLASSIFIED (0x1F)
00380
00381
00382
00383
00384 #define COD_COMPUTER_MINOR_UNCLASSIFIED (0x00)
00385 #define COD_COMPUTER_MINOR_DESKTOP (0x01)
00386 #define COD_COMPUTER_MINOR_SERVER (0x02)
00387 #define COD_COMPUTER_MINOR_LAPTOP (0x03)
00388 #define COD_COMPUTER_MINOR_HANDHELD (0x04)
00389 #define COD_COMPUTER_MINOR_PALM (0x05)
00390 #define COD_COMPUTER_MINOR_WEARABLE (0x06)
00391
00392 #define COD_PHONE_MINOR_UNCLASSIFIED (0x00)
00393 #define COD_PHONE_MINOR_CELLULAR (0x01)
00394 #define COD_PHONE_MINOR_CORDLESS (0x02)
00395 #define COD_PHONE_MINOR_SMART (0x03)
00396 #define COD_PHONE_MINOR_WIRED_MODEM (0x04)
00397
00398 #define COD_AUDIO_MINOR_UNCLASSIFIED (0x00)
00399 #define COD_AUDIO_MINOR_HEADSET (0x01)
00400 #define COD_AUDIO_MINOR_HANDS_FREE (0x02)
00401 #define COD_AUDIO_MINOR_HEADSET_HANDS_FREE (0x03)
00402 #define COD_AUDIO_MINOR_MICROPHONE (0x04)
00403 #define COD_AUDIO_MINOR_LOUDSPEAKER (0x05)
00404 #define COD_AUDIO_MINOR_HEADPHONES (0x06)
00405 #define COD_AUDIO_MINOR_PORTABLE_AUDIO (0x07)
00406 #define COD_AUDIO_MINOR_CAR_AUDIO (0x08)
00407 #define COD_AUDIO_MINOR_SET_TOP_BOX (0x09)
00408 #define COD_AUDIO_MINOR_HIFI_AUDIO (0x0A)
00409 #define COD_AUDIO_MINOR_VCR (0x0B)
00410 #define COD_AUDIO_MINOR_VIDEO_CAMERA (0x0C)
00411 #define COD_AUDIO_MINOR_CAMCORDER (0x0D)
00412 #define COD_AUDIO_MINOR_VIDEO_MONITOR (0x0E)
00413 #define COD_AUDIO_MINOR_VIDEO_DISPLAY_LOUDSPEAKER \
00414 (0x0F)
00415 #define COD_AUDIO_MINOR_VIDEO_DISPLAY_CONFERENCING \
00416 (0x10)
00417
00418 #define COD_AUDIO_MINOR_GAMING_TOY (0x12)
00419
00420 #define COD_PERIPHERAL_MINOR_KEYBOARD_MASK (0x10)
00421 #define COD_PERIPHERAL_MINOR_POINTER_MASK (0x20)
00422
00423 #define COD_PERIPHERAL_MINOR_NO_CATEGORY (0x00)
00424 #define COD_PERIPHERAL_MINOR_JOYSTICK (0x01)
00425 #define COD_PERIPHERAL_MINOR_GAMEPAD (0x02)
00426 #define COD_PERIPHERAL_MINOR_REMOTE_CONTROL (0x03)
00427 #define COD_PERIPHERAL_MINOR_SENSING (0x04)
00428
00429 #define COD_IMAGING_MINOR_DISPLAY_MASK (0x04)
00430 #define COD_IMAGING_MINOR_CAMERA_MASK (0x08)
00431 #define COD_IMAGING_MINOR_SCANNER_MASK (0x10)
00432 #define COD_IMAGING_MINOR_PRINTER_MASK (0x20)
00433
00434
00435
00436
00437
00438
00439 #define COD_LAN_ACCESS_BIT_OFFSET (5)
00440
00441 #define COD_LAN_MINOR_MASK (0x00001C)
00442 #define COD_LAN_ACCESS_MASK (0x0000E0)
00443
00444 #define GET_COD_LAN_MINOR(_cod) (((_cod) & COD_LAN_MINOR_MASK) >> COD_MINOR_BIT_OFFSET)
00445 #define GET_COD_LAN_ACCESS(_cod) (((_cod) & COD_LAN_ACCESS_MASK) >> COD_LAN_ACCESS_BIT_OFFSET)
00446
00447
00448
00449
00450 #define COD_LAN_MINOR_UNCLASSIFIED (0x00)
00451
00452 #define COD_LAN_ACCESS_0_USED (0x00)
00453 #define COD_LAN_ACCESS_17_USED (0x01)
00454 #define COD_LAN_ACCESS_33_USED (0x02)
00455 #define COD_LAN_ACCESS_50_USED (0x03)
00456 #define COD_LAN_ACCESS_67_USED (0x04)
00457 #define COD_LAN_ACCESS_83_USED (0x05)
00458 #define COD_LAN_ACCESS_99_USED (0x06)
00459 #define COD_LAN_ACCESS_FULL (0x07)
00460
00461
00462
00463
00464 #define LAP_GIAC_INIT { 0x33, 0x8B, 0x9E }
00465 #define LAP_LIAC_INIT { 0x00, 0x8B, 0x9E }
00466
00467
00468
00469
00470 #define LAP_GIAC_VALUE (0x009E8B33)
00471
00472
00473
00474
00475 #define LAP_LIAC_VALUE (0x009E8B00)
00476
00477 #define BTH_ADDR_IAC_FIRST (0x9E8B00)
00478 #define BTH_ADDR_IAC_LAST (0x9E8B3f)
00479 #define BTH_ADDR_LIAC (0x9E8B00)
00480 #define BTH_ADDR_GIAC (0x9E8B33)
00481
00482 typedef UCHAR BTHSTATUS, *PBTHSTATUS;
00483
00484 #define BTH_ERROR(_btStatus) ((_btStatus) != BTH_ERROR_SUCCESS)
00485 #define BTH_SUCCESS(_btStatus) ((_btStatus) == BTH_ERROR_SUCCESS)
00486
00487 #define BTH_ERROR_SUCCESS (0x00)
00488 #define BTH_ERROR_UNKNOWN_HCI_COMMAND (0x01)
00489 #define BTH_ERROR_NO_CONNECTION (0x02)
00490 #define BTH_ERROR_HARDWARE_FAILURE (0x03)
00491 #define BTH_ERROR_PAGE_TIMEOUT (0x04)
00492 #define BTH_ERROR_AUTHENTICATION_FAILURE (0x05)
00493 #define BTH_ERROR_KEY_MISSING (0x06)
00494 #define BTH_ERROR_MEMORY_FULL (0x07)
00495 #define BTH_ERROR_CONNECTION_TIMEOUT (0x08)
00496 #define BTH_ERROR_MAX_NUMBER_OF_CONNECTIONS (0x09)
00497 #define BTH_ERROR_MAX_NUMBER_OF_SCO_CONNECTIONS (0x0a)
00498 #define BTH_ERROR_ACL_CONNECTION_ALREADY_EXISTS (0x0b)
00499 #define BTH_ERROR_COMMAND_DISALLOWED (0x0c)
00500 #define BTH_ERROR_HOST_REJECTED_LIMITED_RESOURCES (0x0d)
00501 #define BTH_ERROR_HOST_REJECTED_SECURITY_REASONS (0x0e)
00502 #define BTH_ERROR_HOST_REJECTED_PERSONAL_DEVICE (0x0f)
00503 #define BTH_ERROR_HOST_TIMEOUT (0x10)
00504 #define BTH_ERROR_UNSUPPORTED_FEATURE_OR_PARAMETER (0x11)
00505 #define BTH_ERROR_INVALID_HCI_PARAMETER (0x12)
00506 #define BTH_ERROR_REMOTE_USER_ENDED_CONNECTION (0x13)
00507 #define BTH_ERROR_REMOTE_LOW_RESOURCES (0x14)
00508 #define BTH_ERROR_REMOTE_POWERING_OFF (0x15)
00509 #define BTH_ERROR_LOCAL_HOST_TERMINATED_CONNECTION (0x16)
00510 #define BTH_ERROR_REPEATED_ATTEMPTS (0x17)
00511 #define BTH_ERROR_PAIRING_NOT_ALLOWED (0x18)
00512 #define BTH_ERROR_UKNOWN_LMP_PDU (0x19)
00513 #define BTH_ERROR_UNSUPPORTED_REMOTE_FEATURE (0x1a)
00514 #define BTH_ERROR_SCO_OFFSET_REJECTED (0x1b)
00515 #define BTH_ERROR_SCO_INTERVAL_REJECTED (0x1c)
00516 #define BTH_ERROR_SCO_AIRMODE_REJECTED (0x1d)
00517 #define BTH_ERROR_INVALID_LMP_PARAMETERS (0x1e)
00518 #define BTH_ERROR_UNSPECIFIED_ERROR (0x1f)
00519 #define BTH_ERROR_UNSUPPORTED_LMP_PARM_VALUE (0x20)
00520 #define BTH_ERROR_ROLE_CHANGE_NOT_ALLOWED (0x21)
00521 #define BTH_ERROR_LMP_RESPONSE_TIMEOUT (0x22)
00522 #define BTH_ERROR_LMP_TRANSACTION_COLLISION (0x23)
00523 #define BTH_ERROR_LMP_PDU_NOT_ALLOWED (0x24)
00524 #define BTH_ERROR_ENCRYPTION_MODE_NOT_ACCEPTABLE (0x25)
00525 #define BTH_ERROR_UNIT_KEY_NOT_USED (0x26)
00526 #define BTH_ERROR_QOS_IS_NOT_SUPPORTED (0x27)
00527 #define BTH_ERROR_INSTANT_PASSED (0x28)
00528 #define BTH_ERROR_PAIRING_WITH_UNIT_KEY_NOT_SUPPORTED (0x29)
00529
00530 #define BTH_ERROR_UNSPECIFIED (0xFF)
00531
00532
00533
00534
00535 #define L2CAP_MIN_MTU (48)
00536 #define L2CAP_MAX_MTU (0xFFFF)
00537 #define L2CAP_DEFAULT_MTU (672)
00538
00539
00540
00541
00542 #define MAX_L2CAP_PING_DATA_LENGTH (44)
00543 #define MAX_L2CAP_INFO_DATA_LENGTH (44)
00544
00545
00546
00547
00548
00549
00550 #define BDIF_ADDRESS (0x00000001)
00551 #define BDIF_COD (0x00000002)
00552 #define BDIF_NAME (0x00000004)
00553 #define BDIF_PAIRED (0x00000008)
00554 #define BDIF_PERSONAL (0x00000010)
00555 #define BDIF_CONNECTED (0x00000020)
00556
00557 #define BDIF_VALID_FLAGS \
00558 (BDIF_ADDRESS | BDIF_COD | BDIF_NAME | BDIF_PAIRED | BDIF_PERSONAL | \
00559 BDIF_CONNECTED)
00560
00561 typedef struct _BTH_DEVICE_INFO {
00562
00563
00564
00565 ULONG flags;
00566
00567
00568
00569
00570 BTH_ADDR address;
00571
00572
00573
00574
00575 BTH_COD classOfDevice;
00576
00577
00578
00579
00580 CHAR name[BTH_MAX_NAME_SIZE];
00581
00582 } BTH_DEVICE_INFO, *PBTH_DEVICE_INFO;
00583
00584
00585
00586
00587 typedef struct _BTH_RADIO_IN_RANGE {
00588
00589
00590
00591 BTH_DEVICE_INFO deviceInfo;
00592
00593
00594
00595
00596
00597
00598
00599
00600
00601 ULONG previousDeviceFlags;
00602
00603 } BTH_RADIO_IN_RANGE, *PBTH_RADIO_IN_RANGE;
00604
00605
00606
00607
00608 typedef struct _BTH_L2CAP_EVENT_INFO {
00609
00610
00611
00612 BTH_ADDR bthAddress;
00613
00614
00615
00616
00617 USHORT psm;
00618
00619
00620
00621
00622
00623
00624 UCHAR connected;
00625
00626
00627
00628
00629
00630
00631 UCHAR initiated;
00632
00633 } BTH_L2CAP_EVENT_INFO, *PBTH_L2CAP_EVENT_INFO;
00634
00635 #define HCI_CONNNECTION_TYPE_ACL (1)
00636 #define HCI_CONNNECTION_TYPE_SCO (2)
00637
00638
00639
00640
00641 typedef struct _BTH_HCI_EVENT_INFO {
00642
00643
00644
00645 BTH_ADDR bthAddress;
00646
00647
00648
00649
00650 UCHAR connectionType;
00651
00652
00653
00654
00655
00656
00657 UCHAR connected;
00658
00659 } BTH_HCI_EVENT_INFO, *PBTH_HCI_EVENT_INFO;
00660
00661
00662
00663
00664 #define BTH_MAX_SERVICE_NAME_SIZE (256)
00665
00666 #define MAX_UUIDS_IN_QUERY (12)
00667
00668 #define BTH_VID_DEFAULT_VALUE (0xFFFF)
00669
00670 #define SDP_ERROR_INVALID_SDP_VERSION (0x0001)
00671 #define SDP_ERROR_INVALID_RECORD_HANDLE (0x0002)
00672 #define SDP_ERROR_INVALID_REQUEST_SYNTAX (0x0003)
00673 #define SDP_ERROR_INVALID_PDU_SIZE (0x0004)
00674 #define SDP_ERROR_INVALID_CONTINUATION_STATE (0x0005)
00675 #define SDP_ERROR_INSUFFICIENT_RESOURCES (0x0006)
00676
00677
00678
00679
00680
00681
00682
00683
00684
00685
00686 #define SDP_ERROR_SUCCESS ((SDP_ERROR) 0x0000)
00687
00688
00689
00690
00691 #define SDP_ERROR_SERVER_INVALID_RESPONSE ((SDP_ERROR) 0x0100)
00692
00693
00694
00695
00696 #define SDP_ERROR_SERVER_RESPONSE_DID_NOT_PARSE ((SDP_ERROR) 0x0200)
00697
00698
00699
00700
00701
00702 #define SDP_ERROR_SERVER_BAD_FORMAT ((SDP_ERROR) 0x0300)
00703
00704
00705
00706
00707 #define SDP_ERROR_COULD_NOT_SEND_CONTINUE ((SDP_ERROR) 0x0400)
00708
00709
00710
00711
00712 #define SDP_ERROR_RESPONSE_TOO_LARGE ((SDP_ERROR) 0x0500)
00713
00714
00715 #define SDP_ATTRIB_RECORD_HANDLE (0x0000)
00716 #define SDP_ATTRIB_CLASS_ID_LIST (0x0001)
00717 #define SDP_ATTRIB_RECORD_STATE (0x0002)
00718 #define SDP_ATTRIB_SERVICE_ID (0x0003)
00719 #define SDP_ATTRIB_PROTOCOL_DESCRIPTOR_LIST (0x0004)
00720 #define SDP_ATTRIB_BROWSE_GROUP_LIST (0x0005)
00721 #define SDP_ATTRIB_LANG_BASE_ATTRIB_ID_LIST (0x0006)
00722 #define SDP_ATTRIB_INFO_TIME_TO_LIVE (0x0007)
00723 #define SDP_ATTRIB_AVAILABILITY (0x0008)
00724 #define SDP_ATTRIB_PROFILE_DESCRIPTOR_LIST (0x0009)
00725 #define SDP_ATTRIB_DOCUMENTATION_URL (0x000A)
00726 #define SDP_ATTRIB_CLIENT_EXECUTABLE_URL (0x000B)
00727 #define SDP_ATTRIB_ICON_URL (0x000C)
00728 #define SDP_ATTRIB_ADDITIONAL_PROTOCOL_DESCRIPTOR_LIST \
00729 (0x000D)
00730
00731
00732
00733
00734 #define SDP_ATTRIB_PROFILE_SPECIFIC (0x0200)
00735
00736 #define LANG_BASE_LANGUAGE_INDEX (0x0000)
00737 #define LANG_BASE_ENCODING_INDEX (0x0001)
00738 #define LANG_BASE_OFFSET_INDEX (0x0002)
00739 #define LANG_DEFAULT_ID (0x0100)
00740
00741 #define STRING_NAME_OFFSET (0x0000)
00742 #define STRING_DESCRIPTION_OFFSET (0x0001)
00743 #define STRING_PROVIDER_NAME_OFFSET (0x0002)
00744
00745 #define SDP_ATTRIB_SDP_VERSION_NUMBER_LIST (0x0200)
00746 #define SDP_ATTRIB_SDP_DATABASE_STATE (0x0201)
00747
00748 #define SDP_ATTRIB_BROWSE_GROUP_ID (0x0200)
00749
00750 #define SDP_ATTRIB_CORDLESS_EXTERNAL_NETWORK (0x0301)
00751
00752 #define SDP_ATTRIB_FAX_CLASS_1_SUPPORT (0x0302)
00753 #define SDP_ATTRIB_FAX_CLASS_2_0_SUPPORT (0x0303)
00754 #define SDP_ATTRIB_FAX_CLASS_2_SUPPORT (0x0304)
00755 #define SDP_ATTRIB_FAX_AUDIO_FEEDBACK_SUPPORT (0x0305)
00756
00757 #define SDP_ATTRIB_HEADSET_REMOTE_AUDIO_VOLUME_CONTROL (0x0302)
00758
00759 #define SDP_ATTRIB_LAN_LPSUBNET (0x0200)
00760
00761 #define SDP_ATTRIB_OBJECT_PUSH_SUPPORTED_FORMATS_LIST (0x0303)
00762
00763 #define SDP_ATTRIB_SYNCH_SUPPORTED_DATA_STORES_LIST (0x0301)
00764
00765
00766 #define SDP_ATTRIB_SERVICE_VERSION (0x0300)
00767
00768 #define SDP_ATTRIB_PAN_NETWORK_ADDRESS (0x0306)
00769 #define SDP_ATTRIB_PAN_WAP_GATEWAY (0x0307)
00770 #define SDP_ATTRIB_PAN_HOME_PAGE_URL (0x0308)
00771 #define SDP_ATTRIB_PAN_WAP_STACK_TYPE (0x0309)
00772 #define SDP_ATTRIB_PAN_SECURITY_DESCRIPTION (0x030A)
00773 #define SDP_ATTRIB_PAN_NET_ACCESS_TYPE (0x030B)
00774 #define SDP_ATTRIB_PAN_MAX_NET_ACCESS_RATE (0x030C)
00775
00776 #define SDP_ATTRIB_IMAGING_SUPPORTED_CAPABILITIES (0x0310)
00777 #define SDP_ATTRIB_IMAGING_SUPPORTED_FEATURES (0x0311)
00778 #define SDP_ATTRIB_IMAGING_SUPPORTED_FUNCTIONS (0x0312)
00779 #define SDP_ATTRIB_IMAGING_TOTAL_DATA_CAPACITY (0x0313)
00780
00781 #define SDP_ATTRIB_DI_SPECIFICATION_ID (0x0200)
00782 #define SDP_ATTRIB_DI_VENDOR_ID (0x0201)
00783 #define SDP_ATTRIB_DI_PRODUCT_ID (0x0202)
00784 #define SDP_ATTRIB_DI_VERSION (0x0203)
00785 #define SDP_ATTRIB_DI_PRIMARY_RECORD (0x0204)
00786 #define SDP_ATTRIB_DI_VENDOR_ID_SOURCE (0x0205)
00787
00788 #define SDP_ATTRIB_HID_DEVICE_RELEASE_NUMBER (0x0200)
00789 #define SDP_ATTRIB_HID_PARSER_VERSION (0x0201)
00790 #define SDP_ATTRIB_HID_DEVICE_SUBCLASS (0x0202)
00791 #define SDP_ATTRIB_HID_COUNTRY_CODE (0x0203)
00792 #define SDP_ATTRIB_HID_VIRTUAL_CABLE (0x0204)
00793 #define SDP_ATTRIB_HID_RECONNECT_INITIATE (0x0205)
00794 #define SDP_ATTRIB_HID_DESCRIPTOR_LIST (0x0206)
00795 #define SDP_ATTRIB_HID_LANG_ID_BASE_LIST (0x0207)
00796 #define SDP_ATTRIB_HID_SDP_DISABLE (0x0208)
00797 #define SDP_ATTRIB_HID_BATTERY_POWER (0x0209)
00798 #define SDP_ATTRIB_HID_REMOTE_WAKE (0x020A)
00799 #define SDP_ATTRIB_HID_REPORT_LIST (0x020B)
00800 #define SDP_ATTRIB_HID_SUPERVISION_TIMEOUT (0x020C)
00801 #define SDP_ATTRIB_HID_NORMALLY_CONNECTABLE (0x020D)
00802 #define SDP_ATTRIB_HID_BOOT_DEVICE (0x020E)
00803
00804
00805
00806
00807 #define CORDLESS_EXTERNAL_NETWORK_PSTN (0x01)
00808 #define CORDLESS_EXTERNAL_NETWORK_ISDN (0x02)
00809 #define CORDLESS_EXTERNAL_NETWORK_GSM (0x03)
00810 #define CORDLESS_EXTERNAL_NETWORK_CDMA (0x04)
00811 #define CORDLESS_EXTERNAL_NETWORK_ANALOG_CELLULAR (0x05)
00812 #define CORDLESS_EXTERNAL_NETWORK_PACKET_SWITCHED (0x06)
00813 #define CORDLESS_EXTERNAL_NETWORK_OTHER (0x07)
00814
00815 #define OBJECT_PUSH_FORMAT_VCARD_2_1 (0x01)
00816 #define OBJECT_PUSH_FORMAT_VCARD_3_0 (0x02)
00817 #define OBJECT_PUSH_FORMAT_VCAL_1_0 (0x03)
00818 #define OBJECT_PUSH_FORMAT_ICAL_2_0 (0x04)
00819 #define OBJECT_PUSH_FORMAT_VNOTE (0x05)
00820 #define OBJECT_PUSH_FORMAT_VMESSAGE (0x06)
00821 #define OBJECT_PUSH_FORMAT_ANY (0xFF)
00822
00823 #define SYNCH_DATA_STORE_PHONEBOOK (0x01)
00824 #define SYNCH_DATA_STORE_CALENDAR (0x03)
00825 #define SYNCH_DATA_STORE_NOTES (0x05)
00826 #define SYNCH_DATA_STORE_MESSAGES (0x06)
00827
00828 #define DI_VENDOR_ID_SOURCE_BLUETOOTH_SIG (0x0001)
00829 #define DI_VENDOR_ID_SOURCE_USB_IF (0x0002)
00830
00831 #define PSM_SDP (0x0001)
00832 #define PSM_RFCOMM (0x0003)
00833 #define PSM_TCS_BIN (0x0005)
00834 #define PSM_TCS_BIN_CORDLESS (0x0007)
00835 #define PSM_BNEP (0x000F)
00836 #define PSM_HID_CONTROL (0x0011)
00837 #define PSM_HID_INTERRUPT (0x0013)
00838 #define PSM_AVCTP (0x0017)
00839 #define PSM_AVDTP (0x0019)
00840 #define PSM_UDI_C_PLANE (0x001D)
00841
00842
00843
00844
00845 #define STR_ADDR_FMTA "(%02x:%02x:%02x:%02x:%02x:%02x)"
00846 #define STR_ADDR_FMTW L"(%02x:%02x:%02x:%02x:%02x:%02x)"
00847
00848 #define STR_ADDR_SHORT_FMTA "%04x%08x"
00849 #define STR_ADDR_SHORT_FMTW L"%04x%08x"
00850
00851 #if defined(UNICODE) || defined(BTH_KERN)
00852
00853 #define STR_ADDR_FMT STR_ADDR_FMTW
00854 #define STR_ADDR_SHORT_FMT STR_ADDR_SHORT_FMTW
00855
00856 #else // UNICODE
00857
00858 #define STR_ADDR_FMT STR_ADDR_FMTA
00859 #define STR_ADDR_SHORT_FMT STR_ADDR_SHORT_FMTA
00860
00861 #endif // UNICODE
00862
00863 #define GET_BITS(field,offset,mask) ( ( (field) >> (offset) ) & (mask) )
00864 #define GET_BIT(field,offset) ( GET_BITS(field,offset,0x1) )
00865
00866 #define LMP_3_SLOT_PACKETS(x) (GET_BIT(x, 0))
00867 #define LMP_5_SLOT_PACKETS(x) (GET_BIT(x, 1))
00868 #define LMP_ENCRYPTION(x) (GET_BIT(x, 2))
00869 #define LMP_SLOT_OFFSET(x) (GET_BIT(x, 3))
00870 #define LMP_TIMING_ACCURACY(x) (GET_BIT(x, 4))
00871 #define LMP_SWITCH(x) (GET_BIT(x, 5))
00872 #define LMP_HOLD_MODE(x) (GET_BIT(x, 6))
00873 #define LMP_SNIFF_MODE(x) (GET_BIT(x, 7))
00874 #define LMP_PARK_MODE(x) (GET_BIT(x, 8))
00875 #define LMP_RSSI(x) (GET_BIT(x, 9))
00876 #define LMP_CHANNEL_QUALITY_DRIVEN_MODE(x) (GET_BIT(x,10))
00877 #define LMP_SCO_LINK(x) (GET_BIT(x,11))
00878 #define LMP_HV2_PACKETS(x) (GET_BIT(x,12))
00879 #define LMP_HV3_PACKETS(x) (GET_BIT(x,13))
00880 #define LMP_MU_LAW_LOG(x) (GET_BIT(x,14))
00881 #define LMP_A_LAW_LOG(x) (GET_BIT(x,15))
00882 #define LMP_CVSD(x) (GET_BIT(x,16))
00883 #define LMP_PAGING_SCHEME(x) (GET_BIT(x,17))
00884 #define LMP_POWER_CONTROL(x) (GET_BIT(x,18))
00885 #define LMP_TRANSPARENT_SCO_DATA(x) (GET_BIT(x,19))
00886 #define LMP_FLOW_CONTROL_LAG(x) (GET_BITS(x,20,0x3))
00887 #define LMP_BROADCAST_ENCRYPTION(x) (GET_BIT(x,23))
00888 #define LMP_ENHANCED_INQUIRY_SCAN(x) (GET_BIT(x,27))
00889 #define LMP_INTERLACED_INQUIRY_SCAN(x) (GET_BIT(x,28))
00890 #define LMP_INTERLACED_PAGE_SCAN(x) (GET_BIT(x,29))
00891 #define LMP_RSSI_WITH_INQUIRY_RESULTS(x) (GET_BIT(x,30))
00892 #define LMP_ESCO_LINK(x) (GET_BIT(x,31))
00893 #define LMP_EV4_PACKETS(x) (GET_BIT(x,32))
00894 #define LMP_EV5_PACKETS(x) (GET_BIT(x,33))
00895 #define LMP_AFH_CAPABLE_SLAVE(x) (GET_BIT(x,35))
00896 #define LMP_AFH_CLASSIFICATION_SLAVE(x) (GET_BIT(x,36))
00897 #define LMP_AFH_CAPABLE_MASTER(x) (GET_BIT(x,43))
00898 #define LMP_AFH_CLASSIFICATION_MASTER(x) (GET_BIT(x,44))
00899 #define LMP_EXTENDED_FEATURES(x) (GET_BIT(x,63))
00900
00901 #endif // GUID_DEFS_ONLY
00902
00903 #endif // (NTDDI_VERSION >= NTDDI_WINXPSP2)
00904
00905 #endif // __BTHDEF_H__
00906