函数逻辑报告 |
Source Code:fs\fcntl.c |
Create Date:2022-07-29 10:35:59 |
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:send_sigurg
函数原型:int send_sigurg(struct fown_struct *fown)
返回类型:int
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| struct fown_struct * | fown |
| 820 | ret等于0 |
| 822 | read_lock( & protects pid, uid, euid fields ) |
| 826 | 如果非pid则转到:out_unlock_fown |
| 829 | ret等于1 |
| 831 | 如果type小于等于PIDTYPE_TGID则 |
| 834 | 如果p则send_sigurg_to_task(p, fown, type) |
| 837 | 否则 |
| 838 | read_lock( & tasklist_lock) |
| 839 | 循环 |
| 839 | typeof(({typeof(( * ((struct hlist_node * * )( & ( & (pid)->进程属性列[type])->first))))________p1 = ({union{typeof(( * ((struct hlist_node * * )( & ( & (pid)->进程属性列[type])->first))))__val;char __c[1];}__u;if (1)__read_once_size( & (( * ((struct hlist_node * * )( & ( & (pid)->进程属性列[type])->first)))), __u.__c, sizeof(( * ((struct hlist_node * * )( & ( & (pid)->进程属性列[type])->first)))));否则 __read_once_size_nocheck( & (( * ((struct hlist_node * * )( & ( & (pid)->进程属性列[type])->first)))), __u.__c, sizeof(( * ((struct hlist_node * * )( & ( & (pid)->进程属性列[type])->first)))));循环{}while (0);__u.__val;});((typeof( * ( * ((struct hlist_node * * )( & ( & (pid)->进程属性列[type])->first)))) * )(________p1));}))____ptr = (({ |
| 839 | typeof(( * ((struct hlist_node * * )( & ( & (pid)->进程属性列[type])->first))))________p1 = ({ |
| 839 | union{typeof(( * ((structhlist_node * * )( & first)))) __val;char __c[1];}__u |
| 839 | 如果1则__read_once_size( & (( * ((structhlist_node * * )( & first)))), __c, *first的长度) |
| 839 | 否则__read_once_size_nocheck( & (( * ((structhlist_node * * )( & first)))), __c, *first的长度) |
| 839 | 循环 |
| 839 | 当0循环 |
| 839 | __val |
| 839 | }) |
| 839 | })) |
| 839 | ____ptr ? ({ |
| 839 | }) : NULL |
| 839 | typeof(({typeof(( * ((struct hlist_node * * )( & ( & ((p))->pid_links[type])->next))))________p1 = ({union{typeof(( * ((struct hlist_node * * )( & ( & ((p))->pid_links[type])->next))))__val;char __c[1];}__u;if (1)__read_once_size( & (( * ((struct hlist_node * * )( & ( & ((p))->pid_links[type])->next)))), __u.__c, sizeof(( * ((struct hlist_node * * )( & ( & ((p))->pid_links[type])->next)))));否则 __read_once_size_nocheck( & (( * ((struct hlist_node * * )( & ( & ((p))->pid_links[type])->next)))), __u.__c, sizeof(( * ((struct hlist_node * * )( & ( & ((p))->pid_links[type])->next)))));循环{}while (0);__u.__val;});((typeof( * ( * ((struct hlist_node * * )( & ( & ((p))->pid_links[type])->next)))) * )(________p1));}))____ptr = (({ |
| 839 | typeof(( * ((struct hlist_node * * )( & ( & ((p))->pid_links[type])->next))))________p1 = ({ |
| 839 | union{typeof(( * ((structhlist_node * * )( & next)))) __val;char __c[1];}__u |
| 839 | 如果1则__read_once_size( & (( * ((structhlist_node * * )( & next)))), __c, *next的长度) |
| 839 | 否则__read_once_size_nocheck( & (( * ((structhlist_node * * )( & next)))), __c, *next的长度) |
| 839 | 循环 |
| 839 | 当0循环 |
| 839 | __val |
| 839 | }) |
| 839 | })) |
| 839 | ____ptr ? ({ |
| 839 | }) : NULL |
| 839 | })) |
| 840 | send_sigurg_to_task(p, fown, type) |
| 841 | 当0循环 |
| 842 | read_unlock( & tasklist_lock) |
| 844 | out_unlock_fown : |
| 846 | 返回:ret |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |