1 /* SPDX-License-Identifier: GPL-2.0 */
3 * Common syscall restarting data
5 #ifndef __LINUX_RESTART_BLOCK_H
6 #define __LINUX_RESTART_BLOCK_H
8 #include <linux/compiler.h>
9 #include <linux/types.h>
11 struct __kernel_timespec
;
13 struct old_timespec32
;
23 * System call restart block.
25 struct restart_block
{
26 unsigned long arch_data
;
27 long (*fn
)(struct restart_block
*);
29 /* For futex_wait and futex_wait_requeue_pi */
41 enum timespec_type type
;
43 struct __kernel_timespec __user
*rmtp
;
44 struct old_timespec32 __user
*compat_rmtp
;
50 struct pollfd __user
*ufds
;
54 unsigned long tv_nsec
;
59 extern long do_no_restart_syscall(struct restart_block
*parm
);
61 #endif /* __LINUX_RESTART_BLOCK_H */