📄 aacs_interface.h
字号:
/************************************************************** * * Copyright (c) Sigma Designs, Inc. 2005. All rights reserved. * *//** * @file aacs_interface.h * @brief AACS interface to shared library * * @author Fabrice/Julien * ***************************************************************/#ifndef __AACS_INTERFACE_H__#define __AACS_INTERFACE_H__#include "aacs_api.h"#include "aacs_cci.h"struct aacs_interface_s { struct aacs_handle * (* aacs_open)(RMuint32 gbus_memory, RMuint32 mapped_memory, RMuint32 mem_size, RMuint32 chip); struct aacs_context * (* aacs_instantiate) (struct aacs_handle *aacs_handle, RMuint32 flags, struct aacs_callbacks_s *callbacks, void *callback_context); RMstatus (*aacs_authenticate) (struct aacs_context *aacs_context); RMstatus (*aacs_content_revocation)(struct aacs_context *aacs_context); RMstatus (*aacs_title_ready)(struct aacs_context *aacs_context, RMuint32 title_id, RMuint8 basic_cci[AACS_BCCI_SIZE]); RMstatus (*aacs_clip_ready)(struct aacs_context *aacs_context, RMuint16 clip_id, RMuint8 bd_directory, RMuint8 basic_cci[AACS_BCCI_SIZE]); RMstatus (*aacs_decrypt_thumbnail)(struct aacs_context *aacs_context, enum bdav_tn_type tn_type, RMuint8 bd_directory, RMuint8 *tn_sub_in, RMuint8 *tn_sub_out, RMuint32 n_tn_sub, RMuint8 basic_cci[AACS_BCCI_SIZE]); RMstatus (*aacs_get_psr)(struct aacs_context *aacs_context, RMuint32 psr, RMuint32 *psr_value); RMstatus (*aacs_get_bdj_hash)(struct aacs_context *aacs_context, RMuint16 *aid, RMuint32 *csn, RMuint8 hash[AACS_SHA1_SIZE]); RMstatus (*aacs_get_pmsn)(struct aacs_context *aacs_context, RMuint8 pmsn[AACS_PMSN_SIZE]); RMstatus (*aacs_get_volume_id)(struct aacs_context *aacs_context, RMuint8 vid[AACS_VID_SIZE]); RMstatus (*aacs_cancel)(struct aacs_context *aacs_context); RMstatus (*aacs_set_kcd)(struct aacs_context *aacs_context, const RMuint8 *data, RMuint32 size); RMstatus (*aacs_random_gen)(struct aacs_context *aacs_context, RMuint8 *rnd); RMstatus (*aacs_get_decrypt_info)(struct aacs_context *aacs_context, RMuint32 *xtask_pid, void **cookie); RMstatus (*aacs_send_fut)(struct aacs_context *aacs_context, RMuint8 *data, RMuint32 size); RMstatus (*aacs_set_sp)(struct aacs_context *aacs_context, RMuint8 slot_id, RMuint32 clip_id, RMuint16 sp_id, RMuint8 sp[BDP_SP_SIZE], RMuint8 fm_id[BDP_FM_SIZE]); RMstatus (*aacs_finalize)(struct aacs_context *aacs_context); RMstatus (* aacs_close) (struct aacs_handle *handle); RMuint32 * (*__aacs_error_func)(void); struct aacs_cci_info *(*aacs_bcci2rmcci)(RMuint8 basic_cci[AACS_BCCI_SIZE]); struct aacs_handle * (* aacs_open_preloaded)(RMuint32 gbus_memory, RMuint32 mapped_memory, RMuint32 mem_size, RMuint32 chip, RMuint32 xtask_slot_id, struct demux_cipher *dmx_cphr); struct aacs_cci_info *(*aacs_scci2rmcci)(RMuint8 cci[AACS_SCCI_SIZE]); RMstatus (*aacs_clips_ready)(struct aacs_context *aacs_context, struct clip_info *clip_info, RMuint32 no_clips); RMstatus (*aacs_generate_mc_record)(struct aacs_context* aacs_context, RMuint8* record, RMuint8* qualify); RMstatus (*aacs_set_mc_record)( struct aacs_context* aacs_context, RMuint8* record, RMuint8 pmsn[AACS_PMSN_SIZE]);};#endif /* __AACS_INTERFACE_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -