GAP PICS for the PTS tool.

PTS version: 5.0

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

M - mandatory
O - optional

		Device Configuration
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_0_1	False		BR/EDR (C.1)
TSPC_GAP_0_2	False		LE (C.2)
TSPC_GAP_0_3	True (*)	BR/EDR/LE (C.3)
-------------------------------------------------------------------------------
C.1: Mandatory if ('End Product' or 'Host Subsystem') and ('BR Host' or
	'BR/HS Host') are Supported ('End Product' or 'Host Subsystem' with 'BR'
	or 'BR/HS Host' CC), otherwise excluded. Optional for
	'Component (Tested)' or 'Component (Non-Tested)'.
C.2: Mandatory if ('End Product' or 'Host Subsystem') and ('LE Host') are
	Supported (End Product or Host Subsystem with LE Host CC),
	otherwise excluded.  Optional for 'Component (Tested)' or
	'Component (Non-Tested)'.
C.3: Mandatory if ('End Product' or 'Host Subsystem') and ('BR/LE Host' or
	'BR/HS/LE Host') are Supported (End Product or Host Subsystem with
	BR/LE or BR/HS/LE Host CC), otherwise excluded.
	Optional for 'Component (Tested)' or 'Component (Non-tested)'.
Note - Only one transport shall be supported.
-------------------------------------------------------------------------------


		Version Configuration
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_0A_1	False		Core Specification Addendum 3 (CSA3),
					GAP Connection Parameters Changes,
					Authentication and Lost Bond Changes,
					Private Addressing Changes,
					Dual Mode Addressing Changes,
					Adopted 24 July 2012 (C.1)
-------------------------------------------------------------------------------
C.1: Mandatory if 'CSA3 Adopted 24 July 2012' is supported, otherwise Excluded.
-------------------------------------------------------------------------------


		Modes
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_1_1	True (*)	Non-discoverable mode (C.1)
TSPC_GAP_1_2	False		Limited-discoverable Mode (O)
TSPC_GAP_1_3	True (*)	General-discoverable mode (O)
TSPC_GAP_1_4	True (*)	Non-connectable mode (O)
TSPC_GAP_1_5	True		Connectable mode (M)
TSPC_GAP_1_6	False		Non-bondable mode (O)
TSPC_GAP_1_7	True (*)	Bondable mode (C.2)
-------------------------------------------------------------------------------
C.1: Mandatory if TSPC_GAP_0_2 is supported, otherwise Optional.
C.2: Mandatory if TSPC_GAP_3_5 is supported, otherwise Optional.
-------------------------------------------------------------------------------


		Security Aspects
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_2_1	True (*)	Authentication procedure (C.1)
TSPC_GAP_2_2	True (*)	Support of LMP-Authentication (M)
TSPC_GAP_2_3	True (*)	Initiate LMP-Authentication (C.5)
TSPC_GAP_2_4	False		Security mode 1 (C.2)
TSPC_GAP_2_5	True (*)	Security mode 2 (O)
TSPC_GAP_2_6	False		Security mode 3 (C.7)
TSPC_GAP_2_7	True (*)	Security mode 4 (C.4)
TSPC_GAP_2_8	True (*)	Support of Authenticated link key (C.6)
TSPC_GAP_2_9	True (*)	Support of Unauthenticated link key (C.6)
TSPC_GAP_2_10	False		No security (C.6)
-------------------------------------------------------------------------------
C.1: Mandatory If (TSPC_GAP_2_5 or TSPC_GAP_2_6) is supported, otherwise
	Optional.
Note 1: The Authentication Procedure in item GAP, TSPC_GAP_2_1 is the one
	described in Fig. 5.1 on page 198 in the GAP Profile Specification and
	not the LMP-Authenticaion.
C.2: Excluded if TSPC_GAP_2_7 is supported, otherwise Optional.
C.5: Mandatory If (TSPC_GAP_2_5 or TSPC_GAP_2_6 or TSPC_GAP_2_7) is supported,
	otherwise Optional.
C.4: Mandatory if (Core Spec 2.1 or later) is supported, otherwise Excluded.
Note 2. If a Core 2.0 and earlier design claims to support secure communcation
	it should support either Security mode 2 or 3.
Note 3. A Core 2.1 or later device shall always support secure communication
	in Security Mode 4, and shall use that mode to connect with another
	Core 2.1 or later device. It shall use Security Mode 2 only for
	backward compatibility purposes with Core 2.0 and earlier devices.
	Security Mode 1 is excluded for Core 2.1 or later devices based on
	condition C.2.
C.6: If TSPC_GAP_2_7 is supported then at least one of (TSPC_GAP_2_8 or
	TSPC_GAP_2_9 or TSPC_GAP_2_10) is Mandatory, otherwise Excluded.
C.7: Excluded if TSPC_GAP_2_7 is supported, otherwise Optional.
-------------------------------------------------------------------------------


		Idle Mode Procedures
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_3_1	True (*)	Initiation of general inquiry (C.1)
TSPC_GAP_3_2	False		Initiation of limited inquiry (C.1)
TSPC_GAP_3_3	True (*)	Initiation of name discover (O)
TSPC_GAP_3_4	True (*)	Initiation of device discovery (O)
TSPC_GAP_3_5	True (*)	Initiation of general bonding (O)
TSPC_GAP_3_6	True (*)	Initiation of dedicated bonding (O)
-------------------------------------------------------------------------------
C.1: Mandatory to support at least one of TSPC_GAP_3_1 or TSPC_GAP_3_2 if
	TSPC_GAP_3_5 is supported, otherwise Optional.
-------------------------------------------------------------------------------


		Establishment Procedures
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_4_1	True		Support link establishment as initiator (M)
TSPC_GAP_4_2	True		Support link establishment as acceptor (M)
TSPC_GAP_4_3	True (*)	Support channel establishment as initiator (O)
TSPC_GAP_4_4	True		Support channel establishment as acceptor (M)
TSPC_GAP_4_5	True (*)	Support connection establishment as initiator
					(O)
TSPC_GAP_4_6	True (*)	Support connection establishment as acceptor
					(O)
-------------------------------------------------------------------------------


		LE Roles
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_5_1	False (*)	Broadcaster (C.1)
TSPC_GAP_5_2	False		Observer (C.1)
TSPC_GAP_5_3	False (*)	Peripheral (C.1)
TSPC_GAP_5_4	True (*#)	Central (C.1)
-------------------------------------------------------------------------------
C.1: It is mandatory to support at least one of the defined roles.
Note: 'LE Roles' is applicable for LE-only configurations, but it appears that
	PTS is checking this precondition also in some BR/EDR/LE tests.
-------------------------------------------------------------------------------


		Broadcaster Physical Layer
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_6_1	False (*)	Broadcaster: Transmitter (M)
TSPC_GAP_6_2	False		Broadcaster: Receiver (O)
-------------------------------------------------------------------------------


		Broadcaster Link Layer States
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_7_1	False (*)	Broadcaster: Standby (M)
TSPC_GAP_7_2	False (*)	Broadcaster: Advertising (M)
-------------------------------------------------------------------------------


		Broadcaster Link Layer Advertising Event Types
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_8_1	False (*)	Broadcaster: Non-Connectable Undirected Event
					(M)
TSPC_GAP_8_2	False		Broadcaster: Scannable Undirected Event (O)
-------------------------------------------------------------------------------


		Broadcaster Link Layer Advertising Data Types
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_8A_1	False		AD Type-Service UUID (O)
TSPC_GAP_8A_2	False		AD Type-Local Name (O)
TSPC_GAP_8A_3	False (*)	AD Type-Flags (M)
TSPC_GAP_8A_4	False		AD Type-Manufacturer Specific Data (O)
TSPC_GAP_8A_5	False		AD Type-TX Power Level (O)
TSPC_GAP_8A_6	False		AD Type-Security Manager Out of Band (OOB) (C.1)
TSPC_GAP_8A_7	False		AD Type-Security manager TK Value (O)
TSPC_GAP_8A_8	False		AD Type-Slave Connection Interval Range (O)
TSPC_GAP_8A_9	False		AD Type-Service Solicitation (O)
TSPC_GAP_8A_10	False		AD Type-Service Data (O)
-------------------------------------------------------------------------------
C.1: Optional if TSPC_SM_2_4 (OOB supported) is supported, otherwise Excluded.
-------------------------------------------------------------------------------


		Broadcaster Connection Modes and Procedures
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_9_1	False (*)	Broadcaster: Non-Connectable Mode
-------------------------------------------------------------------------------


		Broadcaster Broadcasting and Observing Features
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_10_1	False (*)	Broadcaster: Broadcast Mode
TSPC_GAP_11_1	False		Broadcaster: Privacy Feature
TSPC_GAP_11_2	False		Broadcaster: Resolvable Private Address
					Generation Procedure
-------------------------------------------------------------------------------


		Observer Physical Layer
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_12_1	True (#)	Observer: Receiver
TSPC_GAP_12_2	False		Observer: Transmitter
-------------------------------------------------------------------------------


		Observer Link Layer States
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_13_1	True (#)	Observer: Standby
TSPC_GAP_13_2	True (#)	Observer: Scanning
-------------------------------------------------------------------------------


		Observer Link Layer Scanning Types
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_14_1	True (#)	Observer: Passive Scanning
TSPC_GAP_14_2	False		Observer: Active Scanning
-------------------------------------------------------------------------------


		Observer Connection Modes and Procedures
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_15_1	True (#)	Observer: Non-Connectable Mode
-------------------------------------------------------------------------------


		Observer Broadcasting and Observing Features
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_16_1	True (#)	Observer: Observation Procedure
-------------------------------------------------------------------------------


		Observer Privacy Feature
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_17_1	False		Observer: Privacy Feature (O)
TSPC_GAP_17_2	False		Observer: Non-Resolvable Private Address
					Generation Procedure (C.1)
TSPC_GAP_17_3	False		Observer: Resolvable Private Address Resolution
					Procedure (C.2)
TSPC_GAP_17_4	False		Observer: Resolvable Private Address Generation
					Procedure (C.3)
-------------------------------------------------------------------------------
C.1: Mandatory if TSPC_GAP_17_1 and TSPC_GAP_14_2 (Active Scanning) are
	supported and TSPC_GAP_17_4 (Resolvable Private Address Generation
	Procedure) is Not Supported; Optional if CSA3 or later and
	TSPC_GAP_17_4 are supported, otherwise Excluded.
C.2: Optional if TSPC_GAP_17_1 is supported, otherwise Excluded.
C.3: Mandatory if CSA3 or later and TSPC_GAP_17_1 and TSPC_GAP_14_2
	(Active Scanning) are supported and TSPC_GAP_17_2 (Non-Resolvable
	Private	Address Generation Procedure) is not supported; Optional if
	CSA3 or later and TSPC_GAP_17_2 (Non-Resolvable Private Address
	Generation Procedure) are supported, otherwise Excluded.
-------------------------------------------------------------------------------


		Peripheral Physical Layer
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_18_1	False		Peripheral: Transmitter
TSPC_GAP_18_2	False		Peripheral: Receiver
-------------------------------------------------------------------------------


		Peripheral Link Layer States
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_19_1	False		Peripheral: Standby
TSPC_GAP_19_2	False		Peripheral: Advertising
TSPC_GAP_19_3	False		Peripheral: Connection, Slave Role
-------------------------------------------------------------------------------


		Peripheral Link Layer Advertising Event Types
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_20_1	False		Peripheral: Connectable Undirected Event
TSPC_GAP_20_2	False		Peripheral: Connectable Directed Event
TSPC_GAP_20_3	False		Peripheral: Non-Connectable Undirected Event
TSPC_GAP_20_4	False		Peripheral: Scannable Undirected Event
-------------------------------------------------------------------------------


		Peripheral Link Layer Advertising Data Types
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_20A_1	False		AD Type-Service UUID (C.1)
TSPC_GAP_20A_2	False		AD Type-Local Name (C.1)
TSPC_GAP_20A_3	False		AD Type-Flags (C.2)
TSPC_GAP_20A_4	False		AD Type-Manufacturer Specific Data (C.1)
TSPC_GAP_20A_5	False		AD Type-TX Power Level (C.1)
TSPC_GAP_20A_6	False		AD Type-Security Manager Out of Band (OOB) (C.3)
TSPC_GAP_20A_7	False		AD Type-Security manager TK Value (C.1)
TSPC_GAP_20A_8	False		AD Type-Slave Connection Interval Range (C.1)
TSPC_GAP_20A_9	False		AD Type-Service Solicitation (C.1)
TSPC_GAP_20A_10	False		AD Type-Service Data (C.1)
-------------------------------------------------------------------------------
C.1: Optional if (TSPC_GAP_20_1 or TSPC_GAP_20_3 or TSPC_GAP_20_4) is
	supported, otherwise Excluded.
C.2: Mandatory if TSPC_GAP_22_2 (Limited Discoverable Mode) or TSPC_GAP_22_3
	(General Discoverable Mode) is supported, otherwise Optional.
C.3: Optional if (TSPC_GAP_20_1 (Connectable Undirected Event) or TSPC_GAP_20_3
	(Non-Connectable Undirected Event) or TSPC_GAP_20_4
	(Scannable Undirected Event)) and TSPC_SM_2_4 (OOB supported) are
	supported, otherwise Excluded.
-------------------------------------------------------------------------------


		Peripheral Link Layer Control Procedures
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_21_1	False (*)	Peripheral: Connection Update Procedure (M)
TSPC_GAP_21_2	False (*)	Peripheral: Channel Map Update Procedure (M)
TSPC_GAP_21_3	False		Peripheral: Encryption Procedure (O)
TSPC_GAP_21_4	False (*)	Peripheral: Feature Exchange Procedure (M)
TSPC_GAP_21_5	False (*)	Peripheral: Version Exchange Procedure (M)
TSPC_GAP_21_6	False (*)	Peripheral: Termination Procedure (M)
-------------------------------------------------------------------------------


		Peripheral Discovery Modes and Procedures
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_22_1	False		Peripheral: Non-Discoverable Mode (C.2)
TSPC_GAP_22_2	False		Peripheral: Limited Discoverable Mode (C.1)
TSPC_GAP_22_3	False		Peripheral: General Discoverable Mode (C.1)
TSPC_GAP_22_4	False		Peripheral: Name Discovery Procedure (C.3)
-------------------------------------------------------------------------------
C.1: Optional if (TSPC_GAP_5_3 OR TSPC_GAP_42_2), otherwise Excluded.
C.2: Mandatory if (TSPC_GAP_5_3 or TSPC_GAP_42_1) is supported,
	otherwise Excluded.
C.3: Optional if TSPC_GAP_5_3 is supported, otherwise Excluded.
-------------------------------------------------------------------------------


		Peripheral Connection Modes and Procedures
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_23_1	False		Peripheral: Non-Connectable Mode (C.1)
TSPC_GAP_23_2	False		Peripheral: Directed Connectable Mode (O)
TSPC_GAP_23_3	False		Peripheral: Undirected Connectable Mode (M)
TSPC_GAP_23_4	False		Peripheral: Connection Parameter Update
					Procedure (O)
TSPC_GAP_23_5	False		Peripheral: Terminate Connection Procedure (M)
-------------------------------------------------------------------------------
C.1: Mandatory if TSPC_GAP_5_3 (LE Only – Peripheral role) OR TSPC_GAP_42_3
	(BR/EDR/LE – Non-Connectable Mode) OR TSPC_GAP_42_4
	(BR/EDR/LE – Connectable Mode) is supported, otherwise Excluded.
-------------------------------------------------------------------------------


		Peripheral Bonding Modes and Procedures
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_24_1	False		Peripheral: Non-Bondable Mode (M)
TSPC_GAP_24_2	False		Peripheral: Bondable Mode (C.1)
TSPC_GAP_24_3	False		Peripheral: Bonding Procedure  (C.2)
TSPC_GAP_24_4	False		Peripheral: Multiple Bonds (C.3)
-------------------------------------------------------------------------------
C.1: Optional if TSPC_GAP_5_3 (LE Only – Peripheral role) OR (TSPC_GAP_38_3
	(BR/EDR/LE – Peripheral role) AND NOT TSPC_GAP_42_6 (BR.EDR/LE -
	Bondable Mode)) is supported, Mandatory if TSPC_GAP_42_6
	(BR/EDR/LE – Bondable Mode) is supported, otherwise Excluded.
C.2: Optional if TSPC_GAP_24_2 (Bondable Mode) is supported, otherwise Excluded
-------------------------------------------------------------------------------


		Peripheral Security Aspects Features
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_25_1	False		Peripheral: Security Mode (O)
TSPC_GAP_25_2	False		Peripheral: Security Mode 2 (O)
TSPC_GAP_25_3	False		Peripheral: Authentication Procedure (C.2)
TSPC_GAP_25_4	False		Peripheral: Authorization Procedure (O)
TSPC_GAP_25_5	False		Peripheral: Connection Data Signing Procedure
					(O)
TSPC_GAP_25_6	False		Peripheral: Authenticate Signed Data Procedure
					(O)
TSPC_GAP_25_7	False		Peripheral: Authenticated Pairing
					(LE security mode 1 level 3) (C.1)
TSPC_GAP_25_8	False		Peripheral: Unauthenticated Pairing
					(LE security mode 1 level 2) (C.1)
-------------------------------------------------------------------------------
C.1: Optional if TSPC_GAP_25_1 is supported, otherwise Excluded.
C.2: Mandatory if TSPC_GAP_0A_1 and TSPC_GAP_27_4 are supported,
	otherwise Optional.
-------------------------------------------------------------------------------


		Peripheral Privacy Feature
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_26_1	False		Peripheral: Privacy Feature (O)
TSPC_GAP_26_2	False		Peripheral: Non-Resolvable Private Address
					Generation Procedure (C.1)
TSPC_GAP_26_3	False		Peripheral: Resolvable Private Address
					Generation Procedure (C.2)
-------------------------------------------------------------------------------
C.1: Optional if TSPC_GAP_26_1 is supported, otherwise Excluded.
C.2: Mandatory if TSPC_GAP_26_1 is supported, otherwise Excluded.
-------------------------------------------------------------------------------


		Peripheral GAP Characteristics
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_27_1	False (*)	Peripheral: Device Name (M)
TSPC_GAP_27_2	False (*)	Peripheral: Appearance (M)
TSPC_GAP_27_3	False		Peripheral: Peripheral Privacy Flag (C.1)
TSPC_GAP_27_4	False		Peripheral: Reconnection Address (C.2)
TSPC_GAP_27_5	False		Peripheral: Peripheral Preferred Connection
					Parameters (O)
TSPC_GAP_27_6	False		Peripheral: Writeable Device Name (O)
TSPC_GAP_27_7	False		Peripheral: Writeable Appearance (O)
TSPC_GAP_27_8	False		Peripheral: Writeable Peripheral Privacy Flag
				(O)
-------------------------------------------------------------------------------
C.1: Mandatory if TSPC_GAP_26_1 is supported, otherwise Excluded.
C.2: Optional if TSPC_GAP_26_1 and TSPC_GAP_27_3 are supported,
	otherwise Excluded.
-------------------------------------------------------------------------------


		Central Physical Layer
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_28_1	True (*#)	Central: Transmitter (M)
TSPC_GAP_28_2	True (*#)	Central: Receiver (M)
-------------------------------------------------------------------------------


		Central Link Layer States
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_29_1	True (*#)	Central: Standby (M)
TSPC_GAP_29_2	True (*#)	Central: Scanning (M)
TSPC_GAP_29_3	True (*#)	Central: Initiating (M)
TSPC_GAP_29_4	True (*#)	Central: Connection, Master Role (M)
-------------------------------------------------------------------------------


		Central Link Layer Scanning Types
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_30_1	True (*#)	Central: Passive Scanning (O)
TSPC_GAP_30_2	True (*#)	Central: Active Scanning (C.1)
-------------------------------------------------------------------------------
C.1: Mandatory if (TSPC_GAP_5_4 or TSPC_GAP_38_4) is supported.
	Optional if TSPC_GAP_30_1 and (TSPC_GAP_5_4 OR TSPC_GAP_38_4)
	is supported, otherwise Excluded.
-------------------------------------------------------------------------------


		Central Link Layer Control Procedures
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_31_1	True (*#)	Central: Connection Update Procedure (M)
TSPC_GAP_31_2	True (*#)	Central: Channel Map Update Procedure (M)
TSPC_GAP_31_3	True (*#)	Central: Encryption Procedure (O)
TSPC_GAP_31_4	True (*#)	Central: Feature Exchange Procedure (M)
TSPC_GAP_31_5	True (*#)	Central: Version Exchange Procedure (M)
TSPC_GAP_31_6	True (*#)	Central: Termination Procedure (M)
-------------------------------------------------------------------------------


		Central Discovery Modes and Procedures
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_32_1	False		Central: Limited Discovery Procedure (C.2)
TSPC_GAP_32_2	True (*#)	Central: General Discovery Procedure (C.1)
TSPC_GAP_32_3	True (*#)	Central: Name Discovery Procedure (C.3)
-------------------------------------------------------------------------------
C.1: Mandatory if (TSPC_GAP_5_4 or TSPC_GAP_40_1) is supported, else Excluded.
C.2: Optional if (TSPC_GAP_5_4 or TSPC_GAP_40_2) is supported,
	otherwise Excluded.
C.3: Optional if (TSPC_GAP_5_4 or TSPC_GAP_40_4) is supported,
	otherwise Excluded.
-------------------------------------------------------------------------------


		Central Connection Modes and Procedures
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_33_1	True (*#)	Central: Auto Connection Establishment
					Procedure (C.3)
TSPC_GAP_33_2	True (*#)	Central: General Connection Establishment
					Procedure (C.1)
TSPC_GAP_33_3	True (*#)	Central: Selective Connection Establishment
					Procedure (C.3)
TSPC_GAP_33_4	True (*#)	Central: Direct Connectin Establishment
					Procedure (C.2)
TSPC_GAP_33_5	True (*#)	Central: Connection Parameter Update Procedure
					(C.2)
TSPC_GAP_33_6	True (*#)	Central: Terminate Connection Procedure
					(C.2)
-------------------------------------------------------------------------------
C.1: Mandatory if (TSPC_GAP_5_4 or TSPC_GAP_40_5) and TSPC_GAP_36_1 is
	supported, otherwise Optional.
C.2: Mandatory if (TSPC_GAP_5_4 or TSPC_GAP_40_5) is supported,
	otherwise Excluded.
C.3: Optional if (TSPC_GAP_5_4 or TSPC_GAP_40_5) is supported,
	otherwise Excluded.
-------------------------------------------------------------------------------


		Central Bonding Modes and Procedures
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_34_1	False		Central: Non-Bondable Mode (C.1)
TSPC_GAP_34_2	True (*#)	Central: Bondable Mode (C.2)
TSPC_GAP_34_3	True (*#)	Central: Bonding Procedure (O)
-------------------------------------------------------------------------------
C.1: Mandatory if (TSPC_GAP_5_4 or 39/5) is supported, otherwise Excluded.
C.2: Optional if (TSPC_GAP_5_4 or 39/6) is supported, otherwise Excluded.
-------------------------------------------------------------------------------


		Central Security Features
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_35_1	True (*#)	Central: Security Mode 1 (O)
TSPC_GAP_35_2	True (*#)	Central: Security Mode 2 (O)
TSPC_GAP_35_3	True (*#)	Central: Authentication Procedure (O)
TSPC_GAP_35_4	True (*#)	Central: Authorization Procedure (O)
TSPC_GAP_35_5	True (*#)	Central: Connection Data Signing Procedure (O)
TSPC_GAP_35_6	True (*#)	Central: Authenticate Signed Data Procedure (O)
TSPC_GAP_35_7	False		Central: Authenticated Pairing
					(LE security mode 1 level 3) (C.1)
TSPC_GAP_35_8	False		Central: Unauthenticated Pairing
					(LE security mode 1 level 2) (C.1)
-------------------------------------------------------------------------------
C.1: Optional if TSPC_GAP_35_1 is supported, otherwise Excluded.
-------------------------------------------------------------------------------


		Central Privacy Feature
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_36_1	False		Central: Privacy Feature (C.3)
TSPC_GAP_36_2	False		Central: Non-Resolvable Private Address
					Generation Procedure (C.1)
TSPC_GAP_36_3	False		Central: Resolvable Private Address Resolution
					Procedure (C.2)
TSPC_GAP_36_4	False		Central: Write to Privacy Characteristic
					(Enable/Disable Privacy) (O)
-------------------------------------------------------------------------------
C.1: Mandatory if TSPC_GAP_36_1 and TSPC_GAP_30_2 are supported,
	otherwise Excluded.
C.2: Mandatory if TSPC_GAP_36_1 is supported, otherwise Excluded.
-------------------------------------------------------------------------------


		Central GAP Characteristics
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_37_1	True (*#)	Central: Device Name (M)
TSPC_GAP_37_2	True (*#)	Central: Appearance (M)
-------------------------------------------------------------------------------


		BR/EDR/LE Roles
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_38_1	False		BR/EDR/LE: Broadcaster (C.1)
TSPC_GAP_38_2	True (*#)	BR/EDR/LE: Observer (C.1)
TSPC_GAP_38_3	False		BR/EDR/LE: Peripheral (C.1)
TSPC_GAP_38_4	True (*#)	BR/EDR/LE: Central (C.1)
-------------------------------------------------------------------------------
C.1: It is mandatory to support at least one of the defined roles.
This table is applicable for BR/EDR/LE configurations. For LE-only
configurations, see 'LE Roles' table for role declarations.
-------------------------------------------------------------------------------


		Central BR/EDR/LE Modes
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_39_1	True (*#)	Central BR/EDR/LE: Non-Discoverable Mode (C.1)
TSPC_GAP_39_2	True (*#)	Central BR/EDR/LE: Discoverable Mode (C.2)
TSPC_GAP_39_3	True (*#)	Central BR/EDR/LE: Non-Connectable Mode (C.3)
TSPC_GAP_39_4	True (#)	Central BR/EDR/LE: Connectable Mode (M)
TSPC_GAP_39_5	False		Central BR/EDR/LE: Non-Bondable Mode (C.4)
TSPC_GAP_39_6	True (*#)	Central BR/EDR/LE: Bondable Mode (C.5)
-------------------------------------------------------------------------------
C.1: Mandatory if TSPC_GAP_1_1 is supported over BR/EDR, otherwise Excluded.
C.2: Mandatory if (TSPC_GAP_1_2 or TSPC_GAP_1_3) is supported over BR/EDR,
	otherwise Excluded.
C.3: Mandatory if TSPC_GAP_1_4 is supported over BR/EDR, otherwise Excluded.
C.4: Mandatory if TSPC_GAP_1_6 is supported over BR/EDR, otherwise Excluded.
C.5: Mandatory if TSPC_GAP_1_7 is supported over BR/EDR, otherwise Excluded.
-------------------------------------------------------------------------------


		Central BR/EDR/LE Idle Mode Procedures
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_40_1	True (*#)	Central BR/EDR/LE: General Discovery (C.1)
TSPC_GAP_40_2	False		Central BR/EDR/LE: Limited Discovery (C.2)
TSPC_GAP_40_3	True (*#)	Central BR/EDR/LE: Device Type Discovery (C.3)
TSPC_GAP_40_4	True (*#)	Central BR/EDR/LE: Name Discovery (C.4)
TSPC_GAP_40_5	True (*#)	Central BR/EDR/LE: Link Establishment (C.5)
-------------------------------------------------------------------------------
C.1: Mandatory if TSPC_GAP_3_1 is supported over BR/EDR, otherwise Excluded.
C.2: Mandatory if TSPC_GAP_3_2 is supported over BR/EDR, otherwise Excluded.
C.3: Mandatory if (TSPC_GAP_3_1 or TSPC_GAP_3_2) is supported over BR/EDR,
	otherwise Excluded.
C.4: Mandatory if TSPC_GAP_3_3 is supported over BR/EDR, otherwise Excluded.
C.5: Mandatory if (TSPC_GAP_4_1 or TSPC_GAP_4_2) is supported over BR/EDR,
	otherwise Excluded.
-------------------------------------------------------------------------------


		Central BR/EDR/LE Security Aspects
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_41_1	True (#)	Central BR/EDR/LE: Security Aspects (M)
-------------------------------------------------------------------------------


		Central Simultaneous BR/EDR and LE Transports
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_42_1	False		Simultaneous BR/EDR and LE Transports –	BR/EDR
					Slave to the same device (C.1)
TSPC_GAP_42_2	False		Simultaneous BR/EDR and LE Transports – BR/EDR
					Master to the same device (C.1)
-------------------------------------------------------------------------------
C.1: Optional if ((SUM ICS 31/14 (Core Spec Version 4.1) or SUM ICS 31/15
	(Core Spec Version 4.1+HS)) is supported, otherwise Excluded.
-------------------------------------------------------------------------------


		Peripheral BR/EDR/LE Modes
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_43_1	False		Peripheral BR/EDR/LE: Non-Discoverable Mode
				(C.1)
TSPC_GAP_43_2	False		Peripheral BR/EDR/LE: Discoverable Mode
				(C.2)
TSPC_GAP_43_3	False		Peripheral BR/EDR/LE: Non-Connectable Mode
				(C.3)
TSPC_GAP_43_4	False (*)	Peripheral BR/EDR/LE: Connectable Mode  (M)
TSPC_GAP_43_5	False		Peripheral BR/EDR/LE: Non-Bondable Mode (C.4)
TSPC_GAP_43_6	False		Peripheral BR/EDR/LE: Bondable Mode (C.5)
-------------------------------------------------------------------------------
C.1: Mandatory if TSPC_GAP_1_1 is supported over BR/EDR, otherwise Excluded.
C.2: Mandatory if (TSPC_GAP_1_2 or TSPC_GAP_1_3) is supported over BR/EDR,
	otherwise Excluded.
C.3: Mandatory if TSPC_GAP_1_4 is supported over BR/EDR, otherwise Excluded.
C.4: Mandatory if TSPC_GAP_1_6 is supported over BR/EDR, otherwise Excluded.
C.5: Mandatory if TSPC_GAP_1_7 is supported over BR/EDR, otherwise Excluded.
-------------------------------------------------------------------------------


		Peripheral BR/EDR/LE Security Aspects
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_44_1	False (*)	Peripheral BR/EDR/LE: Security Aspects (M)
-------------------------------------------------------------------------------


		Peripheral Simultaneous BR/EDR and LE Transports
-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_GAP_45_1	False		Simultaneous BR/EDR and LE Transports – BR/EDR
					Slave to the same device (C.1)
TSPC_GAP_45_2	False		Simultaneous BR/EDR and LE Transports – BR/EDR
					Master to the same device (C.1)
-------------------------------------------------------------------------------
C.1: Optional if ((SUM ICS 31/14 (Core Spec Version 4.1) or SUM ICS 31/15
(Core Spec Version 4.1+HS)) is supported, otherwise Excluded.
-------------------------------------------------------------------------------


-------------------------------------------------------------------------------
Parameter Name	Selected	Description
-------------------------------------------------------------------------------
TSPC_SM_1_1	False		Master Role (Initiator)
TSPC_SM_1_2	False		Slave Role (Responder)
TSPC_SM_2_4	False		OOB supported (O)
TSPC_ALL	False		Turns on all
-------------------------------------------------------------------------------
