IOPT PICS for the PTS tool.

PTS version: 5.1

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

M - mandatory
O - optional

		Profiles
-------------------------------------------------------------------------------
Parameter Name				Selected	Description
-------------------------------------------------------------------------------
TSPC_support_						Support for: Advanced
AdvancedAudioDistributionProfile_Sink	False		Audio Distribution
							Profile. Role: Sink

TSPC_support_						Support for: Advanced
AdvancedAudioDistributionProfile_Source	True (*)	Audio Distribution
							Profile. Role: Source

TSPC_support_AVRemoteControlProfile_CT	True (*)	Support for: Audio\Video
							Remote Control Profile.
							Role: Controller

TSPC_support_AVRemoteControlProfile_TG	True (*)	Support for: Audio\Video
							Remote Control Profile.
							Role: Target

TSPC_support_BasicImagingProfile_CLIENT	False		Support for: Basic
							Imaging Profile.
							Role: Client

TSPC_support_BasicImagingProfile_			Support for: Basic
SERVER_ImagingAutomaticArchive		False		Imaging Profile. Role:
							Server Functionality:
							Imaging autoarchive

TSPC_support_BasicImagingProfile_	False		Support for: Basic
SERVER_ImagingReferencedObjects				Imaging Profile. Role:
							Server Functionality:
							Imaging ref. objects

TSPC_support_BasicImagingProfile_	False		Support for: Basic
SERVER_ImagingResponder					Imaging Profile. Role:
							Server Functionality:
							Imaging responder

TSPC_support_				False		Support for: Basic
BasicPrintingProfile_PRINTER				Printing Profile. Role:
							Printer

TSPC_support_						Support for: Basic
BasicPriProfile_PRINTER_ReflectedUI	False		Printing Profile. Role:
							Printer Functionality:
							Reflected UI

TSPC_support_BasicPrintingProfile_			Support for: Basic
SENDER_Referenced_objects_Service	False		Printing Profile. Role:
							Sender Functionality:
							Refe. objects service

TSPC_support_DialUpNetworkingProfile_DT	False		Support for: Dial-Up
							Networking Profile.
							Role: Data Terminal

TSPC_support_DialUpNetworkingProfile_GW	False		Support for: Dial-Up
							Networking Profile.
							Role: Gateway

TSPC_support_				True (*)	Support for: Extended
ExtendedServiceDiscoveryProfile_IP_LAP			SDP. Version: IP-LAP

TSPC_support_				True (*)	Support for: Extended
ExtendedServiceDiscoveryProfile_IP_PAN			SDP. Version: IP-PAN

TSPC_support_				True (*)	Support for: Extended
ExtendedServiceDiscoveryProfile_L2CAP			SDP. Version: L2CAP

TSPC_support_FAXProfile_DE		False		Support for: FAX Profile
							Role: Data Terminal

TSPC_support_FAXProfile_GW		False		Support for: FAX Profile
							Role: Gateway

TSPC_support_FileTransferProfile_CLIENT	False		Support for: FTP
							Role: Client

TSPC_support_FileTransferProfile_SERVER	False		Support for: FTP
							Role: Server

TSPC_support_HealthDeviceProfile_Sink	False (#)	Support for: HDP
							Role: Sink

TSPC_support_HealthDeviceProfile_Source	False (#)	Support for: HDP
							Role: Source

TSPC_support_NewHandsFreeProfile_AG	False		Support for: HFP
							Role: Audio gateway

TSPC_support_NewHandsFreeProfile_HF	False		Support for: HFP
							Role: Hands-Free unit

TSPC_support_				False		Support for: Hard Copy
HardCopyReplacementProfile_				cable Repl. Profile
CLIENT_CR_RegisterNotofication_support			Role: Client
							Functionality: CR
							register notification
							support

TSPC_support_				False		Support for: Hard Copy
HardCopyReplacementProfile_CLIENT_print			cable Repl. Profile.
							Role: Client
							Functionality: Print

TSPC_support_				False		Support for: Hard Copy
HardCopyReplacementProfile_CLIENT_scan			cable Repl. Profile.
							Role: Client
							Functionality: Scan

TSPC_support_				False		Support for: Hard Copy
HardCopyReplacementProfile_SERVER_print			cable Repl. Profile.
							Role: Server
							Functionality: Print

TSPC_support_				False		Support for: Hard Copy
HardCopyReplacementProfile_SERVER_scan			cable Repl. Profile.
							Role: Server
							Functionality: Scan

TSPC_support_HeadsetProfile_AG		True (*)	Support for: HSP
							Role: Audio Gateway

TSPC_support_HeadsetProfile_HS		False		Support for: HSP
							Role: Headset

TSPC_support_				False		Support for: HID
HumanInterfaceDeviceProfile				Role: Device

TSPC_support_HID_Host			True (*)	Support for: HID
							Role: Host

TSPC_support_LANAccessProfile_DT	False		Support for: LAN Access
							Profile. Role: Data
							Terminal

TSPC_support_LANAccessProfile_LAP	False		Support for: LAN Access
							Profile. Role: LAN
							Access Point

TSPC_support_MessaeAccessProfile_MCE	False		Support for: MAP
							Role: MCE

TSPC_support_MessageAccessProfile_MSE	True (*)	Support for: MAP
							Role: MSE

TSPC_support_ObjectPushProfile_CLIENT	True (*)	Support for: OPP
							Role: Client

TSPC_support_ObjectPushProfile_SERVER	True (*)	Support for: OPP
							Role: Server

TSPC_support_				False		Support for: PAN
PersonalAreaNetworkProfile_GN				Role: GN

TSPC_support_				True (*)	Support for: PAN
PersonalAreaNetworkProfile_NAP				Role: NAP

TSPC_support_				True (*)	Support for: PAN
PersonalAreaNetworkProfile_PANU				Role: PANU

TSPC_support_PhonebookAccessProfile_PCE	False		Support for: PBAP
							Role: PCE

TSPC_support_PhonebookAccessProfile_PSE	True (*)	Support for: PBAP
							Role: PSE

TSPC_support_SerialPortProfile_Service	False		Support for: SPP
							Role: Dev B

TSPC_support_				False		Support for: Service
ServiceDiscoveryApplicationProfile			Discovery Application
							Profile

TSPC_support_SIMAccessProfile_CLIENT	False		Support for: SIM access
							Profile. Role: Client

TSPC_support_SIMAccessProfile_SERVER	False		Support for: SIM access
							Profile. Role: Server

TSPC_support_				False		Support for:
SynchronizationProfile_CLIENT				Synchronization Profile
							Role: Client

TSPC_support_				False		Support for:
SynchronizationProfile_SERVER				Synchronization Profile
							Role: Server

TSPC_support_UDIProfile_MT		False		Support for: UDI Profile
							Role: MT

TSPC_support_UDIProfile_TA		False		Support for: UDI Profile
							Role: TA

TSPC_support_				False		Support for: Video
VideoDistributionProfile_Sink				distribution Profile
							Role: Sink

TSPC_support_				False		Support for: Video
VideoDistributionProfile_Source				distribution Profile
							Role: Source

TSPC_support_WAPOverBluetooth_CLIENT	False		Support for: WAP over
							Bluetooth Profile
							Role: Client

TSPC_support_WAPOverBluetooth_PROXY	False		Support for: WAP over
							Bluetooth Profile
							Role: PROXY

TSPC_support_GNSS_SERVER		False		Support for: GNSS
							Role: Server
