• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /******************************************************************************
2  *
3  *  Copyright 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 #include <cstdint>
29 /* Define the service attribute IDs.
30 */
31 #define ATTR_ID_SERVICE_RECORD_HDL 0x0000
32 #define ATTR_ID_SERVICE_CLASS_ID_LIST 0x0001
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_BT_PROFILE_DESC_LIST 0x0009
38 #define ATTR_ID_DOCUMENTATION_URL 0x000A
39 #define ATTR_ID_CLIENT_EXE_URL 0x000B
40 #define ATTR_ID_ADDITION_PROTO_DESC_LISTS 0x000D
41 
42 #define LANGUAGE_BASE_ID 0x0100
43 #define ATTR_ID_SERVICE_NAME (LANGUAGE_BASE_ID + 0x0000)
44 #define ATTR_ID_SERVICE_DESCRIPTION (LANGUAGE_BASE_ID + 0x0001)
45 #define ATTR_ID_PROVIDER_NAME (LANGUAGE_BASE_ID + 0x0002)
46 
47 /* Device Identification (DI)
48 */
49 #define ATTR_ID_SPECIFICATION_ID 0x0200
50 #define ATTR_ID_VENDOR_ID 0x0201
51 #define ATTR_ID_PRODUCT_ID 0x0202
52 #define ATTR_ID_PRODUCT_VERSION 0x0203
53 #define ATTR_ID_PRIMARY_RECORD 0x0204
54 #define ATTR_ID_VENDOR_ID_SOURCE 0x0205
55 
56 #define BLUETOOTH_DI_SPECIFICATION 0x0103 /* 1.3 */
57 #define DI_VENDOR_ID_SOURCE_BTSIG 0x0001
58 #define DI_VENDOR_ID_SOURCE_USBIF 0x0002
59 
60 #define ATTR_ID_GOEP_L2CAP_PSM 0x0200
61 
62 #define ATTR_ID_NETWORK 0x0301
63 #define ATTR_ID_FAX_CLASS_1_SUPPORT 0x0302
64 #define ATTR_ID_REMOTE_AUDIO_VOLUME_CONTROL 0x0302
65 #define ATTR_ID_SUPPORTED_FORMATS_LIST 0x0303
66 #define ATTR_ID_SUPPORTED_FEATURES 0x0311         /* HFP, BIP */
67 #define ATTR_ID_SUPPORTED_REPOSITORIES 0x0314  /* Phone book access Profile */
68 #define ATTR_ID_MAS_INSTANCE_ID 0x0315         /* MAP profile */
69 #define ATTR_ID_SUPPORTED_MSG_TYPE 0x0316      /* MAP profile */
70 #define ATTR_ID_MAP_SUPPORTED_FEATURES 0x0317  /* MAP profile */
71 #define ATTR_ID_PBAP_SUPPORTED_FEATURES 0x0317 /* PBAP profile */
72 
73 /* These values are for the MPS (Multi-Profile Specification) */
74 #define ATTR_ID_MPS_SUPPORTED_SCENARIOS_MPSD 0x0200
75 #define ATTR_ID_MPS_SUPPORTED_SCENARIOS_MPMD 0x0201
76 #define ATTR_ID_MPS_SUPPORTED_DEPENDENCIES 0x0202
77 
78 /* These values are for the PAN profile */
79 #define ATTR_ID_SECURITY_DESCRIPTION 0x030A
80 #define ATTR_ID_NET_ACCESS_TYPE 0x030B
81 #define ATTR_ID_MAX_NET_ACCESS_RATE 0x030C
82 
83 /* These values are for HID profile */
84 #define ATTR_ID_HID_DEVICE_RELNUM 0x0200
85 #define ATTR_ID_HID_PARSER_VERSION 0x0201
86 #define ATTR_ID_HID_DEVICE_SUBCLASS 0x0202
87 #define ATTR_ID_HID_COUNTRY_CODE 0x0203
88 #define ATTR_ID_HID_VIRTUAL_CABLE 0x0204
89 #define ATTR_ID_HID_RECONNECT_INITIATE 0x0205
90 #define ATTR_ID_HID_DESCRIPTOR_LIST 0x0206
91 #define ATTR_ID_HID_LANGUAGE_ID_BASE 0x0207
92 #define ATTR_ID_HID_SDP_DISABLE 0x0208
93 #define ATTR_ID_HID_BATTERY_POWER 0x0209
94 #define ATTR_ID_HID_REMOTE_WAKE 0x020A
95 #define ATTR_ID_HID_PROFILE_VERSION 0x020B
96 #define ATTR_ID_HID_LINK_SUPERVISION_TO 0x020C
97 #define ATTR_ID_HID_NORMALLY_CONNECTABLE 0x020D
98 #define ATTR_ID_HID_BOOT_DEVICE 0x020E
99 #define ATTR_ID_HID_SSR_HOST_MAX_LAT 0x020F
100 #define ATTR_ID_HID_SSR_HOST_MIN_TOUT 0x0210
101 
102 /* Define common 16-bit protocol UUIDs
103 */
104 #define UUID_PROTOCOL_RFCOMM 0x0003
105 #define UUID_PROTOCOL_OBEX 0x0008
106 #define UUID_PROTOCOL_BNEP 0x000F
107 #define UUID_PROTOCOL_HIDP 0x0011
108 #define UUID_PROTOCOL_AVCTP 0x0017
109 #define UUID_PROTOCOL_AVDTP 0x0019
110 #define UUID_PROTOCOL_L2CAP 0x0100
111 #define UUID_PROTOCOL_ATT 0x0007
112 
113 /* Define common 16-bit service class UUIDs
114 */
115 #define UUID_SERVCLASS_SERVICE_DISCOVERY_SERVER 0X1000
116 #define UUID_SERVCLASS_BROWSE_GROUP_DESCRIPTOR 0X1001
117 #define UUID_SERVCLASS_PUBLIC_BROWSE_GROUP 0X1002
118 #define UUID_SERVCLASS_SERIAL_PORT 0X1101
119 #define UUID_SERVCLASS_LAN_ACCESS_USING_PPP 0X1102
120 #define UUID_SERVCLASS_DIALUP_NETWORKING 0X1103
121 #define UUID_SERVCLASS_IRMC_SYNC 0X1104
122 #define UUID_SERVCLASS_OBEX_OBJECT_PUSH 0X1105
123 #define UUID_SERVCLASS_OBEX_FILE_TRANSFER 0X1106
124 #define UUID_SERVCLASS_IRMC_SYNC_COMMAND 0X1107
125 #define UUID_SERVCLASS_HEADSET 0X1108
126 #define UUID_SERVCLASS_CORDLESS_TELEPHONY 0X1109
127 #define UUID_SERVCLASS_AUDIO_SOURCE 0X110A
128 #define UUID_SERVCLASS_AUDIO_SINK 0X110B
129 /* Audio/Video Control profile */
130 #define UUID_SERVCLASS_AV_REM_CTRL_TARGET 0X110C
131 /* Advanced Audio Distribution profile */
132 #define UUID_SERVCLASS_ADV_AUDIO_DISTRIBUTION 0X110D
133 /* Audio/Video Control profile */
134 #define UUID_SERVCLASS_AV_REMOTE_CONTROL 0X110E
135 /* Audio/Video Control profile */
136 #define UUID_SERVCLASS_AV_REM_CTRL_CONTROL 0X110F
137 #define UUID_SERVCLASS_INTERCOM 0X1110
138 #define UUID_SERVCLASS_FAX 0X1111
139 #define UUID_SERVCLASS_HEADSET_AUDIO_GATEWAY 0X1112
140 #define UUID_SERVCLASS_WAP 0X1113
141 #define UUID_SERVCLASS_WAP_CLIENT 0X1114
142 #define UUID_SERVCLASS_PANU 0X1115                    /* PAN profile */
143 #define UUID_SERVCLASS_NAP 0X1116                     /* PAN profile */
144 #define UUID_SERVCLASS_GN 0X1117                      /* PAN profile */
145 #define UUID_SERVCLASS_DIRECT_PRINTING 0X1118         /* BPP profile */
146 #define UUID_SERVCLASS_REFERENCE_PRINTING 0X1119      /* BPP profile */
147 #define UUID_SERVCLASS_IMAGING 0X111A                 /* Imaging profile */
148 #define UUID_SERVCLASS_IMAGING_RESPONDER 0X111B       /* Imaging profile */
149 #define UUID_SERVCLASS_IMAGING_AUTO_ARCHIVE 0X111C    /* Imaging profile */
150 #define UUID_SERVCLASS_IMAGING_REF_OBJECTS 0X111D     /* Imaging profile */
151 #define UUID_SERVCLASS_HF_HANDSFREE 0X111E            /* Handsfree profile */
152 #define UUID_SERVCLASS_AG_HANDSFREE 0X111F            /* Handsfree profile */
153 #define UUID_SERVCLASS_DIR_PRT_REF_OBJ_SERVICE 0X1120 /* BPP profile */
154 #define UUID_SERVCLASS_REFLECTED_UI 0X1121            /* BPP profile */
155 #define UUID_SERVCLASS_BASIC_PRINTING 0X1122          /* BPP profile */
156 #define UUID_SERVCLASS_PRINTING_STATUS 0X1123         /* BPP profile */
157 #define UUID_SERVCLASS_HUMAN_INTERFACE 0X1124         /* HID profile */
158 #define UUID_SERVCLASS_CABLE_REPLACEMENT 0X1125       /* HCRP profile */
159 #define UUID_SERVCLASS_HCRP_PRINT 0X1126              /* HCRP profile */
160 #define UUID_SERVCLASS_HCRP_SCAN 0X1127               /* HCRP profile */
161 /* CAPI Message Transport Protocol*/
162 #define UUID_SERVCLASS_COMMON_ISDN_ACCESS 0X1128
163 /* Video Conferencing profile */
164 #define UUID_SERVCLASS_VIDEO_CONFERENCING_GW 0X1129
165 /* Unrestricted Digital Information profile */
166 #define UUID_SERVCLASS_UDI_MT 0X112A
167 /* Unrestricted Digital Information profile */
168 #define UUID_SERVCLASS_UDI_TA 0X112B
169 #define UUID_SERVCLASS_VCP 0X112C      /* Video Conferencing profile */
170 #define UUID_SERVCLASS_SAP 0X112D      /* SIM Access profile */
171 #define UUID_SERVCLASS_PBAP_PCE 0X112E /* Phonebook Access - PCE */
172 #define UUID_SERVCLASS_PBAP_PSE 0X112F /* Phonebook Access - PSE */
173 #define UUID_SERVCLASS_PHONE_ACCESS 0x1130
174 #define UUID_SERVCLASS_HEADSET_HS 0x1131      /* Headset - HS, from HSP v1.2 */
175 #define UUID_SERVCLASS_MPS_PROFILE \
176   0x113A /* Multi-Profile Specification - Profile */
177 #define UUID_SERVCLASS_MPS_SC \
178   0x113B /* Multi-Profile Specification - Service Class */
179 #define UUID_SERVCLASS_PNP_INFORMATION 0X1200 /* Device Identification */
180 #define UUID_SERVCLASS_GENERIC_NETWORKING 0X1201
181 #define UUID_SERVCLASS_GENERIC_FILETRANSFER 0X1202
182 #define UUID_SERVCLASS_GENERIC_AUDIO 0X1203
183 #define UUID_SERVCLASS_GENERIC_TELEPHONY 0X1204
184 #define UUID_SERVCLASS_UPNP_SERVICE 0X1205       /* UPNP_Service [ESDP] */
185 #define UUID_SERVCLASS_UPNP_IP_SERVICE 0X1206    /* UPNP_IP_Service [ESDP] */
186 #define UUID_SERVCLASS_ESDP_UPNP_IP_PAN 0X1300   /* UPNP_IP_PAN [ESDP] */
187 #define UUID_SERVCLASS_ESDP_UPNP_IP_LAP 0X1301   /* UPNP_IP_LAP [ESDP] */
188 #define UUID_SERVCLASS_ESDP_UPNP_IP_L2CAP 0X1302 /* UPNP_L2CAP [ESDP] */
189 
190 /* Video Distribution Profile (VDP) */
191 #define UUID_SERVCLASS_VIDEO_SOURCE 0X1303
192 #define UUID_SERVCLASS_VIDEO_SINK 0X1304
193 #define UUID_SERVCLASS_VIDEO_DISTRIBUTION 0X1305
194 
195 #define UUID_SERVCLASS_HDP_PROFILE 0X1400    /* Health Device profile (HDP) */
196 #define UUID_SERVCLASS_HDP_SOURCE 0X1401     /* Health Device profile (HDP) */
197 #define UUID_SERVCLASS_HDP_SINK 0X1402       /* Health Device profile (HDP) */
198 #define UUID_SERVCLASS_MAP_PROFILE 0X1134    /* MAP profile */
199 #define UUID_SERVCLASS_MESSAGE_ACCESS 0X1132 /* Message Access Service */
200 #define UUID_SERVCLASS_MESSAGE_NOTIFICATION \
201   0X1133 /* Message Notification Service */
202 
203 #define UUID_SERVCLASS_GAP_SERVER 0x1800
204 #define UUID_SERVCLASS_GATT_SERVER 0x1801
205 #define UUID_SERVCLASS_DEVICE_INFO 0x180A     /* device info service */
206 #define UUID_SERVCLASS_LE_HID 0x1812     /*  HID over LE */
207 #define UUID_SERVCLASS_SCAN_PARAM 0x1813 /* Scan Parameter service */
208 
209 #define UUID_SERVCLASS_GMCS_SERVER 0x1849 /* Generic Media Control Service */
210 #define UUID_SERVCLASS_GTBS_SERVER 0x184c /* Generic Telephony Bearer Service*/
211 #define UUID_SERVCLASS_TMAS_SERVER \
212   0x1855 /* Telephone and Media Audio Service */
213 
214 #define UUID_CODEC_CVSD 0x0001 /* CVSD */
215 #define UUID_CODEC_MSBC 0x0002 /* mSBC */
216 #define UUID_CODEC_LC3 0x0003  /* LC3 */
217 
218 /* Define all the 'Descriptor Type' values.
219 */
220 #define UINT_DESC_TYPE 1
221 #define TWO_COMP_INT_DESC_TYPE 2
222 #define UUID_DESC_TYPE 3
223 #define TEXT_STR_DESC_TYPE 4
224 #define BOOLEAN_DESC_TYPE 5
225 #define DATA_ELE_SEQ_DESC_TYPE 6
226 #define DATA_ELE_ALT_DESC_TYPE 7
227 #define URL_DESC_TYPE 8
228 
229 /* Define all the "Descriptor Size" values.
230 */
231 #define SIZE_ONE_BYTE 0
232 #define SIZE_TWO_BYTES 1
233 #define SIZE_FOUR_BYTES 2
234 #define SIZE_EIGHT_BYTES 3
235 #define SIZE_SIXTEEN_BYTES 4
236 #define SIZE_IN_NEXT_BYTE 5
237 #define SIZE_IN_NEXT_WORD 6
238 #define SIZE_IN_NEXT_LONG 7
239 
240 /* Language Encoding Constants */
241 #define LANG_ID_CODE_ENGLISH ((uint16_t)0x656e)     /* "en" */
242 #define LANG_ID_CHAR_ENCODE_UTF8 ((uint16_t)0x006a) /* UTF-8 */
243 
244 /* Constants used for display purposes only.  These define overlapping attribute
245  * values */
246 #define ATTR_ID_DATA_STORES_OR_NETWORK 0x0301
247 
248 #endif
249