xref: /openbmc/linux/include/asm-generic/ioctl.h (revision 498495dba268b20e8eadd7fe93c140c68b6cc9d2)
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