bluetooth_sdp: add Browse Group Identifiers

This commit is contained in:
Matthias Ringwald 2017-03-26 21:57:06 +02:00
parent a224d682a3
commit 46b212911c
2 changed files with 93 additions and 92 deletions

View File

@ -117,95 +117,96 @@
/**
* Attributes
*/
#define BLUETOOTH_ATTRIBUTE_SUPPORTED_FEATURES 0x0311
#define BLUETOOTH_ATTRIBUTE_GOEP_L2CAP_PSM 0x0200
#define BLUETOOTH_ATTRIBUTE_SUPPORTED_CAPABILITIES 0x0310
#define BLUETOOTH_ATTRIBUTE_SUPPORTED_FUNCTIONS 0x0312
#define BLUETOOTH_ATTRIBUTE_TOTAL_IMAGING_DATA_CAPACITY 0x0313
#define BLUETOOTH_ATTRIBUTE_DOCUMENT_FORMATS_SUPPORTED 0x0350
#define BLUETOOTH_ATTRIBUTE_CHARACTER_REPERTOIRES_SUPPORTED 0x0352
#define BLUETOOTH_ATTRIBUTE_XHTML_PRINT_IMAGE_FORMATS_SUPPORTED 0x0354
#define BLUETOOTH_ATTRIBUTE_COLOR_SUPPORTED 0x0356
#define BLUETOOTH_ATTRIBUTE_1284_ID 0x0358
#define BLUETOOTH_ATTRIBUTE_PRINTER_NAME 0x035A
#define BLUETOOTH_ATTRIBUTE_PRINTER_LOCATION 0x035C
#define BLUETOOTH_ATTRIBUTE_DUPLEX_SUPPORTED 0x035E
#define BLUETOOTH_ATTRIBUTE_MEDIA_TYPES_SUPPORTED 0x0360
#define BLUETOOTH_ATTRIBUTE_MAX_MEDIA_WIDTH 0x0362
#define BLUETOOTH_ATTRIBUTE_MAX_MEDIA_LENGTH 0x0364
#define BLUETOOTH_ATTRIBUTE_ENHANCED_LAYOUT_SUPPORTED 0x0366
#define BLUETOOTH_ATTRIBUTE_RUI_FORMATS_SUPPORTED 0x0368
#define BLUETOOTH_ATTRIBUTE_REFERENCE_PRINTING_RUI_SUPPORTED 0x0370
#define BLUETOOTH_ATTRIBUTE_DIRECT_PRINTING_RUI_SUPPORTED 0x0372
#define BLUETOOTH_ATTRIBUTE_REFERENCE_PRINTING_TOP_URL 0x0374
#define BLUETOOTH_ATTRIBUTE_DIRECT_PRINTING_TOP_URL 0x0376
#define BLUETOOTH_ATTRIBUTE_PRINTER_ADMIN_RUI_TOP_URL 0x0378
#define BLUETOOTH_ATTRIBUTE_DEVICE_NAME 0x037A
#define BLUETOOTH_ATTRIBUTE_SERVICE_RECORD_HANDLE 0x0000
#define BLUETOOTH_ATTRIBUTE_SERVICE_CLASS_ID_LIST 0x0001
#define BLUETOOTH_ATTRIBUTE_SERVICE_RECORD_STATE 0x0002
#define BLUETOOTH_ATTRIBUTE_SERVICE_ID 0x0003
#define BLUETOOTH_ATTRIBUTE_PROTOCOL_DESCRIPTOR_LIST 0x0004
#define BLUETOOTH_ATTRIBUTE_BROWSE_GROUP_LIST 0x0005
#define BLUETOOTH_ATTRIBUTE_LANGUAGE_BASE_ATTRIBUTE_ID_LIST 0x0006
#define BLUETOOTH_ATTRIBUTE_SERVICE_INFO_TIME_TO_LIVE 0x0007
#define BLUETOOTH_ATTRIBUTE_SERVICE_AVAILABILITY 0x0008
#define BLUETOOTH_ATTRIBUTE_BLUETOOTH_PROFILE_DESCRIPTOR_LIST 0x0009
#define BLUETOOTH_ATTRIBUTE_DOCUMENTATION_URL 0x000A
#define BLUETOOTH_ATTRIBUTE_CLIENT_EXECUTABLE_URL 0x000B
#define BLUETOOTH_ATTRIBUTE_ICON_URL 0x000C
#define BLUETOOTH_ATTRIBUTE_ADDITIONAL_PROTOCOL_DESCRIPTOR_LISTS 0x000D
#define BLUETOOTH_ATTRIBUTE_VERSION_NUMBER_LIST 0x0200
#define BLUETOOTH_ATTRIBUTE_SERVICE_DATABASE_STATE 0x0201
#define BLUETOOTH_ATTRIBUTE_SPECIFICATION_ID 0x0200
#define BLUETOOTH_ATTRIBUTE_VENDOR_ID 0x0201
#define BLUETOOTH_ATTRIBUTE_PRODUCT_ID 0x0202
#define BLUETOOTH_ATTRIBUTE_VERSION 0x0203
#define BLUETOOTH_ATTRIBUTE_PRIMARY_RECORD 0x0204
#define BLUETOOTH_ATTRIBUTE_VENDOR_ID_SOURCE 0x0205
#define BLUETOOTH_ATTRIBUTE_NETWORK 0x0301
#define BLUETOOTH_ATTRIBUTE_FRIENDLY_NAME 0x0304
#define BLUETOOTH_ATTRIBUTE_DEVICE_LOCATION 0x0306
#define BLUETOOTH_ATTRIBUTE_REMOTE_AUDIO_VOLUME_CONTROL 0x0302
#define BLUETOOTH_ATTRIBUTE_SUPPORT_FEATURES_LIST 0x0200
#define BLUETOOTH_ATTRIBUTE_DATA_EXCHANGE_SPECIFICATION 0x0301
#define BLUETOOTH_ATTRIBUTE_MCAP_SUPPORTED_PROCEDURES 0x0302
#define BLUETOOTH_ATTRIBUTE_HID_DEVICE_RELEASE_NUMBER 0x0200
#define BLUETOOTH_ATTRIBUTE_HID_PARSER_VERSION 0x0201
#define BLUETOOTH_ATTRIBUTE_HID_DEVICE_SUBCLASS 0x0202
#define BLUETOOTH_ATTRIBUTE_HID_COUNTRY_CODE 0x0203
#define BLUETOOTH_ATTRIBUTE_HID_VIRTUAL_CABLE 0x0204
#define BLUETOOTH_ATTRIBUTE_HID_RECONNECT_INITIATE 0x0205
#define BLUETOOTH_ATTRIBUTE_HID_DESCRIPTOR_LIST 0x0206
#define BLUETOOTH_ATTRIBUTE_HIDLANGID_BASE_LIST 0x0207
#define BLUETOOTH_ATTRIBUTE_HIDSDP_DISABLE 0x0208
#define BLUETOOTH_ATTRIBUTE_HID_BATTERY_POWER 0x0209
#define BLUETOOTH_ATTRIBUTE_HID_REMOTE_WAKE 0x020A
#define BLUETOOTH_ATTRIBUTE_HID_PROFILE_VERSION 0x020B
#define BLUETOOTH_ATTRIBUTE_HID_SUPERVISION_TIMEOUT 0x020C
#define BLUETOOTH_ATTRIBUTE_HID_NORMALLY_CONNECTABLE 0x020D
#define BLUETOOTH_ATTRIBUTE_HID_BOOT_DEVICE 0x020E
#define BLUETOOTH_ATTRIBUTE_HIDSSR_HOST_MAX_LATENCY 0x020F
#define BLUETOOTH_ATTRIBUTE_HIDSSR_HOST_MIN_TIMEOUT 0x0210
#define BLUETOOTH_ATTRIBUTE_MAS_INSTANCE_ID 0x0315
#define BLUETOOTH_ATTRIBUTE_SUPPORTED_MESSAGE_TYPES 0x0316
#define BLUETOOTH_ATTRIBUTE_MAP_SUPPORTED_FEATURES 0x0317
#define BLUETOOTH_ATTRIBUTE_SERVICE_VERSION 0x0300
#define BLUETOOTH_ATTRIBUTE_SUPPORTED_FORMATS_LIST 0x0303
#define BLUETOOTH_ATTRIBUTE_IP_SUBNET 0x0200
#define BLUETOOTH_ATTRIBUTE_SECURITY_DESCRIPTION 0x030A
#define BLUETOOTH_ATTRIBUTE_NET_ACCESS_TYPE 0x030B
#define BLUETOOTH_ATTRIBUTE_MAX_NET_ACCESSRATE 0x030C
#define BLUETOOTH_ATTRIBUTE_IPV4_SUBNET 0x030D
#define BLUETOOTH_ATTRIBUTE_IPV6_SUBNET 0x030E
#define BLUETOOTH_ATTRIBUTE_SUPPORTED_REPOSITORIES 0x0314
#define BLUETOOTH_ATTRIBUTE_PBAP_SUPPORTED_FEATURES 0x0317
#define BLUETOOTH_ATTRIBUTE_SUPPORTED_DATA_STORES_LIST 0x0301
#define BLUETOOTH_ATTRIBUTE_MPSD_SCENARIOS 0x0200
#define BLUETOOTH_ATTRIBUTE_MPMD_SCENARIOS 0x0201
#define BLUETOOTH_ATTRIBUTE_SUPPORTED_PROFILES_AND_PROTOCOLS 0x0202
#define BLUETOOTH_ATTRIBUTE_CAS_INSTANCE_ID 0x0315
#define BLUETOOTH_ATTRIBUTE_CTN_SUPPORTED_FEATURES 0x0317
#define BLUETOOTH_ATTRIBUTE_PUBLIC_BROWSE_ROOT 0x1002 // Bluetooth Core Specification
#define BLUETOOTH_ATTRIBUTE_SUPPORTED_FEATURES 0x0311 //
#define BLUETOOTH_ATTRIBUTE_GOEP_L2CAP_PSM 0x0200 //
#define BLUETOOTH_ATTRIBUTE_SUPPORTED_CAPABILITIES 0x0310 //
#define BLUETOOTH_ATTRIBUTE_SUPPORTED_FUNCTIONS 0x0312 //
#define BLUETOOTH_ATTRIBUTE_TOTAL_IMAGING_DATA_CAPACITY 0x0313 //
#define BLUETOOTH_ATTRIBUTE_DOCUMENT_FORMATS_SUPPORTED 0x0350 //
#define BLUETOOTH_ATTRIBUTE_CHARACTER_REPERTOIRES_SUPPORTED 0x0352 //
#define BLUETOOTH_ATTRIBUTE_XHTML_PRINT_IMAGE_FORMATS_SUPPORTED 0x0354 //
#define BLUETOOTH_ATTRIBUTE_COLOR_SUPPORTED 0x0356 //
#define BLUETOOTH_ATTRIBUTE_1284_ID 0x0358 //
#define BLUETOOTH_ATTRIBUTE_PRINTER_NAME 0x035A //
#define BLUETOOTH_ATTRIBUTE_PRINTER_LOCATION 0x035C //
#define BLUETOOTH_ATTRIBUTE_DUPLEX_SUPPORTED 0x035E //
#define BLUETOOTH_ATTRIBUTE_MEDIA_TYPES_SUPPORTED 0x0360 //
#define BLUETOOTH_ATTRIBUTE_MAX_MEDIA_WIDTH 0x0362 //
#define BLUETOOTH_ATTRIBUTE_MAX_MEDIA_LENGTH 0x0364 //
#define BLUETOOTH_ATTRIBUTE_ENHANCED_LAYOUT_SUPPORTED 0x0366 //
#define BLUETOOTH_ATTRIBUTE_RUI_FORMATS_SUPPORTED 0x0368 //
#define BLUETOOTH_ATTRIBUTE_REFERENCE_PRINTING_RUI_SUPPORTED 0x0370 //
#define BLUETOOTH_ATTRIBUTE_DIRECT_PRINTING_RUI_SUPPORTED 0x0372 //
#define BLUETOOTH_ATTRIBUTE_REFERENCE_PRINTING_TOP_URL 0x0374 //
#define BLUETOOTH_ATTRIBUTE_DIRECT_PRINTING_TOP_URL 0x0376 //
#define BLUETOOTH_ATTRIBUTE_PRINTER_ADMIN_RUI_TOP_URL 0x0378 //
#define BLUETOOTH_ATTRIBUTE_DEVICE_NAME 0x037A //
#define BLUETOOTH_ATTRIBUTE_SERVICE_RECORD_HANDLE 0x0000 //
#define BLUETOOTH_ATTRIBUTE_SERVICE_CLASS_ID_LIST 0x0001 //
#define BLUETOOTH_ATTRIBUTE_SERVICE_RECORD_STATE 0x0002 //
#define BLUETOOTH_ATTRIBUTE_SERVICE_ID 0x0003 //
#define BLUETOOTH_ATTRIBUTE_PROTOCOL_DESCRIPTOR_LIST 0x0004 //
#define BLUETOOTH_ATTRIBUTE_BROWSE_GROUP_LIST 0x0005 //
#define BLUETOOTH_ATTRIBUTE_LANGUAGE_BASE_ATTRIBUTE_ID_LIST 0x0006 //
#define BLUETOOTH_ATTRIBUTE_SERVICE_INFO_TIME_TO_LIVE 0x0007 //
#define BLUETOOTH_ATTRIBUTE_SERVICE_AVAILABILITY 0x0008 //
#define BLUETOOTH_ATTRIBUTE_BLUETOOTH_PROFILE_DESCRIPTOR_LIST 0x0009 //
#define BLUETOOTH_ATTRIBUTE_DOCUMENTATION_URL 0x000A //
#define BLUETOOTH_ATTRIBUTE_CLIENT_EXECUTABLE_URL 0x000B //
#define BLUETOOTH_ATTRIBUTE_ICON_URL 0x000C //
#define BLUETOOTH_ATTRIBUTE_ADDITIONAL_PROTOCOL_DESCRIPTOR_LISTS 0x000D //
#define BLUETOOTH_ATTRIBUTE_VERSION_NUMBER_LIST 0x0200 //
#define BLUETOOTH_ATTRIBUTE_SERVICE_DATABASE_STATE 0x0201 //
#define BLUETOOTH_ATTRIBUTE_SPECIFICATION_ID 0x0200 //
#define BLUETOOTH_ATTRIBUTE_VENDOR_ID 0x0201 //
#define BLUETOOTH_ATTRIBUTE_PRODUCT_ID 0x0202 //
#define BLUETOOTH_ATTRIBUTE_VERSION 0x0203 //
#define BLUETOOTH_ATTRIBUTE_PRIMARY_RECORD 0x0204 //
#define BLUETOOTH_ATTRIBUTE_VENDOR_ID_SOURCE 0x0205 //
#define BLUETOOTH_ATTRIBUTE_NETWORK 0x0301 //
#define BLUETOOTH_ATTRIBUTE_FRIENDLY_NAME 0x0304 //
#define BLUETOOTH_ATTRIBUTE_DEVICE_LOCATION 0x0306 //
#define BLUETOOTH_ATTRIBUTE_REMOTE_AUDIO_VOLUME_CONTROL 0x0302 //
#define BLUETOOTH_ATTRIBUTE_SUPPORT_FEATURES_LIST 0x0200 //
#define BLUETOOTH_ATTRIBUTE_DATA_EXCHANGE_SPECIFICATION 0x0301 //
#define BLUETOOTH_ATTRIBUTE_MCAP_SUPPORTED_PROCEDURES 0x0302 //
#define BLUETOOTH_ATTRIBUTE_HID_DEVICE_RELEASE_NUMBER 0x0200 //
#define BLUETOOTH_ATTRIBUTE_HID_PARSER_VERSION 0x0201 //
#define BLUETOOTH_ATTRIBUTE_HID_DEVICE_SUBCLASS 0x0202 //
#define BLUETOOTH_ATTRIBUTE_HID_COUNTRY_CODE 0x0203 //
#define BLUETOOTH_ATTRIBUTE_HID_VIRTUAL_CABLE 0x0204 //
#define BLUETOOTH_ATTRIBUTE_HID_RECONNECT_INITIATE 0x0205 //
#define BLUETOOTH_ATTRIBUTE_HID_DESCRIPTOR_LIST 0x0206 //
#define BLUETOOTH_ATTRIBUTE_HIDLANGID_BASE_LIST 0x0207 //
#define BLUETOOTH_ATTRIBUTE_HIDSDP_DISABLE 0x0208 //
#define BLUETOOTH_ATTRIBUTE_HID_BATTERY_POWER 0x0209 //
#define BLUETOOTH_ATTRIBUTE_HID_REMOTE_WAKE 0x020A //
#define BLUETOOTH_ATTRIBUTE_HID_PROFILE_VERSION 0x020B //
#define BLUETOOTH_ATTRIBUTE_HID_SUPERVISION_TIMEOUT 0x020C //
#define BLUETOOTH_ATTRIBUTE_HID_NORMALLY_CONNECTABLE 0x020D //
#define BLUETOOTH_ATTRIBUTE_HID_BOOT_DEVICE 0x020E //
#define BLUETOOTH_ATTRIBUTE_HIDSSR_HOST_MAX_LATENCY 0x020F //
#define BLUETOOTH_ATTRIBUTE_HIDSSR_HOST_MIN_TIMEOUT 0x0210 //
#define BLUETOOTH_ATTRIBUTE_MAS_INSTANCE_ID 0x0315 //
#define BLUETOOTH_ATTRIBUTE_SUPPORTED_MESSAGE_TYPES 0x0316 //
#define BLUETOOTH_ATTRIBUTE_MAP_SUPPORTED_FEATURES 0x0317 //
#define BLUETOOTH_ATTRIBUTE_SERVICE_VERSION 0x0300 //
#define BLUETOOTH_ATTRIBUTE_SUPPORTED_FORMATS_LIST 0x0303 //
#define BLUETOOTH_ATTRIBUTE_IP_SUBNET 0x0200 //
#define BLUETOOTH_ATTRIBUTE_SECURITY_DESCRIPTION 0x030A //
#define BLUETOOTH_ATTRIBUTE_NET_ACCESS_TYPE 0x030B //
#define BLUETOOTH_ATTRIBUTE_MAX_NET_ACCESSRATE 0x030C //
#define BLUETOOTH_ATTRIBUTE_IPV4_SUBNET 0x030D //
#define BLUETOOTH_ATTRIBUTE_IPV6_SUBNET 0x030E //
#define BLUETOOTH_ATTRIBUTE_SUPPORTED_REPOSITORIES 0x0314 //
#define BLUETOOTH_ATTRIBUTE_PBAP_SUPPORTED_FEATURES 0x0317 //
#define BLUETOOTH_ATTRIBUTE_SUPPORTED_DATA_STORES_LIST 0x0301 //
#define BLUETOOTH_ATTRIBUTE_MPSD_SCENARIOS 0x0200 //
#define BLUETOOTH_ATTRIBUTE_MPMD_SCENARIOS 0x0201 //
#define BLUETOOTH_ATTRIBUTE_SUPPORTED_PROFILES_AND_PROTOCOLS 0x0202 //
#define BLUETOOTH_ATTRIBUTE_CAS_INSTANCE_ID 0x0315 //
#define BLUETOOTH_ATTRIBUTE_CTN_SUPPORTED_FEATURES 0x0317 //
#define BLUETOOTH_ATTRIBUTE_GNSS_SUPPORTED_FEATURES 0x0200
#endif

