函数逻辑报告 |
Source Code:ipc\mqueue.c |
Create Date:2022-07-27 18:25:39 |
Last Modify:2020-03-17 23:00:47 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:mqueue_get_inode
函数原型:static struct inode *mqueue_get_inode(struct super_block *sb, struct ipc_namespace *ipc_ns, umode_t mode, struct mq_attr *attr)
返回类型:struct inode
参数:
类型 | 参数 | 名称 |
---|---|---|
struct super_block * | sb | |
struct ipc_namespace * | ipc_ns | |
umode_t | mode | |
struct mq_attr * | attr |
235 | u等于current_user() |
245 | i_uid等于current_fsuid() |
246 | i_gid等于current_fsgid() |
247 | i_mtime等于i_ctime等于i_atime等于current_time(inode) |
254 | i_size等于FILENT_SIZE |
257 | spin_lock_init( & lock) |
258 | init_waitqueue_head( & wait_q) |
259 | 初始化链表头 |
260 | 初始化链表头 |
261 | notify_owner = NULL |
262 | notify_user_ns = NULL |
264 | user who created, for accounting = NULL |
265 | msg_tree = |
266 | msg_tree_rightmost = NULL |
267 | node_cache = NULL |
273 | 如果attr则 |
292 | 如果 maximum number of messages 小于等于0或 maximum message size 小于等于0则转到:out_inode |
294 | 如果操作权限检查则 |
298 | 否则 |
305 | 如果 maximum message size 大于ULONG_MAX除 maximum number of messages 则转到:out_inode |
311 | 如果mq_bytes加mq_treesize小于mq_bytes则转到:out_inode |
313 | mq_bytes加等于mq_treesize |
314 | 加自旋锁 |
323 | 自旋锁解锁 |
330 | i_size等于2乘DIRENT_SIZE |
335 | 返回:inode |
336 | out_inode : |
337 | 放置一个索引节点 |
338 | err : |
339 | 返回:错误号 |
名称 | 描述 |
---|---|
mqueue_fill_super | |
mqueue_create_attr |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |