hdcp22_rx_dp: xhdcp22_rx_i.h File Reference

| hdcp22_rx_dp Xilinx SDK Drivers API Documentation

- Overview
- Data Structures
- APIs
- File List

Data Structures | Enumerations | Functions
xhdcp22_rx_i.h File Reference

## Data Structures
struct | XHdcp22_Rx_KprivRx
| This typedef is the RSA private key quintuple definition. More...
struct | XHdcp22_Rx_KpubRx
| This typedef is the RSA public key definition. More...
struct | XHdcp22_Rx_CertRx
| This typedef is the DCP public certificate definition. More...
struct | XHdcp22_Rx_AKEInit
| This typedef is the AKE_Init message definition. More...
struct | XHdcp22_Rx_AKESendCert
| This typedef is the AKE_Send_Cert message definition. More...
struct | XHdcp22_Rx_AKENoStoredKm
| This typedef is the AKE_No_Stored_km message definition. More...
struct | XHdcp22_Rx_AKEStoredKm
| This typedef is the AKE_Stored_km message definition. More...
struct | XHdcp22_Rx_AKESendHPrime
| This typedef is the AKE_Send_H_prime message definition. More...
struct | XHdcp22_Rx_AKESendPairingInfo
| This typedef is the AKE_Send_Pairing_Info message definition. More...
struct | XHdcp22_Rx_LCInit
| This typedef is the LC_Init message definition. More...
struct | XHdcp22_Rx_LCSendLPrime
| This typdef is the LC_Send_L_prime message definition. More...
struct | XHdcp22_Rx_SKESendEks
| This typedef is the SKE_Send_Eks message definition. More...
struct | XHdcp22_Rx_RepeaterAuthSendRxIdList
| This typedef is the RepeaterAuth_Send_RceiverID_List message definition. More...
struct | XHdcp22_Rx_RepeaterAuthSendAck
| This typedef is the RepeaterAuth_Send_Ack message definition. More...
struct | XHdcp22_Rx_RepeaterAuthStreamManage
| This typedef is the RepeaterAuth_Stream_Manage message definition. More...
struct | XHdcp22_Rx_RepeaterAuthStreamReady
| This typedef is the RepeaterAuth_Stream_Ready message definition. More...
union | XHdcp22_Rx_Message
| This typedef is the union of all the message types. More...

## Enumerations
enum | XHdcp22_Rx_MessageIds { XHDCP22_RX_MSG_ID_AKEINIT = 2, XHDCP22_RX_MSG_ID_AKESENDCERT = 3, XHDCP22_RX_MSG_ID_AKENOSTOREDKM = 4, XHDCP22_RX_MSG_ID_AKESTOREDKM = 5, XHDCP22_RX_MSG_ID_AKESENDHPRIME = 7, XHDCP22_RX_MSG_ID_AKESENDPAIRINGINFO = 8, XHDCP22_RX_MSG_ID_LCINIT = 9, XHDCP22_RX_MSG_ID_LCSENDLPRIME = 10, XHDCP22_RX_MSG_ID_SKESENDEKS = 11, XHDCP22_RX_MSG_ID_REPEATERAUTHSENDRXIDLIST = 12, XHDCP22_RX_MSG_ID_REPEATERAUTHSENDACK = 15, XHDCP22_RX_MSG_ID_REPEATERAUTHSTREAMMANAGE = 16, XHDCP22_RX_MSG_ID_REPEATERAUTHSTREAMREADY = 17 }
| These constants are the message identification codes. More...
enum | XHdcp22_Rx_ErrorFlag { XHDCP22_RX_ERROR_FLAG_NONE = 0, XHDCP22_RX_ERROR_FLAG_MESSAGE_SIZE = 1, XHDCP22_RX_ERROR_FLAG_FORCE_RESET = 2, XHDCP22_RX_ERROR_FLAG_PROCESSING_AKEINIT = 4, XHDCP22_RX_ERROR_FLAG_PROCESSING_AKENOSTOREDKM = 8, XHDCP22_RX_ERROR_FLAG_PROCESSING_AKESTOREDKM = 16, XHDCP22_RX_ERROR_FLAG_PROCESSING_LCINIT = 32, XHDCP22_RX_ERROR_FLAG_PROCESSING_SKESENDEKS = 64, XHDCP22_RX_ERROR_FLAG_PROCESSING_REPEATERAUTHSENDACK = 128, XHDCP22_RX_ERROR_FLAG_PROCESSING_REPEATERAUTHSTREAMMANAGE = 256, XHDCP22_RX_ERROR_FLAG_LINK_INTEGRITY = 512, XHDCP22_RX_ERROR_FLAG_DDC_BURST = 1024, XHDCP22_RX_ERROR_FLAG_MAX_LCINIT_ATTEMPTS = 2048, XHDCP22_RX_ERROR_FLAG_MAX_REPEATER_TOPOLOGY = 4096, XHDCP22_RX_ERROR_FLAG_EMPTY_REPEATER_TOPOLOGY = 8192 }
| These constants define the error conditions encountered during authentication and key exchange. More...
enum | XHdcp22_Rx_DdcFlag { XHDCP22_RX_DDC_FLAG_NONE = 0, XHDCP22_RX_DDC_FLAG_WRITE_MESSAGE_READY = 1, XHDCP22_RX_DDC_FLAG_READ_MESSAGE_READY = 2 }
| These constants defines the DDC flags used to determine when messages are available in the write message buffer or when a message has been read out of the read message buffer. More...
enum | Xhdcp22_Rx_DpcdFlag { XHDCP22_RX_DPCD_FLAG_NONE, XHDCP22_RX_DPCD_FLAG_AKE_INIT_RCVD, XHDCP22_RX_DPCD_FLAG_AKE_NO_STORED_KM_RCVD, XHDCP22_RX_DPCD_FLAG_AKE_STORED_KM_RCVD, XHDCP22_RX_DPCD_FLAG_LC_INIT_RCVD, XHDCP22_RX_DPCD_FLAG_SKE_SEND_EKS_RCVD, XHDCP22_RX_DPCD_FLAG_HPRIME_READ_DONE, XHDCP22_RX_DPCD_FLAG_PAIRING_INFO_READ_DONE }
| These constants defines the DPCD flags used to determine when messages are available in the DPCD registers. More...
enum | XHdcp22_Rx_LogData { XHDCP22_RX_LOG_INFO_RESET, XHDCP22_RX_LOG_INFO_ENABLE, XHDCP22_RX_LOG_INFO_DISABLE, XHDCP22_RX_LOG_INFO_REQAUTH_REQ, XHDCP22_RX_LOG_INFO_ENCRYPTION_ENABLE, XHDCP22_RX_LOG_INFO_TOPOLOGY_UPDATE, XHDCP22_RX_LOG_DEBUG_WRITE_MESSAGE_AVAILABLE, XHDCP22_RX_LOG_DEBUG_READ_MESSAGE_COMPLETE, XHDCP22_RX_LOG_DEBUG_COMPUTE_RSA, XHDCP22_RX_LOG_DEBUG_COMPUTE_RSA_DONE, XHDCP22_RX_LOG_DEBUG_COMPUTE_KM, XHDCP22_RX_LOG_DEBUG_COMPUTE_KM_DONE, XHDCP22_RX_LOG_DEBUG_COMPUTE_HPRIME, XHDCP22_RX_LOG_DEBUG_COMPUTE_HPRIME_DONE, XHDCP22_RX_LOG_DEBUG_COMPUTE_EKH, XHDCP22_RX_LOG_DEBUG_COMPUTE_EKH_DONE, XHDCP22_RX_LOG_DEBUG_COMPUTE_LPRIME, XHDCP22_RX_LOG_DEBUG_COMPUTE_LPRIME_DONE, XHDCP22_RX_LOG_DEBUG_COMPUTE_KS, XHDCP22_RX_LOG_DEBUG_COMPUTE_KS_DONE, XHDCP22_RX_LOG_DEBUG_COMPUTE_VPRIME, XHDCP22_RX_LOG_DEBUG_COMPUTE_VPRIME_DONE, XHDCP22_RX_LOG_DEBUG_COMPUTE_MPRIME, XHDCP22_RX_LOG_DEBUG_COMPUTE_MPRIME_DONE, XHDCP22_RX_LOG_DEBUG_TIMER_START, XHDCP22_RX_LOG_DEBUG_TIMER_EXPIRED }
| These constants are the detailed logging events. More...
enum | XHdcp22_Rx_TestFlags { XHDCP22_RX_TEST_FLAG_NONE, XHDCP22_RX_TEST_FLAG_NOSTOREDKM_WITH_RECEIVER, XHDCP22_RX_TEST_FLAG_STOREDKM_WITH_RECEIVER, XHDCP22_RX_TEST_FLAG_NOSTOREDKM_WITH_REPEATER, XHDCP22_RX_TEST_FLAG_STOREDKM_WITH_REPEATER, XHDCP22_RX_TEST_FLAG_REPEATER_MISORDERED_SEQUENCE_1, XHDCP22_RX_TEST_FLAG_REPEATER_MISORDERED_SEQUENCE_2, XHDCP22_RX_TEST_FLAG_REPEATER_MISORDERED_SEQUENCE_3, XHDCP22_RX_TEST_FLAG_REPEATER_TOPOLOGY_CHANGE, XHDCP22_RX_TEST_FLAG_REPEATER_TOPOLOGY_TIMEOUT, XHDCP22_RX_TEST_FLAG_INVALID }
| These constants are used for setting up the desired unit test for standalong testing. More...
enum | XHdcp22_Rx_TestMode { XHDCP22_RX_TESTMODE_DISABLED, XHDCP22_RX_TESTMODE_NO_TX, XHDCP22_RX_TESTMODE_SW_TX, XHDCP22_RX_TESTMODE_INVALID }
| These constants are used to set the cores test mode. More...
enum | XHdcp22_Rx_TestDdcAccess { XHDCP22_RX_TEST_DDC_ACCESS_WO, XHDCP22_RX_TEST_DDC_ACCESS_RO, XHDCP22_RX_TEST_DDC_ACCESS_RW }
| These constants define the test ddc access types for standalone self testing. More...
enum | XHdcp22_Rx_TestState
| These constants are the discrete event states for standalone self testing. More...

