📄 abcdrm_api.h
字号:
/**************************************************************************** * Copyright (c) Sigma Designs, Inc. 2006. All rights reserved. *//** * @file abcdrm_api.h * * @brief ABCDRM for the SMP8634 * * @version 0.1 * * @buglog First revision * * @author Thulasi Jeganathan * * @date 2006-04-28 * ****************************************************************************/ #ifndef __ABCDRM_API_H__#define __ABCDRM_API_H__/*--------------------------------------------------------------------------- INCLUDES ---------------------------------------------------------------------------*/#include "rmdef/rmdef.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 abcdrm_initialize().*/#define ABCDRM_XRPC_SIZE (32 * 1024)/*--------------------------------------------------------------------------- FUNCTION PROTOTYPES ---------------------------------------------------------------------------*//** Loads the ABCDRM shared library and the ABCDRM 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 abcdrm_sector the ABCDRM's sector of the internal serial flash. @param abcdrm_slot the slot number where the ABCDRM xtask image has been preloaded. @return RM_OK if succesful, an error code if unsuccessful.*/RMstatus abcdrm_initialize_with_preload(RMuint32 xrpc_base_addr, RMuint32 xrpc_base_size, RMuint8 abcdrm_sector, RMuint8 abcdrm_slot);RMstatus abcdrm_initialize(RMuint32 xrpc_base_addr, RMuint32 xrpc_base_size, RMuint8 abcdrm_sector);/** Unloads the ABCDRM xtask and the ABCDRM shared library. @param void @return RM_OK if succesful, an error code if unsuccessful.*/RMstatus abcdrm_terminate(void);/** Increments a test vector. @param vector an array of 16 bytes. @return RM_OK if succesful, an error code if unsuccessful.*/RMstatus abcdrm_increment_vector(RMuint8 *vector);/** Adds first and second vectors, writing the result into the third vector. @param vector1 an array of 16 bytes. @param vector2 an array of 16 bytes. @param vector3 an array of 16 bytes. @return RM_OK if succesful, an error code if unsuccessful.*/RMstatus abcdrm_add_vectors(RMuint8 *vector1, RMuint8 *vector2, RMuint8 *vector3);/** Saves the AES key and iv into the internal serial flash. @param aes_key the ABCDRM's AES key (an array of 16 bytes). @param aes_iv the ABCDRM's AES initialization vector (an array of 16 bytes). @return RM_OK if succesful, an error code if unsuccessful.*/RMstatus abcdrm_save_key(RMuint8 *aes_key, RMuint8 *aes_iv);/** Decrypts vector using AES key and iv from the internal serial flash. @param vector an array of 16 bytes. @return RM_OK if succesful, an error code if unsuccessful.*/RMstatus abcdrm_decrypt_vector(RMuint8 *vector);/** Decrypts RUA buffer using AES key and iv from the internal serial flash. @param rua_base_addr base address of the encrypted RUA buffer. @param rua_base_size size of the encrypted RUA buffer. @return RM_OK if succesful, an error code if unsuccessful.*/RMstatus abcdrm_decrypt_buffer(RMuint32 rua_base_addr, RMuint32 rua_base_size);/** Sets pointer to Eraser FIFO control structure. @param eraser pointer to Eraser FIFO control structure. @return RM_OK if succesful, an error code if unsuccessful.*/RMstatus abcdrm_set_eraser(RMuint32 eraser);#ifdef __cplusplus};#endif#endif //#ifndef __ABCDRM_API_H__
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -