15738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
25738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *
35738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  Copyright (C) 1999-2012 Broadcom Corporation
45738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *
55738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  Licensed under the Apache License, Version 2.0 (the "License");
65738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  you may not use this file except in compliance with the License.
75738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  You may obtain a copy of the License at:
85738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *
95738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  http://www.apache.org/licenses/LICENSE-2.0
105738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *
115738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  Unless required by applicable law or agreed to in writing, software
125738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  distributed under the License is distributed on an "AS IS" BASIS,
135738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
145738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  See the License for the specific language governing permissions and
155738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  limitations under the License.
165738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *
175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project ******************************************************************************/
185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/******************************************************************************
205738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *
215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *  This file contains the definitions for the SDP API
225738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project *
235738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project ******************************************************************************/
245738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
255738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#ifndef SDP_DEFS_H
265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define SDP_DEFS_H
275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
285738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Define the service attribute IDs.
295738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
30911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_SERVICE_RECORD_HDL 0x0000
31911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_SERVICE_CLASS_ID_LIST 0x0001
32911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_SERVICE_RECORD_STATE 0x0002
33911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_SERVICE_ID 0x0003
34911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_PROTOCOL_DESC_LIST 0x0004
35911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_BROWSE_GROUP_LIST 0x0005
36911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_LANGUAGE_BASE_ATTR_ID_LIST 0x0006
37911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_SERVICE_INFO_TIME_TO_LIVE 0x0007
38911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_SERVICE_AVAILABILITY 0x0008
39911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_BT_PROFILE_DESC_LIST 0x0009
40911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_DOCUMENTATION_URL 0x000A
41911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_CLIENT_EXE_URL 0x000B
42911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_ICON_URL 0x000C
43911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_ADDITION_PROTO_DESC_LISTS 0x000D
445738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
45911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define LANGUAGE_BASE_ID 0x0100
46911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_SERVICE_NAME (LANGUAGE_BASE_ID + 0x0000)
47911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_SERVICE_DESCRIPTION (LANGUAGE_BASE_ID + 0x0001)
48911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_PROVIDER_NAME (LANGUAGE_BASE_ID + 0x0002)
495738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Device Identification (DI)
515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
52911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_SPECIFICATION_ID 0x0200
53911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_VENDOR_ID 0x0201
54911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_PRODUCT_ID 0x0202
55911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_PRODUCT_VERSION 0x0203
56911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_PRIMARY_RECORD 0x0204
57911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_VENDOR_ID_SOURCE 0x0205
585738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
59911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define BLUETOOTH_DI_SPECIFICATION 0x0103 /* 1.3 */
60911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define DI_VENDOR_ID_DEFAULT 0xFFFF
61911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define DI_VENDOR_ID_SOURCE_BTSIG 0x0001
62911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define DI_VENDOR_ID_SOURCE_USBIF 0x0002
635738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
64911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_IP_SUBNET 0x0200 /* PAN Profile (***) */
65911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_VERSION_NUMBER_LIST 0x0200
66911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_GOEP_L2CAP_PSM 0x0200
67911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_GROUP_ID 0x0200
68911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_SERVICE_DATABASE_STATE 0x0201
69911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_SERVICE_VERSION 0x0300
70911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_HCRP_1284ID 0x0300
715738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
72911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_SUPPORTED_DATA_STORES 0x0301
73911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_NETWORK 0x0301
74911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_EXTERNAL_NETWORK 0x0301
75911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_FAX_CLASS_1_SUPPORT 0x0302
76911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_REMOTE_AUDIO_VOLUME_CONTROL 0x0302
77911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_DEVICE_NAME 0x0302
78911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_SUPPORTED_FORMATS_LIST 0x0303
79911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_FAX_CLASS_2_0_SUPPORT 0x0303
80911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_FAX_CLASS_2_SUPPORT 0x0304
81911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_FRIENDLY_NAME 0x0304
82911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_AUDIO_FEEDBACK_SUPPORT 0x0305
83911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_NETWORK_ADDRESS 0x0306
84911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_DEVICE_LOCATION 0x0306
85911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_WAP_GATEWAY 0x0307
86911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_HOME_PAGE_URL 0x0308
87911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_WAP_STACK_TYPE 0x0309
88911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_IMG_SUPPORTED_CAPABILITIES 0x0310 /* Imaging Profile */
89911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_SUPPORTED_FEATURES 0x0311         /* HFP, BIP */
90911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_IMG_SUPPORTED_FUNCTIONS 0x0312    /* Imaging Profile */
91911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_IMG_TOT_DATA_CAPABILITY 0x0313    /* Imaging Profile */
92911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_SUPPORTED_REPOSITORIES 0x0314  /* Phone book access Profile */
93911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_MAS_INSTANCE_ID 0x0315         /* MAP profile */
94911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_SUPPORTED_MSG_TYPE 0x0316      /* MAP profile */
95911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_MAP_SUPPORTED_FEATURES 0x0317  /* MAP profile */
96911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_PBAP_SUPPORTED_FEATURES 0x0317 /* PBAP profile */
975738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
985738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* These values are for the BPP profile */
99911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_DOCUMENT_FORMATS_SUPPORTED 0x0350
1005738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define ATTR_ID_CHARACTER_REPERTOIRES_SUPPORTED 0x0352
101911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_XHTML_IMAGE_FORMATS_SUPPORTED 0x0354
102911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_COLOR_SUPPORTED 0x0356
103911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_1284ID 0x0358
104911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_PRINTER_NAME 0x035A
105911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_PRINTER_LOCATION 0x035C
106911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_DUPLEX_SUPPORTED 0x035E
107911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_MEDIA_TYPES_SUPPORTED 0x0360
108911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_MAX_MEDIA_WIDTH 0x0362
109911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_MAX_MEDIA_LENGTH 0x0364
110911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_ENHANCED_LAYOUT_SUPPORTED 0x0366
111911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_RUI_FORMATS_SUPPORTED 0x0368
112911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_RUI_REF_PRINTING_SUPPORTED 0x0370    /* Boolean */
113911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_RUI_DIRECT_PRINTING_SUPPORTED 0x0372 /* Boolean */
114911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_REF_PRINTING_TOP_URL 0x0374
115911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_DIRECT_PRINTING_TOP_URL 0x0376
116911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_PRINTER_ADMIN_RUI_TOP_URL 0x0378
117911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_BPP_DEVICE_NAME 0x037A
1185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1195738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* These values are for the PAN profile */
120911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_SECURITY_DESCRIPTION 0x030A
121911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_NET_ACCESS_TYPE 0x030B
122911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_MAX_NET_ACCESS_RATE 0x030C
123911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_IPV4_SUBNET 0x030D
124911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_IPV6_SUBNET 0x030E
125911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_PAN_SECURITY 0x0400
1265738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1275738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* These values are for HID profile */
128911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_HID_DEVICE_RELNUM 0x0200
129911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_HID_PARSER_VERSION 0x0201
130911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_HID_DEVICE_SUBCLASS 0x0202
131911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_HID_COUNTRY_CODE 0x0203
132911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_HID_VIRTUAL_CABLE 0x0204
133911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_HID_RECONNECT_INITIATE 0x0205
134911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_HID_DESCRIPTOR_LIST 0x0206
135911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_HID_LANGUAGE_ID_BASE 0x0207
136911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_HID_SDP_DISABLE 0x0208
137911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_HID_BATTERY_POWER 0x0209
138911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_HID_REMOTE_WAKE 0x020A
139911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_HID_PROFILE_VERSION 0x020B
140911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_HID_LINK_SUPERVISION_TO 0x020C
141911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_HID_NORMALLY_CONNECTABLE 0x020D
142911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_HID_BOOT_DEVICE 0x020E
143911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_HID_SSR_HOST_MAX_LAT 0x020F
144911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_HID_SSR_HOST_MIN_TOUT 0x0210
1455738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1465738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* These values are for the HDP profile */
147911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_HDP_SUP_FEAT_LIST 0x0200  /* Supported features list */
148911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_HDP_DATA_EXCH_SPEC 0x0301 /* Data exchange specification */
149911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_HDP_MCAP_SUP_PROC 0x0302  /* MCAP supported procedures */
1505738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1515738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Define common 16-bit protocol UUIDs
1525738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
153911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_PROTOCOL_SDP 0x0001
154911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_PROTOCOL_UDP 0x0002
155911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_PROTOCOL_RFCOMM 0x0003
156911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_PROTOCOL_TCP 0x0004
157911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_PROTOCOL_TCS_BIN 0x0005
158911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_PROTOCOL_TCS_AT 0x0006
159911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_PROTOCOL_OBEX 0x0008
160911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_PROTOCOL_IP 0x0009
161911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_PROTOCOL_FTP 0x000A
162911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_PROTOCOL_HTTP 0x000C
163911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_PROTOCOL_WSP 0x000E
164911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_PROTOCOL_BNEP 0x000F
165911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_PROTOCOL_UPNP 0x0010
166911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_PROTOCOL_HIDP 0x0011
167911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_PROTOCOL_HCRP_CTRL 0x0012
168911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_PROTOCOL_HCRP_DATA 0x0014
169911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_PROTOCOL_HCRP_NOTIF 0x0016
170911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_PROTOCOL_AVCTP 0x0017
171911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_PROTOCOL_AVDTP 0x0019
172911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_PROTOCOL_CMTP 0x001B
173911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_PROTOCOL_UDI 0x001D
174911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_PROTOCOL_MCAP_CTRL 0x001E
175911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_PROTOCOL_MCAP_DATA 0x001F
176911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_PROTOCOL_L2CAP 0x0100
177911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_PROTOCOL_ATT 0x0007
1785738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
1795738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Define common 16-bit service class UUIDs
1805738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
1815738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#define UUID_SERVCLASS_SERVICE_DISCOVERY_SERVER 0X1000
182911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_BROWSE_GROUP_DESCRIPTOR 0X1001
183911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_PUBLIC_BROWSE_GROUP 0X1002
184911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_SERIAL_PORT 0X1101
185911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_LAN_ACCESS_USING_PPP 0X1102
186911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_DIALUP_NETWORKING 0X1103
187911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_IRMC_SYNC 0X1104
188911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_OBEX_OBJECT_PUSH 0X1105
189911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_OBEX_FILE_TRANSFER 0X1106
190911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_IRMC_SYNC_COMMAND 0X1107
191911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_HEADSET 0X1108
192911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_CORDLESS_TELEPHONY 0X1109
193911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_AUDIO_SOURCE 0X110A
194911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_AUDIO_SINK 0X110B
1959ca07091a1f07ea201cee0504dab6a1d7073d429Myles Watson/* Audio/Video Control profile */
196911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_AV_REM_CTRL_TARGET 0X110C
1979ca07091a1f07ea201cee0504dab6a1d7073d429Myles Watson/* Advanced Audio Distribution profile */
198911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_ADV_AUDIO_DISTRIBUTION 0X110D
1999ca07091a1f07ea201cee0504dab6a1d7073d429Myles Watson/* Audio/Video Control profile */
200911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_AV_REMOTE_CONTROL 0X110E
2019ca07091a1f07ea201cee0504dab6a1d7073d429Myles Watson/* Audio/Video Control profile */
202911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_AV_REM_CTRL_CONTROL 0X110F
203911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_INTERCOM 0X1110
204911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_FAX 0X1111
205911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_HEADSET_AUDIO_GATEWAY 0X1112
206911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_WAP 0X1113
207911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_WAP_CLIENT 0X1114
208911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_PANU 0X1115                    /* PAN profile */
209911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_NAP 0X1116                     /* PAN profile */
210911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_GN 0X1117                      /* PAN profile */
211911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_DIRECT_PRINTING 0X1118         /* BPP profile */
212911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_REFERENCE_PRINTING 0X1119      /* BPP profile */
213911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_IMAGING 0X111A                 /* Imaging profile */
214911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_IMAGING_RESPONDER 0X111B       /* Imaging profile */
215911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_IMAGING_AUTO_ARCHIVE 0X111C    /* Imaging profile */
216911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_IMAGING_REF_OBJECTS 0X111D     /* Imaging profile */
217911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_HF_HANDSFREE 0X111E            /* Handsfree profile */
218911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_AG_HANDSFREE 0X111F            /* Handsfree profile */
219911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_DIR_PRT_REF_OBJ_SERVICE 0X1120 /* BPP profile */
220911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_REFLECTED_UI 0X1121            /* BPP profile */
221911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_BASIC_PRINTING 0X1122          /* BPP profile */
222911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_PRINTING_STATUS 0X1123         /* BPP profile */
223911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_HUMAN_INTERFACE 0X1124         /* HID profile */
224911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_CABLE_REPLACEMENT 0X1125       /* HCRP profile */
225911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_HCRP_PRINT 0X1126              /* HCRP profile */
226911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_HCRP_SCAN 0X1127               /* HCRP profile */
2279ca07091a1f07ea201cee0504dab6a1d7073d429Myles Watson/* CAPI Message Transport Protocol*/
228911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_COMMON_ISDN_ACCESS 0X1128
2299ca07091a1f07ea201cee0504dab6a1d7073d429Myles Watson/* Video Conferencing profile */
230911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_VIDEO_CONFERENCING_GW 0X1129
2319ca07091a1f07ea201cee0504dab6a1d7073d429Myles Watson/* Unrestricted Digital Information profile */
232911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_UDI_MT 0X112A
2339ca07091a1f07ea201cee0504dab6a1d7073d429Myles Watson/* Unrestricted Digital Information profile */
234911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_UDI_TA 0X112B
235911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_VCP 0X112C      /* Video Conferencing profile */
236911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_SAP 0X112D      /* SIM Access profile */
237911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_PBAP_PCE 0X112E /* Phonebook Access - PCE */
238911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_PBAP_PSE 0X112F /* Phonebook Access - PSE */
239911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_PHONE_ACCESS 0x1130
240911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_HEADSET_HS 0x1131      /* Headset - HS, from HSP v1.2 */
241911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_PNP_INFORMATION 0X1200 /* Device Identification */
242911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_GENERIC_NETWORKING 0X1201
243911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_GENERIC_FILETRANSFER 0X1202
244911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_GENERIC_AUDIO 0X1203
245911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_GENERIC_TELEPHONY 0X1204
246911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_UPNP_SERVICE 0X1205       /* UPNP_Service [ESDP] */
247911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_UPNP_IP_SERVICE 0X1206    /* UPNP_IP_Service [ESDP] */
248911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_ESDP_UPNP_IP_PAN 0X1300   /* UPNP_IP_PAN [ESDP] */
249911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_ESDP_UPNP_IP_LAP 0X1301   /* UPNP_IP_LAP [ESDP] */
250911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_ESDP_UPNP_IP_L2CAP 0X1302 /* UPNP_L2CAP [ESDP] */
2519ca07091a1f07ea201cee0504dab6a1d7073d429Myles Watson
2529ca07091a1f07ea201cee0504dab6a1d7073d429Myles Watson/* Video Distribution Profile (VDP) */
253911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_VIDEO_SOURCE 0X1303
254911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_VIDEO_SINK 0X1304
255911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_VIDEO_DISTRIBUTION 0X1305
2569ca07091a1f07ea201cee0504dab6a1d7073d429Myles Watson
257911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_HDP_PROFILE 0X1400    /* Health Device profile (HDP) */
258911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_HDP_SOURCE 0X1401     /* Health Device profile (HDP) */
259911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_HDP_SINK 0X1402       /* Health Device profile (HDP) */
260911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_MAP_PROFILE 0X1134    /* MAP profile */
261911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_MESSAGE_ACCESS 0X1132 /* Message Access Service */
262911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_MESSAGE_NOTIFICATION \
263911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson  0X1133 /* Message Notification Service */
2645738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
265911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_GAP_SERVER 0x1800
266911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_GATT_SERVER 0x1801
267911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_IMMEDIATE_ALERT 0x1802 /* immediate alert */
268911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_LINKLOSS 0x1803        /* Link Loss Alert */
269911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_TX_POWER 0x1804        /* TX power */
270911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_CURRENT_TIME 0x1805    /* Link Loss Alert */
271911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_DST_CHG 0x1806         /* DST Time change */
272911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_REF_TIME_UPD 0x1807    /* reference time update */
273911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_THERMOMETER 0x1809     /* Thermometer UUID */
274911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_DEVICE_INFO 0x180A     /* device info service */
275911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_NWA 0x180B             /* Network availability */
276911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_HEART_RATE 0x180D      /* Heart Rate service */
277911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_PHALERT 0x180E         /* phone alert service */
278911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_BATTERY 0x180F         /* battery service */
279911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_BPM 0x1810             /*  blood pressure service */
280911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_ALERT_NOTIFICATION 0x1811
281911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_LE_HID 0x1812     /*  HID over LE */
282911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_SCAN_PARAM 0x1813 /* Scan Parameter service */
283911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_GLUCOSE 0x1808    /* Glucose Meter Service */
284911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_RSC 0x1814 /* RUNNERS SPEED AND CADENCE SERVICE      */
285911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_CSC 0x1816 /* Cycling SPEED AND CADENCE SERVICE      */
286ead3cde4bac0c3e32cd31f149093f004eef8ceebGanesh Ganapathi Batta
287911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_SERVCLASS_TEST_SERVER 0x9000 /* Test Group UUID */
2885738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
289911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_CODEC_CVSD 0x0001 /* CVSD */
290911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_CODEC_MSBC 0x0002 /* mSBC */
2915738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
292911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_HF_IND_ENHANCED_DRIVER_SAFETY 0x0001 /* Enhanced Safety */
293911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_HF_IND_BATTERY_LEVEL_STATUS 0x0002   /* Battery Status */
2944de9bbcde79eb98dbfd56de292902549ac3e2bc1Mudumba Ananth
2955738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Define all the 'Descriptor Type' values.
2965738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
297911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define NULL_DESC_TYPE 0
298911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UINT_DESC_TYPE 1
299911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define TWO_COMP_INT_DESC_TYPE 2
300911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define UUID_DESC_TYPE 3
301911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define TEXT_STR_DESC_TYPE 4
302911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define BOOLEAN_DESC_TYPE 5
303911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define DATA_ELE_SEQ_DESC_TYPE 6
304911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define DATA_ELE_ALT_DESC_TYPE 7
305911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define URL_DESC_TYPE 8
3065738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3075738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Define all the "Descriptor Size" values.
3085738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project*/
309911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define SIZE_ONE_BYTE 0
310911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define SIZE_TWO_BYTES 1
311911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define SIZE_FOUR_BYTES 2
312911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define SIZE_EIGHT_BYTES 3
313911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define SIZE_SIXTEEN_BYTES 4
314911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define SIZE_IN_NEXT_BYTE 5
315911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define SIZE_IN_NEXT_WORD 6
316911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define SIZE_IN_NEXT_LONG 7
3175738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3185738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project/* Language Encoding Constants */
319911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define LANG_ID_CODE_ENGLISH ((uint16_t)0x656e)     /* "en" */
320911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define LANG_ID_CHAR_ENCODE_UTF8 ((uint16_t)0x006a) /* UTF-8 */
3215738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3229ca07091a1f07ea201cee0504dab6a1d7073d429Myles Watson/* Constants used for display purposes only.  These define overlapping attribute
3239ca07091a1f07ea201cee0504dab6a1d7073d429Myles Watson * values */
324911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_VERS_OR_GRP_OR_DRELNUM_OR_IPSUB_OR_SPECID 0x0200
325911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_VEND_ID_OR_SERVICE_DB_STATE_OR_PARSE_VER 0x0201
326911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_PROD_ID_OR_HID_DEV_SUBCLASS 0x0202
327911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_PROD_VER_OR_HID_COUNTRY_CODE 0x0203
328911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_PRIMARY_REC_OR_HID_VIRTUAL_CABLE 0x0204
329911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_DI_VENDOR_ID_SOURCE_OR_HID_INIT_RECONNECT 0x0205
330911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_SERV_VERS_OR_1284ID 0x0300
331911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_DATA_STORES_OR_NETWORK 0x0301
332911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_FAX_1_OR_AUD_VOL_OR_DEV_NAME 0x0302
333911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_FORMATS_OR_FAX_2_0 0x0303
334911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_FAX_CLASS_2_OR_FRIENDLY_NAME 0x0304
335911d1ae03efec2d54c3b1b605589d790d1745488Myles Watson#define ATTR_ID_NETADDRESS_OR_DEVLOCATION 0x0306
3365738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project
3375738f83aeb59361a0a2eda2460113f6dc919427The Android Open Source Project#endif
338