HDP PICS for the PTS tool.

PTS version: 5.1

* - different than PTS defaults
# - not yet implemented/supported

M - mandatory
O - optional


		Profile Version
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_HDP_0_1	False		HDP 1.0 (C.1)
TSPC_HDP_0_2	True		HDP 1.1(C.1)
-------------------------------------------------------------------------------
C.1: Mandatory to support only one Profile version.
-------------------------------------------------------------------------------


		Roles
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_HDP_1_1	True		Supports Source Role (C.1, C.2)
TSPC_HDP_1_2	True (*)	Supports Sink Role (C.1, C.3)
-------------------------------------------------------------------------------
C.1: At least one of the defined roles is Mandatory.
C.2: Mandatory if TSPC_MCAP_1_1 is supported, otherwise Excluded.
C.3: Mandatory if TSPC_MCAP_1_1 is supported, otherwise Excluded.
-------------------------------------------------------------------------------


		GAP Features - Source
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_HDP_2_1	True		Supports General-discoverable Mode (M)
TSPC_HDP_2_2	True		Supports bondable Mode (M) (C.1)
TSPC_HDP_2_3	True		Supports Response to Authentication requests (M)
TSPC_HDP_2_4	True		Supports Initiation of Authentication (M) (C.2)
TSPC_HDP_2_5	True		Supports Acceptance of Encryption request (M)
TSPC_HDP_2_6	True		Supports Initiation of Encryption (M) (C.3)
TSPC_HDP_2_7	True (*)	Supports General Inquiry (C.5) (C.4)
TSPC_HDP_2_8	True		Supports Acceptance of Bonding requests (M)
TSPC_HDP_2_9	True (*)	Supports Initiation of Bonding (O)
TSPC_HDP_2_10	True (*)	Supports Extended Inquiry Response (C.7)
TSPC_HDP_2_11	False		Supports use of Health Class of Device (O)
-------------------------------------------------------------------------------
C.1: Mandatory if TSPC_HDP_2_9 is supported, otherwise Optional.
C.2: Mandatory if Security Mode 2, 3, or 4 is supported, otherwise Optional.
C.3: Mandatory if Bluetooth version 2.1 + EDR is claimed, otherwise Optional.
C.4: Mandatory if TSPC_HDP_2_9 is supported, otherwise Optional.
C.5: Mandatory if TSPC_HDP_2_9 is supported, otherwise Optional.
C.6: Mandatory if Bluetooth Core Specification 2.1 + EDR or later
	(Not SUM ICS 31/4) and Table 2/1 (Supports General-discoverable Mode)
	is supported, otherwise Optional if Bluetooth Core Specification 2.1
	+ EDR or later (Not SUM ICS 31/4) is supported, otherwise Excluded.
C.7: Mandatory if Bluetooth Core specification 2.1 + EDR or later is supported,
	otherwise Excluded.
-------------------------------------------------------------------------------


		L2CAP Features - Source
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_HDP_3_1	True		Supports Reliable Control Channel (C.1)
TSPC_HDP_3_2	True		Uses FCS for Control Channel (M)
TSPC_HDP_3_3	True		Supports Reliable Data Channel (C.1)
TSPC_HDP_3_4	True		Can send data using SAR in ERTM (C.2)
TSPC_HDP_3_5	False		Uses FCS for Reliable Data Channel (O)
TSPC_HDP_3_6	False		Supports FCS option of "No FCS" for Reliable
				Data Channel (C.3)
TSPC_HDP_3_7	True		Supports Streaming Data Channel (C.4)
TSPC_HDP_3_8	False		Can send data using SAR in SM (C.5)
TSPC_HDP_3_9	False		Uses FCS for Steaming Data Channel (C.6)
TSPC_HDP_3_10	False		Supports FCS option of "No FCS" for Streaming
				(C.7)
TSPC_HDP_3_11	True		Maximum number of simultaneous Data Channels
				supported (DCmax) per MCL (C.8)
-------------------------------------------------------------------------------
C.1: Mandatory if TSPC_L2CAP_2_12 is supported, otherwise Excluded.
C.2: Mandatory if TSPC_L2CAP_2_22 is supported, otherwise Excluded.
C.3: Optional if TSPC_L2CAP_2_14 is supported, otherwise Excluded.
C.4: Optional if TSPC_L2CAP_2_13 is supported, otherwise Excluded.
C.5: Mandatory if TSPC_HDP_3_7 and TSPC_L2CAP_2_23 are supported, otherwise
	Excluded.
C.6: Optional if TSPC_HDP_3_7 is supported, otherwise Excluded.
C.7: Optional if TSPC_HDP_3_7 and TSPC_L2CAP_2_14 are supported, otherwise
	Excluded.
C.8: >=2 if Table TSPC_HDP_3_7 is claimed, otherwise >=1.
-------------------------------------------------------------------------------


		SDP Attributes - Source
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_HDP_4_1	True		Supports advertisement of HDP Service Record
				(C.1) (C.4)
TSPC_HDP_4_2	True		Service Class ID List (C.2)
TSPC_HDP_4_3	True		Protocol Descriptor List (C.2)
TSPC_HDP_4_4	True		Bluetooth Profile Descriptor List (C.2)
TSPC_HDP_4_5	False		Additional Protocol Descriptor Lists (C.2)
TSPC_HDP_4_6	True (*)	Service Name (O)
TSPC_HDP_4_7	True (*)	Service Description (O)
TSPC_HDP_4_8	True (*)	Provider Name (O)
TSPC_HDP_4_9	True		HDP Supported Features (MDEP List) (C.3)
TSPC_HDP_4_10	True		MCAP Data Exchange Specification (C.3)
TSPC_HDP_4_11	True		MCAP Supported Procedures (C.3)
TSPC_HDP_4_12	False		Service Record State (O)
-------------------------------------------------------------------------------
C.1: Mandatory if TSPC_HDP_6_3 is supported, otherwise Excluded.
C.2: Mandatory if TSPC_HDP_4_1 is supported, otherwise Optional.
C.3: Mandatory if TSPC_HDP_4_1 is supported, otherwise Excluded.
C.4: Mandatory to support SDP Server Role (SDP 1b/1) if this item is supported.
-------------------------------------------------------------------------------


		Device Identification - Source
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_HDP_5_1	True		Device Identification Profile v1.3 or later
				(C.1)
-------------------------------------------------------------------------------
C.1: Mandatory if TSPC_HDP_4_1 is supported, otherwise Optional.
-------------------------------------------------------------------------------


		HDP Features - Source
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_HDP_6_1	True		Supports Standard Op Codes (M)
TSPC_HDP_6_2	True (*)	Supports Initiate creation of Control and Data
				Channels (C.3) (C.7) (C.1 - MCAP Status)
TSPC_HDP_6_3	True		Supports Accept creation of Control and Data
				Channels (C.3) (C.8) (C.1 - MCAP Status)
TSPC_HDP_6_4	False		Supports Initiate Reconnection of MDL (O)
				(C.2 - MCAP Status)
TSPC_HDP_6_5	True		Supports Accept Reconnection of MDL (C.4)
TSPC_HDP_6_6	False		Supports Clock Synchronization Protocol (O)
TSPC_HDP_6_7	False (*)	Supports Sync-Slave (C.5)
TSPC_HDP_6_8	False		Supports Sync-Master (C.6)
-------------------------------------------------------------------------------
C.1: If TSPC_HDP_6_1 is supported, at least one is Mandatory, otherwise
	Excluded.
C.2: Optional if TSPC_HDP_6_1 is supported, otherwise Excluded.
C.3: Mandatory to support at least one.
C.4: Mandatory if TSPC_HDP_6_3 is supported, otherwise Excluded.

C.5: Mandatory if TSPC_HDP_6_6 is supported, otherwise Excluded.
C.6: Optional if TSPC_HDP_6_6 is supported, otherwise Excluded.
C.7: Mandatory to support SDP Client Role (SDP 1b/2) if this item is supported.
C.8: Mandatory to support SDP Server Role (SDP 1b/1) if this item is supported.
-------------------------------------------------------------------------------


		Data Exchange Features - Source
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_HDP_7_1	False		Supports Initiation of Echo Test (O)
TSPC_HDP_7_2	True		Supports Acceptance of Echo Test (M)
TSPC_HDP_7_3	True		Supports IEEE 11073-20601 (M)
TSPC_HDP_7_4	True		Supports IEEE 11073-20601 Agent Role (C.1)
TSPC_HDP_7_5	True (*)	Supports IEEE 11073-20601 Manager Role (C.1)
TSPC_HDP_7_6	False		Supports Initiation of Association Release (O)
-------------------------------------------------------------------------------
C.1: If TSPC_HDP_7_3 is supported, at least one is Mandatory, otherwise
	Excluded.
-------------------------------------------------------------------------------


		GAP Features - Sink
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_HDP_8_1	True		Supports General-discoverable Mode (M)
TSPC_HDP_8_2	True		Supports Bondable Mode (M) (C.1)
TSPC_HDP_8_3	True		Supports Response to Authentitaction requests
				(M)
TSPC_HDP_8_4	True		Supports Initiation of Authentication (M) (C.2)
TSPC_HDP_8_5	True		Supports Acceptance of Encryption request (M)
TSPC_HDP_8_6	True		Supports Initiation of Encryption (M) (C.3)
TSPC_HDP_8_7	True		Supports General Inquiry (M) C.4)
TSPC_HDP_8_8	True		Supports Acceptance of Bonding requests (M)
TSPC_HDP_8_9	True (*)	Supports Initiation of Bonding (O)
TSPC_HDP_8_10	True (*)	Supports Extended Inquiry Response (C.5) (C.6)
TSPC_HDP_8_11	False		Supports use of Health Class of Device (O)
-------------------------------------------------------------------------------
C.1: Mandatory if TSPC_HDP_8_9 is supported, otherwise Optional.
C.2: Mandatory if Security Mode 2, 3, or 4 is supported, otherwise Optional.
C.3: Mandatory if Bluetooth version 2.1 + EDR is claimed (Not SUM ICS 31/4),
	otherwise Optional.
C.4: Mandatory if TSPC_HDP_8_9 is supported, otherwise Optional.
C.5: Mandatory if Bluetooth Core Specification 2.1 + EDR or later
	(Not SUM ICS 31/4) and TSPC_HDP_8_1 is supported, otherwise Optional
	if Bluetooth Core Specification 2.1 + EDR or later is supported,
	otherwise Excluded.
C.6: Mandatory if Bluetooth Core specification 2.1 + EDR or later
	(Not SUM ICS 31/4) is supported, otherwise Excluded.
-------------------------------------------------------------------------------



		L2CAP Features - Sink
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_HDP_9_1	True		Supports Reliable Control Channel (C.1)
TSPC_HDP_9_2	True		Uses FCS for Control Channel (M)
TSPC_HDP_9_3	True		Supports Reliable Data Channel (C.1)
TSPC_HDP_9_4	True		Can send data using SAR in ERTM (C.2)
TSPC_HDP_9_5	False		Uses FCS for Reliable Data Channel (O)
TSPC_HDP_9_6	False		Supports FCS option of "No FCS" for Reliable
				Data Channel (C.3)
TSPC_HDP_9_7	True		Supports Streaming Data Channel (C.4)
TSPC_HDP_9_8	True		Can send data using SAR in SM (C.5)
TSPC_HDP_9_9	False		Uses FCS for Steaming Data Channel (O)
TSPC_HDP_9_10	False		Supports FCS option of "No FCS" for Streaming
				Data Channel (C.3)
TSPC_HDP_9_11	True		Maximum number of simultaneous Data Channels
				supported (DCmax) per MCL (M)
