驱动接口API设计的一种方法
来源:互联网 发布:php最新面试题 编辑:程序博客网 时间:2024/05/17 22:22
驱动接口API设计的一种方法
xxx_interface.h
/*! \cond MMM_ID_API*//*! * \brief * 提供给应用层的xxx命令 */typedef enum{ /*! 打开stub */ XXX_OP_OPEN = 0, /*! 关闭stub */ XXX_OP_CLOSE,} xxx_cmd_t;extern int stub_mod_cmd(void *, void *, void *, int);/*启动xxx设备*//*int xxx_init(bool need_uninstall_led)*/#define xxx_open(a) (int)xxx_mod_cmd((void*)(a), (void*)(0), (void*)(0), XXX_OP_OPEN)/*关闭xxx设备*//*int xxx_exit(void)*/#define xxx_close() (int)xxx_mod_cmd((void*)(0), (void*)(0), (void*)(0), XXX_OP_CLOSE)
xxx_entry.h
typedef int (*xxx_func_t)(void *param0, void *param1, void *param2);typedef struct{ xxx_func_t open; xxx_func_t close;} stub_hal_ops_t;
xxx_entry.c
xxx_hal_ops_t *g_xxx_ops;const xxx_hal_ops_t xxx_ops[] ={ xxx_open, xxx_close, NULL,};int32 inner_xxx_open(void* param0, void* param1, void* param2){ int32 ret_val; g_xxx_ops = xxx_ops; ret_val = g_xxx_ops->open(param0, param1, param2); return ret_val;}int xxx_mod_cmd(void* param0, void* param1, void* param2, int cmd){ switch (cmd) { case XXX_OP_OPEN: return inner_xxx_open(param0, param1, param2); case XXX_OP_CLOSE: return g_xxx_ops->close(param0, param1, param2); } return -1;}
在底层对这两个代码进行实现xxx_openxxx_close
0 0
- 驱动接口API设计的一种方法
- 一种接口统一返回值的设计方法
- 一种加载驱动的方法
- 优秀的API接口设计原则及方法
- 优秀的API接口设计原则及方法
- 无数据接口及api的情况下,自行进行系统对接的一种方法
- 一种API代码结构的设计思路
- inf安装驱动的一种方法
- 对付API-splicing的一种简单方法
- 主题:接口API设计的注意事项
- RESTful的Api设计之统一接口
- 关于RESTful接口api的设计
- 关于API接口设计的文章
- 游戏设计架构的一种方法
- 一种新的Web设计方法
- 设计高效SQL: 一种视觉的方法
- 分析与设计的一种方法
- 一种报表输出的设计方法
- hdu.1555.How many days?
- Hive创建表格报【Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. MetaException】引发的血案
- 机器学习笔记(六):numpy基础
- for循环反汇编变为while
- 链表【9-1-2】链表销毁
- 驱动接口API设计的一种方法
- 关于JavaScript中的split()方法
- 基于视觉的网页结构相似性计算
- Linux USB 驱动开发(五)—— USB驱动程序开发过程简单总结
- Swift3.0 shadowColor
- 判断链表是否有环---leetcode题目
- HDFS文件操作命令格式-注意事项
- 链表【9-1-3】 链表与数组的比较
- ssh 免密码登录