## Functions
int | XHdcp22Rx_CalcMontNPrime (u8 *NPrime, const u8 *N, int NDigits)
| This function is used to calculate the Montgomery NPrime. More...
void | XHdcp22Rx_GenerateRandom (XHdcp22_Rx *InstancePtr, int NumOctets, u8 *RandomNumberPtr)
| This function generates random octets. More...
int | XHdcp22Rx_RsaesOaepEncrypt (const XHdcp22_Rx_KpubRx *KpubRx, const u8 *Message, const u32 MessageLen, const u8 *MaskingSeed, u8 *EncryptedMessage)
| This function implements the RSAES-OAEP-Encrypt operation. More...
int | XHdcp22Rx_RsaesOaepDecrypt (XHdcp22_Rx *InstancePtr, const XHdcp22_Rx_KprivRx *KprivRx, u8 *EncryptedMessage, u8 *Message, int *MessageLen)
| This function implements the RSAES-OAEP-Decrypt operation. More...
void | XHdcp22Rx_ComputeHPrime (const u8 *Rrx, const u8 *RxCaps, const u8 *Rtx, const u8 *TxCaps, const u8 *Km, u8 *HPrime)
| This function computes HPrime used during HDCP 2.2 authentication and key exchange. More...
void | XHdcp22Rx_ComputeEkh (const u8 *KprivRx, const u8 *Km, const u8 *M, u8 *Ekh)
| This function computes Ekh used during HDCP 2.2 authentication and key exchange for pairing with receiver. More...
void | XHdcp22Rx_ComputeLPrime (const u8 *Rn, const u8 *Km, const u8 *Rrx, const u8 *Rtx, u8 *LPrime)
| This function computes LPrime used during HDCP 2.2 locality check. More...
void | XHdcp22Rx_ComputeKs (const u8 *Rrx, const u8 *Rtx, const u8 *Km, const u8 *Rn, const u8 *Eks, u8 *Ks)
| This function computes the Ks used during HDCP 2.2 session key exchange. More...
void | XHdcp22Rx_ComputeVPrime (const u8 *ReceiverIdList, u32 ReceiverIdListSize, const u8 *RxInfo, const u8 *SeqNumV, const u8 *Km, const u8 *Rrx, const u8 *Rtx, u8 *VPrime)
| This function computes VPrime used during HDCP 2.2 repeater authentication. More...
void | XHdcp22Rx_ComputeMPrime (const u8 *StreamIdType, const u8 *SeqNumM, const u8 *Km, const u8 *Rrx, const u8 *Rtx, u8 *MPrime)
| This function computes VPrime used during HDCP 2.2 repeater authentication. More...