-------------------------------------------------------------------------------
C.1: Mandatory if TSPC_L2CAP_2_12 is supported, otherwise Excluded.
C.2: Mandatory if TSPC_L2CAP_2_22 is supported, otherwise Excluded.
C.3: Optional if TSPC_L2CAP_2_14 is supported, otherwise Excluded.
C.4: Mandatory if TSPC_L2CAP_2_13 is supported, otherwise Excluded.
C.5: Mandatory if TSPC_L2CAP_2_23 is supported, otherwise Excluded.
-------------------------------------------------------------------------------


		SDP Attributes - Sink
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_HDP_10_1	True		Supports advertisement of HDP Service Record (C.1)
TSPC_HDP_10_2	True		Service Class ID List (M)
TSPC_HDP_10_3	True		Protocol Descriptor List (M)
TSPC_HDP_10_4	True		Bluetooth Profile Descriptor List (M)
TSPC_HDP_10_5	True		Additional Protocol Descriptor Lists (M)
TSPC_HDP_10_6	True (*)	Service Name (O)
TSPC_HDP_10_7	False		Service Description (O)
TSPC_HDP_10_8	False		Provider Name (O)
TSPC_HDP_10_9	True		HDP Supported Features (MDEP List) (M)
TSPC_HDP_10_10	True		MCAP Data Exchange Specification (M)
TSPC_HDP_10_11	True		MCAP Supported Procedures (M)
TSPC_HDP_10_12	False		Service Record State (O)
-------------------------------------------------------------------------------
C.1: Mandatory to support 10/1 and SDP Server Role (SDP 1b/1).
-------------------------------------------------------------------------------


		Device Identification - Sink
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_HDP_11_1	True		Device Identification Profile v1.3 or later
				(M) (C.1)
-------------------------------------------------------------------------------
C.1: Mandatory if 1/2 is supported.
-------------------------------------------------------------------------------


		HDP Features - Sink
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_HDP_12_1	True		Supports Standard Op Codes (M)
TSPC_HDP_12_2	True		Supports Initiate creation of Control and Data
				Channels (C.1) (C.5)
TSPC_HDP_12_3	True		Supports Accept creation of Control and Data
				Channels (C.1) (C.6)
TSPC_HDP_12_4	False		Supports Initiate Reconnection of MDL (O) (C.2)
TSPC_HDP_12_5	True		Supports Accept Reconnection of MDL (M)
TSPC_HDP_12_6	False		Supports Clock Synchronization Protocol (O)
TSPC_HDP_12_7	False		Supports Sync-Slave (C.3)
TSPC_HDP_12_8	False		Supports Sync-Master (C.6)
-------------------------------------------------------------------------------
C.1: Mandatory if TSPC_HDP_12_1 is supported, otherwise Excluded.
C.2: Optional if TSPC_HDP_12_1 is supported, otherwise Excluded.
C.3: Mandatory if TSPC_HDP_12_6 is supported, otherwise Excluded.
C.4: Optional if TSPC_HDP_12_6 is supported, otherwise Excluded.
C.5: Mandatory to support 12/2 and SDP Client Role (SDP 1b/2).
C.6: Mandatory to support 12/3 and SDP Server Role (SDP 1b/1).
-------------------------------------------------------------------------------


		Data Exchange Features - Sink
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_HDP_13_1	False		Supports Initiation of Echo Test (O)
TSPC_HDP_13_2	True		Supports Acceptance of Echo Test (M)
TSPC_HDP_13_3	True		Supports IEEE 11073-20601 (M)
TSPC_HDP_13_4	True (*)	Supports IEEE 11073-20601 Agent Role (C.1)
TSPC_HDP_13_5	False		Supports IEEE 11073-20601 Manager Role (C.1)
TSPC_HDP_13_6	False		Supports Initiation of Association Release (O)
-------------------------------------------------------------------------------
C.1: If TSPC_HDP_13_3 is supported, at least one is Mandatory, otherwise
	Excluded.
-------------------------------------------------------------------------------
