⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cprm_api.h

📁 SigmDesign SMP8634 media decode chip development SDK
💻 H
字号:
/**************************************************************************** * Copyright (c) Sigma Designs, Inc. 2006. All rights reserved. *//** *	@file     cprm_api.h * *	@brief    CPRM for the SMP86xx * *	@version  0.2 * *	@buglog   Second revision * *	@author   Glen Adams * *	@date     2006-03-13 * ****************************************************************************/ #ifndef __CPRM_API_H__#define __CPRM_API_H__/*---------------------------------------------------------------------------                                 INCLUDES ---------------------------------------------------------------------------*/#include "rmdef/rmdef.h"#include "rmdef/rmpacketcommandops.h"#include "rmcci/include/output_cci.h"#ifdef __cplusplusextern "C" {#endif/*---------------------------------------------------------------------------                            CONSTANT LITERALS ---------------------------------------------------------------------------*//**   Minimum size of the RUA memory used for communicating with the xtask.   This RUA memory is passed as the first parameter to cprm_initialize().*/#define CPRM_XRPC_SIZE ((4 + (16 * 24) + 25) * 1024)/*---------------------------------------------------------------------------                           TYPES / CLASSES ---------------------------------------------------------------------------*//**   Combines a RMpacketCommand callback with its context.   It is used for low level communication with the drive.*/struct RMpacketHandle {	void *handle;	PacketCommandOp packetcommandop;};/*---------------------------------------------------------------------------                           FUNCTION PROTOTYPES ---------------------------------------------------------------------------*//**   Loads the CPRM shared library and the CPRM xtask.   @param xrpc_base_addr base address of RUA memory used for communicating with the xtask.   @param xrpc_base_size size of RUA memory used for communicating with the xtask.   @param map_addr CPU virtual address of RUA memory used for communicating with the xtask.   @param cprmSector the internal serial flash sector used to store CPRM keys.   @param c2TablePtr address of the C2 table used by the microcode.   @param c2KeyPtr address of the C2 key used by the microcode.   @param cprmSlot the slot number where the CPRM xtask image has been preloaded.   @return RM_OK if succesful, an error code if unsuccessful.*/RMstatus cprm_initialize_with_preload(RMuint32 xrpc_base_addr, RMuint32 xrpc_base_size, RMuint8 *map_addr, RMuint32 cprmSector, RMuint32 c2TablePtr, RMuint32 c2KeyPtr, RMuint32 cprmSlot);RMstatus cprm_initialize(RMuint32 xrpc_base_addr, RMuint32 xrpc_base_size, RMuint8 *map_addr, RMuint32 cprmSector, RMuint32 c2TablePtr, RMuint32 c2KeyPtr);/**   Computes the CPRM title key of a CPRM disc, and gives it to the microcode.   @param h a packet command callback/context for low level communication with the drive.   @param encryptedTitleKey the 8-byte encrypted title key to be decrypted.   @return RM_OK if succesful, an error code if unsuccessful.*/RMstatus cprm_compute_title_key(struct RMpacketHandle *h, RMuint8* encryptedTitleKey);/**   Verify the DCI_CCI has not been tampered with   @param dciCci the unencrypted DCI_CCI from the RDI Pack.   @param verificationData the DCI_CCI verification data from the RDI Pack.   @param titleKeyConversionData the Title Key Conversion Data from the following AV Pack.   @param pesScramblingControlByte byte 20 from the following AV Pack.   @param cprmCci the rmcci data structure to be filled in with the appropriate DCI_CCI info from the RDI Pack.   @return RM_OK if succesful, an error code if unsuccessful.*/RMstatus cprm_verify_dci_cci(RMuint8* dciCci,			     RMuint8* verificationData,			     RMuint8* titleKeyConversionData,			     RMuint8  pesScramblingControlByte,			     struct rmcci *cprmCci);/**   Unloads the CPRM xtask and the CPRM shared library.   @param void   @return RM_OK if succesful, an error code if unsuccessful.*/RMstatus cprm_terminate(void);#ifdef __cplusplus};#endif#endif //#ifndef __CPRM_API_H__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -