/* SPDX-License-Identifier: MIT */ #ifndef LIBURING_COMPAT_H #define LIBURING_COMPAT_H # cmakedefine LIBURING_CONFIG_HAS_KERNEL_RWF_T # cmakedefine LIBURING_CONFIG_HAS_KERNEL_TIMESPEC # cmakedefine LIBURING_CONFIG_HAS_OPEN_HOW # cmakedefine LIBURING_CONFIG_HAS_GLIBC_STATX # cmakedefine LIBURING_CONFIG_HAS_STATX #if !defined(LIBURING_CONFIG_HAS_KERNEL_RWF_T) typedef int __kernel_rwf_t; #endif #if !defined(LIBURING_CONFIG_HAS_KERNEL_TIMESPEC) #include struct __kernel_timespec { int64_t tv_sec; long long tv_nsec; }; /* is not available, so it can't be included */ #define UAPI_LINUX_IO_URING_H_SKIP_LINUX_TIME_TYPES_H 1 #else #include /* is included above and not needed again */ #define UAPI_LINUX_IO_URING_H_SKIP_LINUX_TIME_TYPES_H 1 #endif #if !defined(LIBURING_CONFIG_HAS_OPEN_HOW) #include struct open_how { uint64_t flags; uint64_t mode; uint64_t resolve; }; #else #include #endif #if !defined(LIBURING_CONFIG_HAS_GLIBC_STATX) && defined(LIBURING_CONFIG_HAS_STATX) #include #endif #endif