162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */ 262306a36Sopenharmony_ci#ifndef _ASM_GENERIC_IOCTL_H 362306a36Sopenharmony_ci#define _ASM_GENERIC_IOCTL_H 462306a36Sopenharmony_ci 562306a36Sopenharmony_ci#include <uapi/asm-generic/ioctl.h> 662306a36Sopenharmony_ci 762306a36Sopenharmony_ci#ifdef __CHECKER__ 862306a36Sopenharmony_ci#define _IOC_TYPECHECK(t) (sizeof(t)) 962306a36Sopenharmony_ci#else 1062306a36Sopenharmony_ci/* provoke compile error for invalid uses of size argument */ 1162306a36Sopenharmony_ciextern unsigned int __invalid_size_argument_for_IOC; 1262306a36Sopenharmony_ci#define _IOC_TYPECHECK(t) \ 1362306a36Sopenharmony_ci ((sizeof(t) == sizeof(t[1]) && \ 1462306a36Sopenharmony_ci sizeof(t) < (1 << _IOC_SIZEBITS)) ? \ 1562306a36Sopenharmony_ci sizeof(t) : __invalid_size_argument_for_IOC) 1662306a36Sopenharmony_ci#endif 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ci#endif /* _ASM_GENERIC_IOCTL_H */ 19