函数逻辑报告 |
Source Code:kernel\futex.c |
Create Date:2022-07-27 11:55:17 |
| Last Modify:2020-03-17 15:28:32 | Copyright©Brick |
| 首页 | 函数Tree |
| 注解内核,赢得工具 | 下载SCCT | English |
函数名称:do_futex
函数原型:long do_futex(unsigned int __user *uaddr, int op, unsigned int val, ktime_t *timeout, unsigned int __user *uaddr2, unsigned int val2, unsigned int val3)
返回类型:long
参数:
| 类型 | 参数 | 名称 |
|---|---|---|
| unsigned int __user * | uaddr | |
| int | op | |
| unsigned int | val | |
| ktime_t * | timeout | |
| unsigned int __user * | uaddr2 | |
| unsigned int | val2 | |
| unsigned int | val3 |
| 3854 | cmd等于op按位与FUTEX_CMD_MASK |
| 3855 | flags等于0 |
| 3857 | 如果非op按位与FUTEX_PRIVATE_FLAG的值则flags或等于Futex flags used to encode options to functions and preserve them across* restarts. |
| 3860 | 如果op按位与FUTEX_CLOCK_REALTIME则 |
| 3861 | flags或等于FLAGS_CLOCKRT |
| 3863 | 如果cmd不等于Second argument to futex syscall 且cmd不等于FUTEX_WAIT_BITSET且cmd不等于FUTEX_WAIT_REQUEUE_PI则返回:负ENOSYS |
| 3868 | 当:cmd恒等于FUTEX_LOCK_PI |
| 3869 | 当:cmd恒等于FUTEX_UNLOCK_PI |
| 3870 | 当:cmd恒等于FUTEX_TRYLOCK_PI |
| 3871 | 当:cmd恒等于FUTEX_WAIT_REQUEUE_PI |
| 3872 | 当:cmd恒等于FUTEX_CMP_REQUEUE_PI |
| 3873 | 如果非futex_cmpxchg_enabled则返回:负ENOSYS |
| 3878 | 当:cmd恒等于Second argument to futex syscall |
| 3881 | 当:cmd恒等于FUTEX_WAIT_BITSET |
| 3883 | 当:cmd恒等于FUTEX_WAKE |
| 3886 | 当:cmd恒等于FUTEX_WAKE_BITSET |
| 3888 | 当:cmd恒等于FUTEX_REQUEUE |
| 3890 | 当:cmd恒等于FUTEX_CMP_REQUEUE |
| 3892 | 当:cmd恒等于FUTEX_WAKE_OP |
| 3894 | 当:cmd恒等于FUTEX_LOCK_PI |
| 3896 | 当:cmd恒等于FUTEX_UNLOCK_PI |
| 3898 | 当:cmd恒等于FUTEX_TRYLOCK_PI |
| 3900 | 当:cmd恒等于FUTEX_WAIT_REQUEUE_PI |
| 3904 | 当:cmd恒等于FUTEX_CMP_REQUEUE_PI |
| 3907 | 返回:负ENOSYS |
| 名称 | 描述 |
|---|---|
| SYSCALL_DEFINE6 |
| 源代码转换工具 开放的插件接口 | X |
|---|---|
| 支持:c/c++/esqlc/java Oracle/Informix/Mysql 插件可实现:逻辑报告 代码生成和批量转换代码 |