xref: /linux/include/uapi/linux/kcmp.h (revision 498495dba268b20e8eadd7fe93c140c68b6cc9d2)
1*6f52b16cSGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
23f4994cfSMichael Ellerman #ifndef _UAPI_LINUX_KCMP_H
33f4994cfSMichael Ellerman #define _UAPI_LINUX_KCMP_H
43f4994cfSMichael Ellerman 
50791e364SCyrill Gorcunov #include <linux/types.h>
60791e364SCyrill Gorcunov 
73f4994cfSMichael Ellerman /* Comparison type */
83f4994cfSMichael Ellerman enum kcmp_type {
93f4994cfSMichael Ellerman 	KCMP_FILE,
103f4994cfSMichael Ellerman 	KCMP_VM,
113f4994cfSMichael Ellerman 	KCMP_FILES,
123f4994cfSMichael Ellerman 	KCMP_FS,
133f4994cfSMichael Ellerman 	KCMP_SIGHAND,
143f4994cfSMichael Ellerman 	KCMP_IO,
153f4994cfSMichael Ellerman 	KCMP_SYSVSEM,
160791e364SCyrill Gorcunov 	KCMP_EPOLL_TFD,
173f4994cfSMichael Ellerman 
183f4994cfSMichael Ellerman 	KCMP_TYPES,
193f4994cfSMichael Ellerman };
203f4994cfSMichael Ellerman 
210791e364SCyrill Gorcunov /* Slot for KCMP_EPOLL_TFD */
220791e364SCyrill Gorcunov struct kcmp_epoll_slot {
230791e364SCyrill Gorcunov 	__u32 efd;		/* epoll file descriptor */
240791e364SCyrill Gorcunov 	__u32 tfd;		/* target file number */
250791e364SCyrill Gorcunov 	__u32 toff;		/* target offset within same numbered sequence */
260791e364SCyrill Gorcunov };
270791e364SCyrill Gorcunov 
283f4994cfSMichael Ellerman #endif /* _UAPI_LINUX_KCMP_H */
29