1*b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 2af4cd3feSBrian Gerst #ifndef _ASM_GENERIC_IOCTL_H 3af4cd3feSBrian Gerst #define _ASM_GENERIC_IOCTL_H 4af4cd3feSBrian Gerst 58a1ab315SDavid Howells #include <uapi/asm-generic/ioctl.h> 6af4cd3feSBrian Gerst 7d55875f5SHans Verkuil #ifdef __CHECKER__ 8d55875f5SHans Verkuil #define _IOC_TYPECHECK(t) (sizeof(t)) 9d55875f5SHans Verkuil #else 10af4cd3feSBrian Gerst /* provoke compile error for invalid uses of size argument */ 11af4cd3feSBrian Gerst extern unsigned int __invalid_size_argument_for_IOC; 12af4cd3feSBrian Gerst #define _IOC_TYPECHECK(t) \ 13af4cd3feSBrian Gerst ((sizeof(t) == sizeof(t[1]) && \ 14af4cd3feSBrian Gerst sizeof(t) < (1 << _IOC_SIZEBITS)) ? \ 15af4cd3feSBrian Gerst sizeof(t) : __invalid_size_argument_for_IOC) 16d55875f5SHans Verkuil #endif 17d55875f5SHans Verkuil 18af4cd3feSBrian Gerst #endif /* _ASM_GENERIC_IOCTL_H */ 19