# UniTAP.dev.ports.modules.hdcp.hdcp_rx

class HdcpSinkStatus:

Class `HdcpSinkStatus` contains information about HDCP 1.4 and 2.3 statuses. If you want to get object of one the status, use function `get`.

HdcpSinkStatus( port_io: UniTAP.libs.lib_tsi.tsi_io.PortIO, ci_status_control: int, caps_1x: UniTAP.dev.ports.modules.hdcp.types.HdcpHwSinkCaps, caps_2x: UniTAP.dev.ports.modules.hdcp.types.HdcpHwSinkCaps)
def get(self, hdcp_mode: Type[~HdcpStatusType]) -> ~HdcpStatusType:

Returns one of possible HDCP Status Type:

- Status1x (HDCP 1.4).
- StatusRx2x (HDCP 2.3).

Object contains info about:

- HDCP keys (HdcpSink1XKeys if HDCP type 1.4; HdcpSink2XKeys if HDCP type 2.3).
- Active state (True or False).
- Authenticated state (True or False).
- Capable state (True or False).

###### Returns:

> object of `HdcpStatusType` (`Status1x` or `StatusRx2x`)

class HdcpSinkConfig:

Class `HdcpSinkConfig` contains information about HDCP 1.4 and 2.3 configurations. If you want to set configuration, use function `set`. If you want to get current config, use function `get`.

HdcpSinkConfig( port_io: UniTAP.libs.lib_tsi.tsi_io.PortIO, caps_1x: UniTAP.dev.ports.modules.hdcp.types.HdcpHwSinkCaps, caps_2x: UniTAP.dev.ports.modules.hdcp.types.HdcpHwSinkCaps, status: HdcpSinkStatus)
def set(self, config: ~HdcpRxConfigType):

This function is used to set the HDCP on Sink (RX - receiver) side. Possible to load HDCP keys and enable/disable HDCP.

###### Arguments:

- config (HdcpRxConfigType) - one of the available HDCP config type: Config1x (HDCP 1.4), Config2x (HDCP 2.3)

def get(self, hdcp_mode: Type[~HdcpRxConfigType]) -> ~HdcpRxConfigType:

This function is used to get current HDCP configuration on Sink (RX - receiver) side.

###### Returns:

> object of HdcpRxConfigType - one of the available HDCP config type: Config1x (HDCP 1.4), Config2x (HDCP 2.3)

class HdcpSink:

Main class contains info of HDCP on Sink (RX - receiver) side. If you need to configurate HDCP, use `config` for getting object responsible for the configuration. If you need to read HDCP status, use `status` for getting object responsible for the reading current status.

HdcpSink( port_io: UniTAP.libs.lib_tsi.tsi_io.PortIO, ci_caps_control: int, ci_status_control: int)
config: HdcpSinkConfig

Should be used to configure HDCP on Sink (RX - receiver) role.

###### Returns:

> object of `HdcpSinkConfig`.

status: HdcpSinkStatus

Should be used to read HDCP current status on Sink (RX - receiver) role.

###### Returns:

> object of `HdcpSinkStatus`.