📄 rmnagracsd_api.c
字号:
/***************************************** * Copyright 2007 * Sigma Designs, Inc. All Rights Reserved * Proprietary and Confidential * *****************************************//** @file rmnagracsd_interface.c @brief RMDRM loader macros for the rmnagracsd library interface @author David Bryson @date 2007-04-19*/#define ALLOW_OS_CODE 1#include "rmdef/rmdef.h"#include "rmdrm/include/rmdrm.h"#include "dynamic_drmmanager.h"#include "rmnagracsd_api.h"#include "rmnagracsd_version.h"#if 1#define NAGRADBG ENABLE#else#define NAGRADBG DISABLE#endifRMascii *RMDRM_INTERFACE[] = {#undef FUNC0#undef FUNC1#undef FUNC2#undef FUNC3#undef FUNC4#define FUNC0(name, return_type, return_error) \#name,#define FUNC1(name, return_type, return_error) \#name,#define FUNC2(name, return_type, return_error) \#name,#define FUNC3(name, return_type, return_error) \#name,#define FUNC4(name, return_type, return_error) \#name,NULL};#if (EM86XX_MODE == EM86XX_MODEID_WITHHOST) || (EM86XX_CHIP == EM86XX_CHIPID_TANGO2)static struct nagracsd_interface_s *nagracsd_interface;#undef FUNC0#undef FUNC1#undef FUNC2#undef FUNC3#undef FUNC4#undef FUNC#define FUNC(name, return_error, ...) \if (nagracsd_interface){ \ RMDBGLOG((NAGRADBG,"got %p for " #name "\n", nagracsd_interface->name)); \ return nagracsd_interface->name(__VA_ARGS__); \} else { \ RMDBGLOG((NAGRADBG,"Attempting to load NAGRACSD...\n")); \ if ((nagracsd_interface = load_drm(NAGRACSD, NAGRACSD_LIBRARY_NAME))) { \ RMDBGLOG((NAGRADBG,"got %p for " #name "\n", nagracsd_interface->name)); \ return nagracsd_interface->name(__VA_ARGS__); \ } else { \ RMDBGLOG((NAGRADBG,"Cannot load NAGRACSD\n")); \ return return_error; \ } \}#define FUNC0(name, return_type, return_error) \ return_type name (void){ \ FUNC(name, return_error)\ }#define FUNC1(name, return_type, return_error, t1, p1) \ return_type name (t1 p1){ \ FUNC(name, return_error, p1)\ }#define FUNC2(name, return_type, return_error, t1, p1, t2, p2) \ return_type name (t1 p1, t2 p2){ \ FUNC(name, return_error, p1, p2)\ }#define FUNC3(name, return_type, return_error, t1, p1, t2, p2, t3, p3) \ return_type name (t1 p1, t2 p2, t3 p3){ \ FUNC(name, return_error, p1, p2, p3)\ }#define FUNC4(name, return_type, return_error, t1, p1, t2, p2, t3, p3, t4, p4)\ return_type name (t1 p1, t2 p2, t3 p3, t4 p4){ \ FUNC(name, return_error, p1, p2, p3, p4)\ }#include "../include/rmnagracsd_api.inc"#endif /* EM86XX_MODEID_WITHHOST || EM86XX_CHIPID_TANGO2 */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -