1 /****************************************************************************** 2 * 3 * Copyright (C) 1999-2012 Broadcom Corporation 4 * 5 * Licensed under the Apache License, Version 2.0 (the "License"); 6 * you may not use this file except in compliance with the License. 7 * You may obtain a copy of the License at: 8 * 9 * http://www.apache.org/licenses/LICENSE-2.0 10 * 11 * Unless required by applicable law or agreed to in writing, software 12 * distributed under the License is distributed on an "AS IS" BASIS, 13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14 * See the License for the specific language governing permissions and 15 * limitations under the License. 16 * 17 ******************************************************************************/ 18 19 /****************************************************************************** 20 * 21 * This file contains the definitions for the SDP API 22 * 23 ******************************************************************************/ 24 25 #ifndef SDP_DEFS_H 26 #define SDP_DEFS_H 27 28 /* Define the service attribute IDs. 29 */ 30 #define ATTR_ID_SERVICE_RECORD_HDL 0x0000 31 #define ATTR_ID_SERVICE_CLASS_ID_LIST 0x0001 32 #define ATTR_ID_SERVICE_RECORD_STATE 0x0002 33 #define ATTR_ID_SERVICE_ID 0x0003 34 #define ATTR_ID_PROTOCOL_DESC_LIST 0x0004 35 #define ATTR_ID_BROWSE_GROUP_LIST 0x0005 36 #define ATTR_ID_LANGUAGE_BASE_ATTR_ID_LIST 0x0006 37 #define ATTR_ID_SERVICE_INFO_TIME_TO_LIVE 0x0007 38 #define ATTR_ID_SERVICE_AVAILABILITY 0x0008 39 #define ATTR_ID_BT_PROFILE_DESC_LIST 0x0009 40 #define ATTR_ID_DOCUMENTATION_URL 0x000A 41 #define ATTR_ID_CLIENT_EXE_URL 0x000B 42 #define ATTR_ID_ICON_URL 0x000C 43 #define ATTR_ID_ADDITION_PROTO_DESC_LISTS 0x000D 44 45 #define LANGUAGE_BASE_ID 0x0100 46 #define ATTR_ID_SERVICE_NAME LANGUAGE_BASE_ID + 0x0000 47 #define ATTR_ID_SERVICE_DESCRIPTION LANGUAGE_BASE_ID + 0x0001 48 #define ATTR_ID_PROVIDER_NAME LANGUAGE_BASE_ID + 0x0002 49 50 /* Device Identification (DI) 51 */ 52 #define ATTR_ID_SPECIFICATION_ID 0x0200 53 #define ATTR_ID_VENDOR_ID 0x0201 54 #define ATTR_ID_PRODUCT_ID 0x0202 55 #define ATTR_ID_PRODUCT_VERSION 0x0203 56 #define ATTR_ID_PRIMARY_RECORD 0x0204 57 #define ATTR_ID_VENDOR_ID_SOURCE 0x0205 58 59 #define BLUETOOTH_DI_SPECIFICATION 0x0103 /* 1.3 */ 60 #define DI_VENDOR_ID_DEFAULT 0xFFFF 61 #define DI_VENDOR_ID_SOURCE_BTSIG 0x0001 62 #define DI_VENDOR_ID_SOURCE_USBIF 0x0002 63 64 65 #define ATTR_ID_IP_SUBNET 0x0200 /* PAN Profile (***) */ 66 #define ATTR_ID_VERSION_NUMBER_LIST 0x0200 67 #define ATTR_ID_GOEP_L2CAP_PSM 0x0200 68 #define ATTR_ID_GROUP_ID 0x0200 69 #define ATTR_ID_SERVICE_DATABASE_STATE 0x0201 70 #define ATTR_ID_SERVICE_VERSION 0x0300 71 #define ATTR_ID_HCRP_1284ID 0x0300 72 73 #define ATTR_ID_SUPPORTED_DATA_STORES 0x0301 74 #define ATTR_ID_NETWORK 0x0301 75 #define ATTR_ID_EXTERNAL_NETWORK 0x0301 76 #define ATTR_ID_FAX_CLASS_1_SUPPORT 0x0302 77 #define ATTR_ID_REMOTE_AUDIO_VOLUME_CONTROL 0x0302 78 #define ATTR_ID_DEVICE_NAME 0x0302 79 #define ATTR_ID_SUPPORTED_FORMATS_LIST 0x0303 80 #define ATTR_ID_FAX_CLASS_2_0_SUPPORT 0x0303 81 #define ATTR_ID_FAX_CLASS_2_SUPPORT 0x0304 82 #define ATTR_ID_FRIENDLY_NAME 0x0304 83 #define ATTR_ID_AUDIO_FEEDBACK_SUPPORT 0x0305 84 #define ATTR_ID_NETWORK_ADDRESS 0x0306 85 #define ATTR_ID_DEVICE_LOCATION 0x0306 86 #define ATTR_ID_WAP_GATEWAY 0x0307 87 #define ATTR_ID_HOME_PAGE_URL 0x0308 88 #define ATTR_ID_WAP_STACK_TYPE 0x0309 89 #define ATTR_ID_IMG_SUPPORTED_CAPABILITIES 0x0310 /* Imaging Profile */ 90 #define ATTR_ID_SUPPORTED_FEATURES 0x0311 /* HFP, BIP */ 91 #define ATTR_ID_IMG_SUPPORTED_FUNCTIONS 0x0312 /* Imaging Profile */ 92 #define ATTR_ID_IMG_TOT_DATA_CAPABILITY 0x0313 /* Imaging Profile */ 93 #define ATTR_ID_SUPPORTED_REPOSITORIES 0x0314 /* Phone book access Profile */ 94 #define ATTR_ID_MAS_INSTANCE_ID 0x0315 /* MAP profile */ 95 #define ATTR_ID_SUPPORTED_MSG_TYPE 0x0316 /* MAP profile */ 96 #define ATTR_ID_MAP_SUPPORTED_FEATURES 0x0317 /* MAP profile */ 97 #define ATTR_ID_PBAP_SUPPORTED_FEATURES 0x0317 /* PBAP profile */ 98 99 100 /* These values are for the BPP profile */ 101 #define ATTR_ID_DOCUMENT_FORMATS_SUPPORTED 0x0350 102 #define ATTR_ID_CHARACTER_REPERTOIRES_SUPPORTED 0x0352 103 #define ATTR_ID_XHTML_IMAGE_FORMATS_SUPPORTED 0x0354 104 #define ATTR_ID_COLOR_SUPPORTED 0x0356 105 #define ATTR_ID_1284ID 0x0358 106 #define ATTR_ID_PRINTER_NAME 0x035A 107 #define ATTR_ID_PRINTER_LOCATION 0x035C 108 #define ATTR_ID_DUPLEX_SUPPORTED 0x035E 109 #define ATTR_ID_MEDIA_TYPES_SUPPORTED 0x0360 110 #define ATTR_ID_MAX_MEDIA_WIDTH 0x0362 111 #define ATTR_ID_MAX_MEDIA_LENGTH 0x0364 112 #define ATTR_ID_ENHANCED_LAYOUT_SUPPORTED 0x0366 113 #define ATTR_ID_RUI_FORMATS_SUPPORTED 0x0368 114 #define ATTR_ID_RUI_REF_PRINTING_SUPPORTED 0x0370 /* Boolean */ 115 #define ATTR_ID_RUI_DIRECT_PRINTING_SUPPORTED 0x0372 /* Boolean */ 116 #define ATTR_ID_REF_PRINTING_TOP_URL 0x0374 117 #define ATTR_ID_DIRECT_PRINTING_TOP_URL 0x0376 118 #define ATTR_ID_PRINTER_ADMIN_RUI_TOP_URL 0x0378 119 #define ATTR_ID_BPP_DEVICE_NAME 0x037A 120 121 /* These values are for the PAN profile */ 122 #define ATTR_ID_SECURITY_DESCRIPTION 0x030A 123 #define ATTR_ID_NET_ACCESS_TYPE 0x030B 124 #define ATTR_ID_MAX_NET_ACCESS_RATE 0x030C 125 #define ATTR_ID_IPV4_SUBNET 0x030D 126 #define ATTR_ID_IPV6_SUBNET 0x030E 127 #define ATTR_ID_PAN_SECURITY 0x0400 128 129 /* These values are for HID profile */ 130 #define ATTR_ID_HID_DEVICE_RELNUM 0x0200 131 #define ATTR_ID_HID_PARSER_VERSION 0x0201 132 #define ATTR_ID_HID_DEVICE_SUBCLASS 0x0202 133 #define ATTR_ID_HID_COUNTRY_CODE 0x0203 134 #define ATTR_ID_HID_VIRTUAL_CABLE 0x0204 135 #define ATTR_ID_HID_RECONNECT_INITIATE 0x0205 136 #define ATTR_ID_HID_DESCRIPTOR_LIST 0x0206 137 #define ATTR_ID_HID_LANGUAGE_ID_BASE 0x0207 138 #define ATTR_ID_HID_SDP_DISABLE 0x0208 139 #define ATTR_ID_HID_BATTERY_POWER 0x0209 140 #define ATTR_ID_HID_REMOTE_WAKE 0x020A 141 #define ATTR_ID_HID_PROFILE_VERSION 0x020B 142 #define ATTR_ID_HID_LINK_SUPERVISION_TO 0x020C 143 #define ATTR_ID_HID_NORMALLY_CONNECTABLE 0x020D 144 #define ATTR_ID_HID_BOOT_DEVICE 0x020E 145 #define ATTR_ID_HID_SSR_HOST_MAX_LAT 0x020F 146 #define ATTR_ID_HID_SSR_HOST_MIN_TOUT 0x0210 147 148 /* These values are for the HDP profile */ 149 #define ATTR_ID_HDP_SUP_FEAT_LIST 0x0200 /* Supported features list */ 150 #define ATTR_ID_HDP_DATA_EXCH_SPEC 0x0301 /* Data exchange specification */ 151 #define ATTR_ID_HDP_MCAP_SUP_PROC 0x0302 /* MCAP supported procedures */ 152 153 /* Define common 16-bit protocol UUIDs 154 */ 155 #define UUID_PROTOCOL_SDP 0x0001 156 #define UUID_PROTOCOL_UDP 0x0002 157 #define UUID_PROTOCOL_RFCOMM 0x0003 158 #define UUID_PROTOCOL_TCP 0x0004 159 #define UUID_PROTOCOL_TCS_BIN 0x0005 160 #define UUID_PROTOCOL_TCS_AT 0x0006 161 #define UUID_PROTOCOL_OBEX 0x0008 162 #define UUID_PROTOCOL_IP 0x0009 163 #define UUID_PROTOCOL_FTP 0x000A 164 #define UUID_PROTOCOL_HTTP 0x000C 165 #define UUID_PROTOCOL_WSP 0x000E 166 #define UUID_PROTOCOL_BNEP 0x000F 167 #define UUID_PROTOCOL_UPNP 0x0010 168 #define UUID_PROTOCOL_HIDP 0x0011 169 #define UUID_PROTOCOL_HCRP_CTRL 0x0012 170 #define UUID_PROTOCOL_HCRP_DATA 0x0014 171 #define UUID_PROTOCOL_HCRP_NOTIF 0x0016 172 #define UUID_PROTOCOL_AVCTP 0x0017 173 #define UUID_PROTOCOL_AVDTP 0x0019 174 #define UUID_PROTOCOL_CMTP 0x001B 175 #define UUID_PROTOCOL_UDI 0x001D 176 #define UUID_PROTOCOL_MCAP_CTRL 0x001E 177 #define UUID_PROTOCOL_MCAP_DATA 0x001F 178 #define UUID_PROTOCOL_L2CAP 0x0100 179 #define UUID_PROTOCOL_ATT 0x0007 180 181 /* Define common 16-bit service class UUIDs 182 */ 183 #define UUID_SERVCLASS_SERVICE_DISCOVERY_SERVER 0X1000 184 #define UUID_SERVCLASS_BROWSE_GROUP_DESCRIPTOR 0X1001 185 #define UUID_SERVCLASS_PUBLIC_BROWSE_GROUP 0X1002 186 #define UUID_SERVCLASS_SERIAL_PORT 0X1101 187 #define UUID_SERVCLASS_LAN_ACCESS_USING_PPP 0X1102 188 #define UUID_SERVCLASS_DIALUP_NETWORKING 0X1103 189 #define UUID_SERVCLASS_IRMC_SYNC 0X1104 190 #define UUID_SERVCLASS_OBEX_OBJECT_PUSH 0X1105 191 #define UUID_SERVCLASS_OBEX_FILE_TRANSFER 0X1106 192 #define UUID_SERVCLASS_IRMC_SYNC_COMMAND 0X1107 193 #define UUID_SERVCLASS_HEADSET 0X1108 194 #define UUID_SERVCLASS_CORDLESS_TELEPHONY 0X1109 195 #define UUID_SERVCLASS_AUDIO_SOURCE 0X110A 196 #define UUID_SERVCLASS_AUDIO_SINK 0X110B 197 #define UUID_SERVCLASS_AV_REM_CTRL_TARGET 0X110C /* Audio/Video Control profile */ 198 #define UUID_SERVCLASS_ADV_AUDIO_DISTRIBUTION 0X110D /* Advanced Audio Distribution profile */ 199 #define UUID_SERVCLASS_AV_REMOTE_CONTROL 0X110E /* Audio/Video Control profile */ 200 #define UUID_SERVCLASS_AV_REM_CTRL_CONTROL 0X110F /* Audio/Video Control profile */ 201 #define UUID_SERVCLASS_INTERCOM 0X1110 202 #define UUID_SERVCLASS_FAX 0X1111 203 #define UUID_SERVCLASS_HEADSET_AUDIO_GATEWAY 0X1112 204 #define UUID_SERVCLASS_WAP 0X1113 205 #define UUID_SERVCLASS_WAP_CLIENT 0X1114 206 #define UUID_SERVCLASS_PANU 0X1115 /* PAN profile */ 207 #define UUID_SERVCLASS_NAP 0X1116 /* PAN profile */ 208 #define UUID_SERVCLASS_GN 0X1117 /* PAN profile */ 209 #define UUID_SERVCLASS_DIRECT_PRINTING 0X1118 /* BPP profile */ 210 #define UUID_SERVCLASS_REFERENCE_PRINTING 0X1119 /* BPP profile */ 211 #define UUID_SERVCLASS_IMAGING 0X111A /* Imaging profile */ 212 #define UUID_SERVCLASS_IMAGING_RESPONDER 0X111B /* Imaging profile */ 213 #define UUID_SERVCLASS_IMAGING_AUTO_ARCHIVE 0X111C /* Imaging profile */ 214 #define UUID_SERVCLASS_IMAGING_REF_OBJECTS 0X111D /* Imaging profile */ 215 #define UUID_SERVCLASS_HF_HANDSFREE 0X111E /* Handsfree profile */ 216 #define UUID_SERVCLASS_AG_HANDSFREE 0X111F /* Handsfree profile */ 217 #define UUID_SERVCLASS_DIR_PRT_REF_OBJ_SERVICE 0X1120 /* BPP profile */ 218 #define UUID_SERVCLASS_REFLECTED_UI 0X1121 /* BPP profile */ 219 #define UUID_SERVCLASS_BASIC_PRINTING 0X1122 /* BPP profile */ 220 #define UUID_SERVCLASS_PRINTING_STATUS 0X1123 /* BPP profile */ 221 #define UUID_SERVCLASS_HUMAN_INTERFACE 0X1124 /* HID profile */ 222 #define UUID_SERVCLASS_CABLE_REPLACEMENT 0X1125 /* HCRP profile */ 223 #define UUID_SERVCLASS_HCRP_PRINT 0X1126 /* HCRP profile */ 224 #define UUID_SERVCLASS_HCRP_SCAN 0X1127 /* HCRP profile */ 225 #define UUID_SERVCLASS_COMMON_ISDN_ACCESS 0X1128 /* CAPI Message Transport Protocol*/ 226 #define UUID_SERVCLASS_VIDEO_CONFERENCING_GW 0X1129 /* Video Conferencing profile */ 227 #define UUID_SERVCLASS_UDI_MT 0X112A /* Unrestricted Digital Information profile */ 228 #define UUID_SERVCLASS_UDI_TA 0X112B /* Unrestricted Digital Information profile */ 229 #define UUID_SERVCLASS_VCP 0X112C /* Video Conferencing profile */ 230 #define UUID_SERVCLASS_SAP 0X112D /* SIM Access profile */ 231 #define UUID_SERVCLASS_PBAP_PCE 0X112E /* Phonebook Access - PCE */ 232 #define UUID_SERVCLASS_PBAP_PSE 0X112F /* Phonebook Access - PSE */ 233 #define UUID_SERVCLASS_PHONE_ACCESS 0x1130 234 #define UUID_SERVCLASS_HEADSET_HS 0x1131 /* Headset - HS, from HSP v1.2 */ 235 #define UUID_SERVCLASS_PNP_INFORMATION 0X1200 /* Device Identification */ 236 #define UUID_SERVCLASS_GENERIC_NETWORKING 0X1201 237 #define UUID_SERVCLASS_GENERIC_FILETRANSFER 0X1202 238 #define UUID_SERVCLASS_GENERIC_AUDIO 0X1203 239 #define UUID_SERVCLASS_GENERIC_TELEPHONY 0X1204 240 #define UUID_SERVCLASS_UPNP_SERVICE 0X1205 /* UPNP_Service [ESDP] */ 241 #define UUID_SERVCLASS_UPNP_IP_SERVICE 0X1206 /* UPNP_IP_Service [ESDP] */ 242 #define UUID_SERVCLASS_ESDP_UPNP_IP_PAN 0X1300 /* UPNP_IP_PAN [ESDP] */ 243 #define UUID_SERVCLASS_ESDP_UPNP_IP_LAP 0X1301 /* UPNP_IP_LAP [ESDP] */ 244 #define UUID_SERVCLASS_ESDP_UPNP_IP_L2CAP 0X1302 /* UPNP_L2CAP [ESDP] */ 245 #define UUID_SERVCLASS_VIDEO_SOURCE 0X1303 /* Video Distribution Profile (VDP) */ 246 #define UUID_SERVCLASS_VIDEO_SINK 0X1304 /* Video Distribution Profile (VDP) */ 247 #define UUID_SERVCLASS_VIDEO_DISTRIBUTION 0X1305 /* Video Distribution Profile (VDP) */ 248 #define UUID_SERVCLASS_HDP_PROFILE 0X1400 /* Health Device profile (HDP) */ 249 #define UUID_SERVCLASS_HDP_SOURCE 0X1401 /* Health Device profile (HDP) */ 250 #define UUID_SERVCLASS_HDP_SINK 0X1402 /* Health Device profile (HDP) */ 251 #define UUID_SERVCLASS_MAP_PROFILE 0X1134 /* MAP profile UUID */ 252 #define UUID_SERVCLASS_MESSAGE_ACCESS 0X1132 /* Message Access Service UUID */ 253 #define UUID_SERVCLASS_MESSAGE_NOTIFICATION 0X1133 /* Message Notification Service UUID */ 254 255 #define UUID_SERVCLASS_GAP_SERVER 0x1800 256 #define UUID_SERVCLASS_GATT_SERVER 0x1801 257 #define UUID_SERVCLASS_IMMEDIATE_ALERT 0x1802 /* immediate alert */ 258 #define UUID_SERVCLASS_LINKLOSS 0x1803 /* Link Loss Alert */ 259 #define UUID_SERVCLASS_TX_POWER 0x1804 /* TX power */ 260 #define UUID_SERVCLASS_CURRENT_TIME 0x1805 /* Link Loss Alert */ 261 #define UUID_SERVCLASS_DST_CHG 0x1806 /* DST Time change */ 262 #define UUID_SERVCLASS_REF_TIME_UPD 0x1807 /* reference time update */ 263 #define UUID_SERVCLASS_THERMOMETER 0x1809 /* Thermometer UUID */ 264 #define UUID_SERVCLASS_DEVICE_INFO 0x180A /* device info service */ 265 #define UUID_SERVCLASS_NWA 0x180B /* Network availability */ 266 #define UUID_SERVCLASS_HEART_RATE 0x180D /* Heart Rate service */ 267 #define UUID_SERVCLASS_PHALERT 0x180E /* phone alert service */ 268 #define UUID_SERVCLASS_BATTERY 0x180F /* battery service */ 269 #define UUID_SERVCLASS_BPM 0x1810 /* blood pressure service */ 270 #define UUID_SERVCLASS_ALERT_NOTIFICATION 0x1811 /* alert notification service */ 271 #define UUID_SERVCLASS_LE_HID 0x1812 /* HID over LE */ 272 #define UUID_SERVCLASS_SCAN_PARAM 0x1813 /* Scan Parameter service */ 273 #define UUID_SERVCLASS_GLUCOSE 0x1808 /* Glucose Meter Service */ 274 #define UUID_SERVCLASS_RSC 0x1814 /* RUNNERS SPEED AND CADENCE SERVICE */ 275 #define UUID_SERVCLASS_CSC 0x1816 /* Cycling SPEED AND CADENCE SERVICE */ 276 277 #define UUID_SERVCLASS_TEST_SERVER 0x9000 /* Test Group UUID */ 278 279 #if (BTM_WBS_INCLUDED == TRUE) 280 #define UUID_CODEC_CVSD 0x0001 /* CVSD */ 281 #define UUID_CODEC_MSBC 0x0002 /* mSBC */ 282 #endif 283 284 /* Define all the 'Descriptor Type' values. 285 */ 286 #define NULL_DESC_TYPE 0 287 #define UINT_DESC_TYPE 1 288 #define TWO_COMP_INT_DESC_TYPE 2 289 #define UUID_DESC_TYPE 3 290 #define TEXT_STR_DESC_TYPE 4 291 #define BOOLEAN_DESC_TYPE 5 292 #define DATA_ELE_SEQ_DESC_TYPE 6 293 #define DATA_ELE_ALT_DESC_TYPE 7 294 #define URL_DESC_TYPE 8 295 296 /* Define all the "Descriptor Size" values. 297 */ 298 #define SIZE_ONE_BYTE 0 299 #define SIZE_TWO_BYTES 1 300 #define SIZE_FOUR_BYTES 2 301 #define SIZE_EIGHT_BYTES 3 302 #define SIZE_SIXTEEN_BYTES 4 303 #define SIZE_IN_NEXT_BYTE 5 304 #define SIZE_IN_NEXT_WORD 6 305 #define SIZE_IN_NEXT_LONG 7 306 307 /* Language Encoding Constants */ 308 #define LANG_ID_CODE_ENGLISH ((UINT16) 0x656e) /* "en" */ 309 #define LANG_ID_CHAR_ENCODE_UTF8 ((UINT16) 0x006a) /* UTF-8 */ 310 311 /* Constants used for display purposes only. These define ovelapping attribute values */ 312 #define ATTR_ID_VERS_OR_GRP_OR_DRELNUM_OR_IPSUB_OR_SPECID 0x0200 313 #define ATTR_ID_VEND_ID_OR_SERVICE_DB_STATE_OR_PARSE_VER 0x0201 314 #define ATTR_ID_PROD_ID_OR_HID_DEV_SUBCLASS 0x0202 315 #define ATTR_ID_PROD_VER_OR_HID_COUNTRY_CODE 0x0203 316 #define ATTR_ID_PRIMARY_REC_OR_HID_VIRTUAL_CABLE 0x0204 317 #define ATTR_ID_DI_VENDOR_ID_SOURCE_OR_HID_INIT_RECONNECT 0x0205 318 #define ATTR_ID_SERV_VERS_OR_1284ID 0x0300 319 #define ATTR_ID_DATA_STORES_OR_NETWORK 0x0301 320 #define ATTR_ID_FAX_1_OR_AUD_VOL_OR_DEV_NAME 0x0302 321 #define ATTR_ID_FORMATS_OR_FAX_2_0 0x0303 322 #define ATTR_ID_FAX_CLASS_2_OR_FRIENDLY_NAME 0x0304 323 #define ATTR_ID_NETADDRESS_OR_DEVLOCATION 0x0306 324 325 #endif 326