函数逻辑报告 |
Source Code:fs\notify\fanotify\fanotify.c |
Create Date:2022-07-29 10:49:50 |
Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
首页 | 函数Tree |
注解内核,赢得工具 | 下载SCCT | English |
函数名称:fanotify_handle_event
函数原型:static int fanotify_handle_event(struct fsnotify_group *group, struct inode *inode, unsigned int mask, const void *data, int data_type, const struct qstr *file_name, unsigned int cookie, struct fsnotify_iter_info *iter_info)
返回类型:int
参数:
类型 | 参数 | 名称 |
---|---|---|
struct fsnotify_group * | group | |
struct inode * | inode | |
unsigned int | mask | |
const void * | data | |
int | data_type | |
const struct qstr * | file_name | |
unsigned int | cookie | |
struct fsnotify_iter_info * | iter_info |
380 | ret等于0 |
383 | __kernel_fsid_t fsid = {} |
388 | BUILD_BUG_ON - break compile if a condition is true(Unwrittable file closed != Unwrittable file closed ) |
389 | BUILD_BUG_ON - break compile if a condition is true(Writtable file closed != Writtable file was closed ) |
391 | BUILD_BUG_ON - break compile if a condition is true(File was moved to Y != File was moved to Y ) |
392 | BUILD_BUG_ON - break compile if a condition is true(File was moved from X != File was moved from X ) |
393 | BUILD_BUG_ON - break compile if a condition is true(Subfile was created != Subfile was created ) |
394 | BUILD_BUG_ON - break compile if a condition is true(Subfile was deleted != Subfile was deleted ) |
397 | BUILD_BUG_ON - break compile if a condition is true(rested in child events != This inode cares about things that happen to its children. Always set for* dnotify and inotify. ) |
398 | BUILD_BUG_ON - break compile if a condition is true(Event queued overflowed != Event queued overflowed ) |
399 | BUILD_BUG_ON - break compile if a condition is true(File open in perm check != pen event in an permission hook ) |
400 | BUILD_BUG_ON - break compile if a condition is true(File accessed in perm check != access event in a permissions hook ) |
401 | BUILD_BUG_ON - break compile if a condition is true(vent occurred against dir != vent occurred against dir ) |
402 | BUILD_BUG_ON - break compile if a condition is true(File was opened for exec != File was opened for exec ) |
403 | BUILD_BUG_ON - break compile if a condition is true(File open/exec in perm check != pen/exec event in a permission hook ) |
409 | 如果非mask则返回:0 |
415 | 如果fanotify_is_perm_event(mask)则 |
420 | 如果非fsnotify_prepare_user_wait(iter_info)则返回:0 |
424 | 如果FAN_GROUP_FLAG(group, Report unique file id )则 |
434 | 如果此条件成立可能性小(为编译器优化)(!event)则 |
441 | 转到:finish |
446 | 如果ret则 |
448 | BUG_ON(ret == 1 && mask & Events that require a permission response from user ) |
452 | ret等于0 |
453 | 否则如果fanotify_is_perm_event(mask)则 |
457 | finish : |
461 | 返回:ret |
源代码转换工具 开放的插件接口 | X |
---|---|
支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |