函数逻辑报告 |
Source Code:fs\binfmt_misc.c |
Create Date:2022-07-29 11:02:13 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:/register
函数原型:static ssize_t bm_register_write(struct file *file, const char __user *buffer, size_t count, loff_t *ppos)
返回类型:ssize_t
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct file * | file | |
| const char __user * | buffer | |
| size_t | count | |
| loff_t * | ppos |
| 698 | err等于0 |
| 700 | e等于This registers a new binary format, it recognises the syntax* ':name:type:offset:magic:mask:interpreter:flags'* where the ':' is the IFS, that can be chosen with the first char |
| 705 | inode_lock(获得目录项的索引节点) |
| 715 | inode等于bm_get_inode(sb, S_IFREG | 0644) |
| 721 | err等于simple_pin_fs( & bm_fs_type, & bm_mnt, & entry_count) |
| 722 | 如果err则 |
| 728 | 如果 type, status, etc. 按位与MISC_FMT_OPEN_FILE则 |
| 731 | f等于open_exec( filename of interpreter ) |
| 732 | 如果是错误则 |
| 734 | 打印注释信息("register: failed to install interpreter file %s\n", filename of interpreter ) |
| 735 | simple_release_fs( & bm_mnt, & entry_count) |
| 736 | 放置一个索引节点 |
| 737 | inode = NULL |
| 738 | 转到:out2 |
| 740 | interp_file等于f |
| 744 | s or device private pointer 等于e |
| 747 | 为目录项建立索引 |
| 748 | write_lock( & entries_lock) |
| 749 | 添加链表项 |
| 750 | write_unlock( & entries_lock) |
| 752 | err等于0 |
| 753 | out2 : |
| 755 | out : |
| 756 | inode_unlock(获得目录项的索引节点) |
| 758 | 如果err则 |
| 762 | 返回:count |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |