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

source code of linux/include/asm-generic/ioctl.h