blob: 9fda9ed000cd04394ec87f419fe876d58d04c566 [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001/* SPDX-License-Identifier: GPL-2.0 */
Brian Gerstaf4cd3f2006-01-09 20:52:18 -08002#ifndef _ASM_GENERIC_IOCTL_H
3#define _ASM_GENERIC_IOCTL_H
4
David Howells8a1ab312012-10-04 18:20:15 +01005#include <uapi/asm-generic/ioctl.h>
Brian Gerstaf4cd3f2006-01-09 20:52:18 -08006
Hans Verkuild55875f2014-06-06 14:37:22 -07007#ifdef __CHECKER__
8#define _IOC_TYPECHECK(t) (sizeof(t))
9#else
Brian Gerstaf4cd3f2006-01-09 20:52:18 -080010/* 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)
Hans Verkuild55875f2014-06-06 14:37:22 -070016#endif
17
Brian Gerstaf4cd3f2006-01-09 20:52:18 -080018#endif /* _ASM_GENERIC_IOCTL_H */