View File

@ -71,7 +71,7 @@ def process_table(fout, tbody, pattern):
if (len(columns) > 2):
remark = columns[2].text_content().encode('ascii','ignore')
# skip tbody headers
if name in ["Protocol Name", "Service Class Name", "Attribute Name",
if name in ["Protocol Name", "Service Class Name", "Attribute Name", "UUID Name",
"Reserved", 'Reserved for HID Attributes', 'Available for HID Language Strings']:
continue
# skip tbody footers
@ -89,7 +89,7 @@ def process_table(fout, tbody, pattern):
def scrape_attributes(fout, tree, table_name):
tables = tree.xpath("//table[preceding-sibling::h3 = '" + table_name +"']")
tbody = tables[0].getchildren()[0]
process_table(fout, tbody, '#define BLUETOOTH_ATTRIBUTE_%-54s %s%s\n')
process_table(fout, tbody, '#define BLUETOOTH_ATTRIBUTE_%-54s %s // %s\n')
def scrape_page(fout, url):
print("Parsing %s" % url)
@ -129,7 +129,7 @@ def scrape_page(fout, url):
fout.write(' */\n')
table_names = [
# 'Base Universally Unique Identifier (UUID)',
# 'Browse Group Identifiers',
'Browse Group Identifiers',
'Attribute Identifiers',
# 'Audio/Video Remote Control Profile (AVRCP)',
'Basic Imaging Profile (BIP)',