📄 cardea_interface.c
字号:
/* * * Copyright (c) Sigma Designs, Inc. 2005. All rights reserved. * *//** * @file cardea_interface.c * @brief CARDEA stub * * @author Julien Lerouge */#define ALLOW_OS_CODE#include "rmdef/rmdef.h"#include "rmdrm/include/rmdrm.h"#include "../include/cardea_interface.h"#if 1#define CARDEADBG ENABLE#else#define CARDEADBG DISABLE#endif#if (EM86XX_MODE == EM86XX_MODEID_WITHHOST) || (EM86XX_CHIP == EM86XX_CHIPID_TANGO2)static struct cardea_interface_s *cardea_interface;#undef FUNC0#undef FUNC1#undef FUNC2#undef FUNC3#undef FUNC4#undef FUNC5#undef FUNC6#undef FUNC7#undef CARDEA_PLAYBACK_API#undef CARDEA_UPNP_API#define CARDEA_PLAYBACK_API#define CARDEA_UPNP_API#undef FUNC#define FUNC(name, return_error, ...) \if (cardea_interface){ \ RMDBGLOG((CARDEADBG,"got %p for " #name "\n", cardea_interface->name)); \ return cardea_interface->name(__VA_ARGS__); \} else { \ RMDBGLOG((CARDEADBG,"Try loading CARDEA\n")); \ if ((cardea_interface = load_drm(CARDEA, NULL))) { \ RMDBGLOG((CARDEADBG,"got %p for " #name "\n", cardea_interface->name)); \ return cardea_interface->name(__VA_ARGS__); \ } else { \ RMDBGLOG((CARDEADBG,"Cannot load CARDEA\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) \}#define FUNC5(name, return_type, return_error, t1, p1, t2, p2, t3, p3, \ t4, p4, t5, p5) \return_type name (t1 p1, t2 p2, t3 p3, t4 p4, t5 p5){ \ FUNC(name, return_error, p1, p2, p3, p4, p5) \}#define FUNC6(name, return_type, return_error, t1, p1, t2, p2, t3, p3, \ t4, p4, t5, p5, t6, p6) \return_type name (t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6){ \ FUNC(name, return_error, p1, p2, p3, p4, p5, p6) \}#define FUNC7(name, return_type, return_error, t1, p1, t2, p2, t3, p3, \ t4, p4, t5, p5, t6, p6, t7, p7) \return_type name (t1 p1, t2 p2, t3 p3, t4 p4, t5 p5, t6 p6, t7 p7){ \ FUNC(name, return_error, p1, p2, p3, p4, p5, p6, p7) \}#include "../include/cardea_interface.inc"#endif /* EM86XX_MODEID_WITHHOST || EM86XX_CHIPID_TANGO2 */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -