函数逻辑报告 |
Source Code:arch\x86\kernel\apm_32.c |
Create Date:2022-07-27 09:22:22 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:do_read
函数原型:static ssize_t do_read(struct file *fp, char __user *buf, size_t count, loff_t *ppos)
返回类型:ssize_t
参数:
类型 | 参数 | 名称 |
---|---|---|
struct file * | fp | |
char __user * | buf | |
size_t | count | |
loff_t * | ppos |
1469 | 如果check_apm_user(as, "read")则返回:负EIO |
1471 | 如果count小于sizeof(apm_event_t)则返回:负EINVAL |
1473 | 如果queue_empty(as)且f_flags按位与O_NONBLOCK则返回:负EAGAIN |
1477 | 当i大于等于event的长度且非queue_empty(as)循环 |
1478 | event等于get_queued_event(as) |
1479 | 如果copy_to_user(buf, & event, event的长度)则 |
1482 | 返回:负EFAULT |
1485 | 当:event恒等于APM_SYS_SUSPEND |
1486 | 当:event恒等于APM_USER_SUSPEND |
1487 | suspends_read自加 |
1488 | 退出 |
1491 | 当:event恒等于APM_USER_STANDBY |
1492 | standbys_read自加 |
1493 | 退出 |
1502 | 返回:0 |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |