blob: 9fda9ed000cd04394ec87f419fe876d58d04c566 [file] [log] [blame]
xjb04a4022021-11-25 15:01:52 +08001/* 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 */