Index: libcfa/configure
===================================================================
--- libcfa/configure	(revision 54eb5ebd44d38f93d7a6ae88f064436d0953610d)
+++ libcfa/configure	(revision f854ee3289323dd0551262833dea4a220b6b0db9)
@@ -17017,4 +17017,7 @@
 #io_uring 5.6 and later uses probes
 
+
+
+
 for ac_header in linux/io_uring.h
 do :
@@ -17027,7 +17030,1733 @@
 	$as_echo "#define CFA_HAVE_LINUX_IO_URING_H 1" >>confdefs.h
 
-	# AC_CHECK_HEADER([liburing.h], [
-	# 	AC_CHECK_LIB([uring], [io_uring_get_probe])
-	# ])
+	ac_fn_c_check_header_mongrel "$LINENO" "liburing.h" "ac_cv_header_liburing_h" "$ac_includes_default"
+if test "x$ac_cv_header_liburing_h" = xyes; then :
+
+		{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for io_uring_get_probe in -luring" >&5
+$as_echo_n "checking for io_uring_get_probe in -luring... " >&6; }
+if ${ac_cv_lib_uring_io_uring_get_probe+:} false; then :
+  $as_echo_n "(cached) " >&6
+else
+  ac_check_lib_save_LIBS=$LIBS
+LIBS="-luring  $LIBS"
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+/* Override any GCC internal prototype to avoid an error.
+   Use char because int might match the return type of a GCC
+   builtin and then its argument prototype would still apply.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+char io_uring_get_probe ();
+int
+main ()
+{
+return io_uring_get_probe ();
+  ;
+  return 0;
+}
+_ACEOF
+if ac_fn_c_try_link "$LINENO"; then :
+  ac_cv_lib_uring_io_uring_get_probe=yes
+else
+  ac_cv_lib_uring_io_uring_get_probe=no
+fi
+rm -f core conftest.err conftest.$ac_objext \
+    conftest$ac_exeext conftest.$ac_ext
+LIBS=$ac_check_lib_save_LIBS
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_uring_io_uring_get_probe" >&5
+$as_echo "$ac_cv_lib_uring_io_uring_get_probe" >&6; }
+if test "x$ac_cv_lib_uring_io_uring_get_probe" = xyes; then :
+
+
+				ac_fn_c_check_decl "$LINENO" "IORING_OP_NOP" "ac_cv_have_decl_IORING_OP_NOP" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_NOP" = xyes; then :
+
+					if test "$cross_compiling" = yes; then :
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+						#include <liburing.h>
+int
+main ()
+{
+int main() {
+								struct io_uring_probe *probe = io_uring_get_probe();
+								if(io_uring_opcode_supported(probe, IORING_OP_NOP))
+									return 0;
+								else
+									return 1;
+							}
+
+  ;
+  return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+						$as_echo "#define CFA_HAVE_IORING_OP_NOP 1" >>confdefs.h
+
+
+else
+
+						{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "Check support for IORING_OP_NOP  with liburing failed
+See \`config.log' for more details" "$LINENO" 5; }
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+
+
+				ac_fn_c_check_decl "$LINENO" "IORING_OP_READV" "ac_cv_have_decl_IORING_OP_READV" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_READV" = xyes; then :
+
+					if test "$cross_compiling" = yes; then :
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+						#include <liburing.h>
+int
+main ()
+{
+int main() {
+								struct io_uring_probe *probe = io_uring_get_probe();
+								if(io_uring_opcode_supported(probe, IORING_OP_READV))
+									return 0;
+								else
+									return 1;
+							}
+
+  ;
+  return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+						$as_echo "#define CFA_HAVE_IORING_OP_READV 1" >>confdefs.h
+
+
+else
+
+						{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "Check support for IORING_OP_READV  with liburing failed
+See \`config.log' for more details" "$LINENO" 5; }
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+
+
+				ac_fn_c_check_decl "$LINENO" "IORING_OP_WRITEV" "ac_cv_have_decl_IORING_OP_WRITEV" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_WRITEV" = xyes; then :
+
+					if test "$cross_compiling" = yes; then :
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+						#include <liburing.h>
+int
+main ()
+{
+int main() {
+								struct io_uring_probe *probe = io_uring_get_probe();
+								if(io_uring_opcode_supported(probe, IORING_OP_WRITEV))
+									return 0;
+								else
+									return 1;
+							}
+
+  ;
+  return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+						$as_echo "#define CFA_HAVE_IORING_OP_WRITEV 1" >>confdefs.h
+
+
+else
+
+						{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "Check support for IORING_OP_WRITEV  with liburing failed
+See \`config.log' for more details" "$LINENO" 5; }
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+
+
+				ac_fn_c_check_decl "$LINENO" "IORING_OP_FSYNC" "ac_cv_have_decl_IORING_OP_FSYNC" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_FSYNC" = xyes; then :
+
+					if test "$cross_compiling" = yes; then :
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+						#include <liburing.h>
+int
+main ()
+{
+int main() {
+								struct io_uring_probe *probe = io_uring_get_probe();
+								if(io_uring_opcode_supported(probe, IORING_OP_FSYNC))
+									return 0;
+								else
+									return 1;
+							}
+
+  ;
+  return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+						$as_echo "#define CFA_HAVE_IORING_OP_FSYNC 1" >>confdefs.h
+
+
+else
+
+						{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "Check support for IORING_OP_FSYNC  with liburing failed
+See \`config.log' for more details" "$LINENO" 5; }
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+
+
+				ac_fn_c_check_decl "$LINENO" "IORING_OP_READ_FIXED" "ac_cv_have_decl_IORING_OP_READ_FIXED" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_READ_FIXED" = xyes; then :
+
+					if test "$cross_compiling" = yes; then :
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+						#include <liburing.h>
+int
+main ()
+{
+int main() {
+								struct io_uring_probe *probe = io_uring_get_probe();
+								if(io_uring_opcode_supported(probe, IORING_OP_READ_FIXED))
+									return 0;
+								else
+									return 1;
+							}
+
+  ;
+  return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+						$as_echo "#define CFA_HAVE_IORING_OP_READ_FIXED 1" >>confdefs.h
+
+
+else
+
+						{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "Check support for IORING_OP_READ_FIXED  with liburing failed
+See \`config.log' for more details" "$LINENO" 5; }
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+
+
+				ac_fn_c_check_decl "$LINENO" "IORING_OP_WRITE_FIXED" "ac_cv_have_decl_IORING_OP_WRITE_FIXED" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_WRITE_FIXED" = xyes; then :
+
+					if test "$cross_compiling" = yes; then :
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+						#include <liburing.h>
+int
+main ()
+{
+int main() {
+								struct io_uring_probe *probe = io_uring_get_probe();
+								if(io_uring_opcode_supported(probe, IORING_OP_WRITE_FIXED))
+									return 0;
+								else
+									return 1;
+							}
+
+  ;
+  return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+						$as_echo "#define CFA_HAVE_IORING_OP_WRITE_FIXED 1" >>confdefs.h
+
+
+else
+
+						{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "Check support for IORING_OP_WRITE_FIXED  with liburing failed
+See \`config.log' for more details" "$LINENO" 5; }
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+
+
+				ac_fn_c_check_decl "$LINENO" "IORING_OP_POLL_ADD" "ac_cv_have_decl_IORING_OP_POLL_ADD" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_POLL_ADD" = xyes; then :
+
+					if test "$cross_compiling" = yes; then :
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+						#include <liburing.h>
+int
+main ()
+{
+int main() {
+								struct io_uring_probe *probe = io_uring_get_probe();
+								if(io_uring_opcode_supported(probe, IORING_OP_POLL_ADD))
+									return 0;
+								else
+									return 1;
+							}
+
+  ;
+  return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+						$as_echo "#define CFA_HAVE_IORING_OP_POLL_ADD 1" >>confdefs.h
+
+
+else
+
+						{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "Check support for IORING_OP_POLL_ADD  with liburing failed
+See \`config.log' for more details" "$LINENO" 5; }
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+
+
+				ac_fn_c_check_decl "$LINENO" "IORING_OP_POLL_REMOVE" "ac_cv_have_decl_IORING_OP_POLL_REMOVE" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_POLL_REMOVE" = xyes; then :
+
+					if test "$cross_compiling" = yes; then :
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+						#include <liburing.h>
+int
+main ()
+{
+int main() {
+								struct io_uring_probe *probe = io_uring_get_probe();
+								if(io_uring_opcode_supported(probe, IORING_OP_POLL_REMOVE))
+									return 0;
+								else
+									return 1;
+							}
+
+  ;
+  return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+						$as_echo "#define CFA_HAVE_IORING_OP_POLL_REMOVE 1" >>confdefs.h
+
+
+else
+
+						{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "Check support for IORING_OP_POLL_REMOVE  with liburing failed
+See \`config.log' for more details" "$LINENO" 5; }
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+
+
+				ac_fn_c_check_decl "$LINENO" "IORING_OP_SYNC_FILE_RANGE" "ac_cv_have_decl_IORING_OP_SYNC_FILE_RANGE" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_SYNC_FILE_RANGE" = xyes; then :
+
+					if test "$cross_compiling" = yes; then :
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+						#include <liburing.h>
+int
+main ()
+{
+int main() {
+								struct io_uring_probe *probe = io_uring_get_probe();
+								if(io_uring_opcode_supported(probe, IORING_OP_SYNC_FILE_RANGE))
+									return 0;
+								else
+									return 1;
+							}
+
+  ;
+  return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+						$as_echo "#define CFA_HAVE_IORING_OP_SYNC_FILE_RANGE 1" >>confdefs.h
+
+
+else
+
+						{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "Check support for IORING_OP_SYNC_FILE_RANGE  with liburing failed
+See \`config.log' for more details" "$LINENO" 5; }
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+
+
+				ac_fn_c_check_decl "$LINENO" "IORING_OP_SENDMSG" "ac_cv_have_decl_IORING_OP_SENDMSG" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_SENDMSG" = xyes; then :
+
+					if test "$cross_compiling" = yes; then :
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+						#include <liburing.h>
+int
+main ()
+{
+int main() {
+								struct io_uring_probe *probe = io_uring_get_probe();
+								if(io_uring_opcode_supported(probe, IORING_OP_SENDMSG))
+									return 0;
+								else
+									return 1;
+							}
+
+  ;
+  return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+						$as_echo "#define CFA_HAVE_IORING_OP_SENDMSG 1" >>confdefs.h
+
+
+else
+
+						{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "Check support for IORING_OP_SENDMSG  with liburing failed
+See \`config.log' for more details" "$LINENO" 5; }
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+
+
+				ac_fn_c_check_decl "$LINENO" "IORING_OP_RECVMSG" "ac_cv_have_decl_IORING_OP_RECVMSG" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_RECVMSG" = xyes; then :
+
+					if test "$cross_compiling" = yes; then :
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+						#include <liburing.h>
+int
+main ()
+{
+int main() {
+								struct io_uring_probe *probe = io_uring_get_probe();
+								if(io_uring_opcode_supported(probe, IORING_OP_RECVMSG))
+									return 0;
+								else
+									return 1;
+							}
+
+  ;
+  return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+						$as_echo "#define CFA_HAVE_IORING_OP_RECVMSG 1" >>confdefs.h
+
+
+else
+
+						{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "Check support for IORING_OP_RECVMSG  with liburing failed
+See \`config.log' for more details" "$LINENO" 5; }
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+
+
+				ac_fn_c_check_decl "$LINENO" "IORING_OP_TIMEOUT" "ac_cv_have_decl_IORING_OP_TIMEOUT" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_TIMEOUT" = xyes; then :
+
+					if test "$cross_compiling" = yes; then :
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+						#include <liburing.h>
+int
+main ()
+{
+int main() {
+								struct io_uring_probe *probe = io_uring_get_probe();
+								if(io_uring_opcode_supported(probe, IORING_OP_TIMEOUT))
+									return 0;
+								else
+									return 1;
+							}
+
+  ;
+  return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+						$as_echo "#define CFA_HAVE_IORING_OP_TIMEOUT 1" >>confdefs.h
+
+
+else
+
+						{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "Check support for IORING_OP_TIMEOUT  with liburing failed
+See \`config.log' for more details" "$LINENO" 5; }
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+
+
+				ac_fn_c_check_decl "$LINENO" "IORING_OP_TIMEOUT_REMOVE" "ac_cv_have_decl_IORING_OP_TIMEOUT_REMOVE" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_TIMEOUT_REMOVE" = xyes; then :
+
+					if test "$cross_compiling" = yes; then :
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+						#include <liburing.h>
+int
+main ()
+{
+int main() {
+								struct io_uring_probe *probe = io_uring_get_probe();
+								if(io_uring_opcode_supported(probe, IORING_OP_TIMEOUT_REMOVE))
+									return 0;
+								else
+									return 1;
+							}
+
+  ;
+  return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+						$as_echo "#define CFA_HAVE_IORING_OP_TIMEOUT_REMOVE 1" >>confdefs.h
+
+
+else
+
+						{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "Check support for IORING_OP_TIMEOUT_REMOVE  with liburing failed
+See \`config.log' for more details" "$LINENO" 5; }
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+
+
+				ac_fn_c_check_decl "$LINENO" "IORING_OP_ACCEPT" "ac_cv_have_decl_IORING_OP_ACCEPT" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_ACCEPT" = xyes; then :
+
+					if test "$cross_compiling" = yes; then :
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+						#include <liburing.h>
+int
+main ()
+{
+int main() {
+								struct io_uring_probe *probe = io_uring_get_probe();
+								if(io_uring_opcode_supported(probe, IORING_OP_ACCEPT))
+									return 0;
+								else
+									return 1;
+							}
+
+  ;
+  return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+						$as_echo "#define CFA_HAVE_IORING_OP_ACCEPT 1" >>confdefs.h
+
+
+else
+
+						{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "Check support for IORING_OP_ACCEPT  with liburing failed
+See \`config.log' for more details" "$LINENO" 5; }
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+
+
+				ac_fn_c_check_decl "$LINENO" "IORING_OP_ASYNC_CANCEL" "ac_cv_have_decl_IORING_OP_ASYNC_CANCEL" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_ASYNC_CANCEL" = xyes; then :
+
+					if test "$cross_compiling" = yes; then :
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+						#include <liburing.h>
+int
+main ()
+{
+int main() {
+								struct io_uring_probe *probe = io_uring_get_probe();
+								if(io_uring_opcode_supported(probe, IORING_OP_ASYNC_CANCEL))
+									return 0;
+								else
+									return 1;
+							}
+
+  ;
+  return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+						$as_echo "#define CFA_HAVE_IORING_OP_ASYNC_CANCEL 1" >>confdefs.h
+
+
+else
+
+						{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "Check support for IORING_OP_ASYNC_CANCEL  with liburing failed
+See \`config.log' for more details" "$LINENO" 5; }
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+
+
+				ac_fn_c_check_decl "$LINENO" "IORING_OP_LINK_TIMEOUT" "ac_cv_have_decl_IORING_OP_LINK_TIMEOUT" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_LINK_TIMEOUT" = xyes; then :
+
+					if test "$cross_compiling" = yes; then :
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+						#include <liburing.h>
+int
+main ()
+{
+int main() {
+								struct io_uring_probe *probe = io_uring_get_probe();
+								if(io_uring_opcode_supported(probe, IORING_OP_LINK_TIMEOUT))
+									return 0;
+								else
+									return 1;
+							}
+
+  ;
+  return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+						$as_echo "#define CFA_HAVE_IORING_OP_LINK_TIMEOUT 1" >>confdefs.h
+
+
+else
+
+						{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "Check support for IORING_OP_LINK_TIMEOUT  with liburing failed
+See \`config.log' for more details" "$LINENO" 5; }
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+
+
+				ac_fn_c_check_decl "$LINENO" "IORING_OP_CONNECT" "ac_cv_have_decl_IORING_OP_CONNECT" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_CONNECT" = xyes; then :
+
+					if test "$cross_compiling" = yes; then :
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+						#include <liburing.h>
+int
+main ()
+{
+int main() {
+								struct io_uring_probe *probe = io_uring_get_probe();
+								if(io_uring_opcode_supported(probe, IORING_OP_CONNECT))
+									return 0;
+								else
+									return 1;
+							}
+
+  ;
+  return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+						$as_echo "#define CFA_HAVE_IORING_OP_CONNECT 1" >>confdefs.h
+
+
+else
+
+						{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "Check support for IORING_OP_CONNECT  with liburing failed
+See \`config.log' for more details" "$LINENO" 5; }
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+
+
+				ac_fn_c_check_decl "$LINENO" "IORING_OP_FALLOCATE" "ac_cv_have_decl_IORING_OP_FALLOCATE" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_FALLOCATE" = xyes; then :
+
+					if test "$cross_compiling" = yes; then :
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+						#include <liburing.h>
+int
+main ()
+{
+int main() {
+								struct io_uring_probe *probe = io_uring_get_probe();
+								if(io_uring_opcode_supported(probe, IORING_OP_FALLOCATE))
+									return 0;
+								else
+									return 1;
+							}
+
+  ;
+  return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+						$as_echo "#define CFA_HAVE_IORING_OP_FALLOCATE 1" >>confdefs.h
+
+
+else
+
+						{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "Check support for IORING_OP_FALLOCATE  with liburing failed
+See \`config.log' for more details" "$LINENO" 5; }
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+
+
+				ac_fn_c_check_decl "$LINENO" "IORING_OP_OPENAT" "ac_cv_have_decl_IORING_OP_OPENAT" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_OPENAT" = xyes; then :
+
+					if test "$cross_compiling" = yes; then :
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+						#include <liburing.h>
+int
+main ()
+{
+int main() {
+								struct io_uring_probe *probe = io_uring_get_probe();
+								if(io_uring_opcode_supported(probe, IORING_OP_OPENAT))
+									return 0;
+								else
+									return 1;
+							}
+
+  ;
+  return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+						$as_echo "#define CFA_HAVE_IORING_OP_OPENAT 1" >>confdefs.h
+
+
+else
+
+						{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "Check support for IORING_OP_OPENAT  with liburing failed
+See \`config.log' for more details" "$LINENO" 5; }
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+
+
+				ac_fn_c_check_decl "$LINENO" "IORING_OP_CLOSE" "ac_cv_have_decl_IORING_OP_CLOSE" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_CLOSE" = xyes; then :
+
+					if test "$cross_compiling" = yes; then :
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+						#include <liburing.h>
+int
+main ()
+{
+int main() {
+								struct io_uring_probe *probe = io_uring_get_probe();
+								if(io_uring_opcode_supported(probe, IORING_OP_CLOSE))
+									return 0;
+								else
+									return 1;
+							}
+
+  ;
+  return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+						$as_echo "#define CFA_HAVE_IORING_OP_CLOSE 1" >>confdefs.h
+
+
+else
+
+						{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "Check support for IORING_OP_CLOSE  with liburing failed
+See \`config.log' for more details" "$LINENO" 5; }
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+
+
+				ac_fn_c_check_decl "$LINENO" "IORING_OP_FILES_UPDATE" "ac_cv_have_decl_IORING_OP_FILES_UPDATE" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_FILES_UPDATE" = xyes; then :
+
+					if test "$cross_compiling" = yes; then :
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+						#include <liburing.h>
+int
+main ()
+{
+int main() {
+								struct io_uring_probe *probe = io_uring_get_probe();
+								if(io_uring_opcode_supported(probe, IORING_OP_FILES_UPDATE))
+									return 0;
+								else
+									return 1;
+							}
+
+  ;
+  return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+						$as_echo "#define CFA_HAVE_IORING_OP_FILES_UPDATE 1" >>confdefs.h
+
+
+else
+
+						{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "Check support for IORING_OP_FILES_UPDATE  with liburing failed
+See \`config.log' for more details" "$LINENO" 5; }
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+
+
+				ac_fn_c_check_decl "$LINENO" "IORING_OP_STATX" "ac_cv_have_decl_IORING_OP_STATX" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_STATX" = xyes; then :
+
+					if test "$cross_compiling" = yes; then :
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+						#include <liburing.h>
+int
+main ()
+{
+int main() {
+								struct io_uring_probe *probe = io_uring_get_probe();
+								if(io_uring_opcode_supported(probe, IORING_OP_STATX))
+									return 0;
+								else
+									return 1;
+							}
+
+  ;
+  return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+						$as_echo "#define CFA_HAVE_IORING_OP_STATX 1" >>confdefs.h
+
+
+else
+
+						{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "Check support for IORING_OP_STATX  with liburing failed
+See \`config.log' for more details" "$LINENO" 5; }
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+
+
+				ac_fn_c_check_decl "$LINENO" "IORING_OP_READ" "ac_cv_have_decl_IORING_OP_READ" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_READ" = xyes; then :
+
+					if test "$cross_compiling" = yes; then :
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+						#include <liburing.h>
+int
+main ()
+{
+int main() {
+								struct io_uring_probe *probe = io_uring_get_probe();
+								if(io_uring_opcode_supported(probe, IORING_OP_READ))
+									return 0;
+								else
+									return 1;
+							}
+
+  ;
+  return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+						$as_echo "#define CFA_HAVE_IORING_OP_READ 1" >>confdefs.h
+
+
+else
+
+						{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "Check support for IORING_OP_READ  with liburing failed
+See \`config.log' for more details" "$LINENO" 5; }
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+
+
+				ac_fn_c_check_decl "$LINENO" "IORING_OP_WRITE" "ac_cv_have_decl_IORING_OP_WRITE" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_WRITE" = xyes; then :
+
+					if test "$cross_compiling" = yes; then :
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+						#include <liburing.h>
+int
+main ()
+{
+int main() {
+								struct io_uring_probe *probe = io_uring_get_probe();
+								if(io_uring_opcode_supported(probe, IORING_OP_WRITE))
+									return 0;
+								else
+									return 1;
+							}
+
+  ;
+  return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+						$as_echo "#define CFA_HAVE_IORING_OP_WRITE 1" >>confdefs.h
+
+
+else
+
+						{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "Check support for IORING_OP_WRITE  with liburing failed
+See \`config.log' for more details" "$LINENO" 5; }
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+
+
+				ac_fn_c_check_decl "$LINENO" "IORING_OP_FADVISE" "ac_cv_have_decl_IORING_OP_FADVISE" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_FADVISE" = xyes; then :
+
+					if test "$cross_compiling" = yes; then :
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+						#include <liburing.h>
+int
+main ()
+{
+int main() {
+								struct io_uring_probe *probe = io_uring_get_probe();
+								if(io_uring_opcode_supported(probe, IORING_OP_FADVISE))
+									return 0;
+								else
+									return 1;
+							}
+
+  ;
+  return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+						$as_echo "#define CFA_HAVE_IORING_OP_FADVISE 1" >>confdefs.h
+
+
+else
+
+						{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "Check support for IORING_OP_FADVISE  with liburing failed
+See \`config.log' for more details" "$LINENO" 5; }
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+
+
+				ac_fn_c_check_decl "$LINENO" "IORING_OP_MADVISE" "ac_cv_have_decl_IORING_OP_MADVISE" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_MADVISE" = xyes; then :
+
+					if test "$cross_compiling" = yes; then :
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+						#include <liburing.h>
+int
+main ()
+{
+int main() {
+								struct io_uring_probe *probe = io_uring_get_probe();
+								if(io_uring_opcode_supported(probe, IORING_OP_MADVISE))
+									return 0;
+								else
+									return 1;
+							}
+
+  ;
+  return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+						$as_echo "#define CFA_HAVE_IORING_OP_MADVISE 1" >>confdefs.h
+
+
+else
+
+						{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "Check support for IORING_OP_MADVISE  with liburing failed
+See \`config.log' for more details" "$LINENO" 5; }
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+
+
+				ac_fn_c_check_decl "$LINENO" "IORING_OP_SEND" "ac_cv_have_decl_IORING_OP_SEND" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_SEND" = xyes; then :
+
+					if test "$cross_compiling" = yes; then :
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+						#include <liburing.h>
+int
+main ()
+{
+int main() {
+								struct io_uring_probe *probe = io_uring_get_probe();
+								if(io_uring_opcode_supported(probe, IORING_OP_SEND))
+									return 0;
+								else
+									return 1;
+							}
+
+  ;
+  return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+						$as_echo "#define CFA_HAVE_IORING_OP_SEND 1" >>confdefs.h
+
+
+else
+
+						{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "Check support for IORING_OP_SEND  with liburing failed
+See \`config.log' for more details" "$LINENO" 5; }
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+
+
+				ac_fn_c_check_decl "$LINENO" "IORING_OP_RECV" "ac_cv_have_decl_IORING_OP_RECV" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_RECV" = xyes; then :
+
+					if test "$cross_compiling" = yes; then :
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+						#include <liburing.h>
+int
+main ()
+{
+int main() {
+								struct io_uring_probe *probe = io_uring_get_probe();
+								if(io_uring_opcode_supported(probe, IORING_OP_RECV))
+									return 0;
+								else
+									return 1;
+							}
+
+  ;
+  return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+						$as_echo "#define CFA_HAVE_IORING_OP_RECV 1" >>confdefs.h
+
+
+else
+
+						{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "Check support for IORING_OP_RECV  with liburing failed
+See \`config.log' for more details" "$LINENO" 5; }
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+
+
+				ac_fn_c_check_decl "$LINENO" "IORING_OP_OPENAT2" "ac_cv_have_decl_IORING_OP_OPENAT2" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_OPENAT2" = xyes; then :
+
+					if test "$cross_compiling" = yes; then :
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+						#include <liburing.h>
+int
+main ()
+{
+int main() {
+								struct io_uring_probe *probe = io_uring_get_probe();
+								if(io_uring_opcode_supported(probe, IORING_OP_OPENAT2))
+									return 0;
+								else
+									return 1;
+							}
+
+  ;
+  return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+						$as_echo "#define CFA_HAVE_IORING_OP_OPENAT2 1" >>confdefs.h
+
+
+else
+
+						{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "Check support for IORING_OP_OPENAT2  with liburing failed
+See \`config.log' for more details" "$LINENO" 5; }
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+
+
+				ac_fn_c_check_decl "$LINENO" "IORING_OP_EPOLL_CTL" "ac_cv_have_decl_IORING_OP_EPOLL_CTL" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_EPOLL_CTL" = xyes; then :
+
+					if test "$cross_compiling" = yes; then :
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+						#include <liburing.h>
+int
+main ()
+{
+int main() {
+								struct io_uring_probe *probe = io_uring_get_probe();
+								if(io_uring_opcode_supported(probe, IORING_OP_EPOLL_CTL))
+									return 0;
+								else
+									return 1;
+							}
+
+  ;
+  return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+						$as_echo "#define CFA_HAVE_IORING_OP_EPOLL_CTL 1" >>confdefs.h
+
+
+else
+
+						{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "Check support for IORING_OP_EPOLL_CTL  with liburing failed
+See \`config.log' for more details" "$LINENO" 5; }
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+
+
+				ac_fn_c_check_decl "$LINENO" "IORING_OP_SPLICE" "ac_cv_have_decl_IORING_OP_SPLICE" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_SPLICE" = xyes; then :
+
+					if test "$cross_compiling" = yes; then :
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+						#include <liburing.h>
+int
+main ()
+{
+int main() {
+								struct io_uring_probe *probe = io_uring_get_probe();
+								if(io_uring_opcode_supported(probe, IORING_OP_SPLICE))
+									return 0;
+								else
+									return 1;
+							}
+
+  ;
+  return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+						$as_echo "#define CFA_HAVE_IORING_OP_SPLICE 1" >>confdefs.h
+
+
+else
+
+						{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "Check support for IORING_OP_SPLICE  with liburing failed
+See \`config.log' for more details" "$LINENO" 5; }
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+
+
+				ac_fn_c_check_decl "$LINENO" "IORING_OP_PROVIDE_BUFFERS" "ac_cv_have_decl_IORING_OP_PROVIDE_BUFFERS" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_PROVIDE_BUFFERS" = xyes; then :
+
+					if test "$cross_compiling" = yes; then :
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+						#include <liburing.h>
+int
+main ()
+{
+int main() {
+								struct io_uring_probe *probe = io_uring_get_probe();
+								if(io_uring_opcode_supported(probe, IORING_OP_PROVIDE_BUFFERS))
+									return 0;
+								else
+									return 1;
+							}
+
+  ;
+  return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+						$as_echo "#define CFA_HAVE_IORING_OP_PROVIDE_BUFFERS 1" >>confdefs.h
+
+
+else
+
+						{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "Check support for IORING_OP_PROVIDE_BUFFERS  with liburing failed
+See \`config.log' for more details" "$LINENO" 5; }
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+
+
+				ac_fn_c_check_decl "$LINENO" "IORING_OP_REMOVE_BUFFER" "ac_cv_have_decl_IORING_OP_REMOVE_BUFFER" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_REMOVE_BUFFER" = xyes; then :
+
+					if test "$cross_compiling" = yes; then :
+  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "cannot run test program while cross compiling
+See \`config.log' for more details" "$LINENO" 5; }
+else
+  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h.  */
+
+						#include <liburing.h>
+int
+main ()
+{
+int main() {
+								struct io_uring_probe *probe = io_uring_get_probe();
+								if(io_uring_opcode_supported(probe, IORING_OP_REMOVE_BUFFER))
+									return 0;
+								else
+									return 1;
+							}
+
+  ;
+  return 0;
+}
+
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+						$as_echo "#define CFA_HAVE_IORING_OP_REMOVE_BUFFER 1" >>confdefs.h
+
+
+else
+
+						{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error $? "Check support for IORING_OP_REMOVE_BUFFER  with liburing failed
+See \`config.log' for more details" "$LINENO" 5; }
+
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
+  conftest.$ac_objext conftest.beam conftest.$ac_ext
+fi
+
+
+fi
+
+
+
+else
+
+
 
 		ac_fn_c_check_decl "$LINENO" "IORING_OP_NOP" "ac_cv_have_decl_IORING_OP_NOP" "#include <linux/io_uring.h>
@@ -17291,4 +19020,282 @@
 if test "x$ac_cv_have_decl_IORING_OP_REMOVE_BUFFER" = xyes; then :
   $as_echo "#define CFA_HAVE_IORING_OP_REMOVE_BUFFER 1" >>confdefs.h
+
+fi
+
+
+
+
+fi
+
+
+else
+
+
+
+		ac_fn_c_check_decl "$LINENO" "IORING_OP_NOP" "ac_cv_have_decl_IORING_OP_NOP" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_NOP" = xyes; then :
+  $as_echo "#define CFA_HAVE_IORING_OP_NOP 1" >>confdefs.h
+
+fi
+
+
+		ac_fn_c_check_decl "$LINENO" "IORING_OP_READV" "ac_cv_have_decl_IORING_OP_READV" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_READV" = xyes; then :
+  $as_echo "#define CFA_HAVE_IORING_OP_READV 1" >>confdefs.h
+
+fi
+
+
+		ac_fn_c_check_decl "$LINENO" "IORING_OP_WRITEV" "ac_cv_have_decl_IORING_OP_WRITEV" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_WRITEV" = xyes; then :
+  $as_echo "#define CFA_HAVE_IORING_OP_WRITEV 1" >>confdefs.h
+
+fi
+
+
+		ac_fn_c_check_decl "$LINENO" "IORING_OP_FSYNC" "ac_cv_have_decl_IORING_OP_FSYNC" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_FSYNC" = xyes; then :
+  $as_echo "#define CFA_HAVE_IORING_OP_FSYNC 1" >>confdefs.h
+
+fi
+
+
+		ac_fn_c_check_decl "$LINENO" "IORING_OP_READ_FIXED" "ac_cv_have_decl_IORING_OP_READ_FIXED" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_READ_FIXED" = xyes; then :
+  $as_echo "#define CFA_HAVE_IORING_OP_READ_FIXED 1" >>confdefs.h
+
+fi
+
+
+		ac_fn_c_check_decl "$LINENO" "IORING_OP_WRITE_FIXED" "ac_cv_have_decl_IORING_OP_WRITE_FIXED" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_WRITE_FIXED" = xyes; then :
+  $as_echo "#define CFA_HAVE_IORING_OP_WRITE_FIXED 1" >>confdefs.h
+
+fi
+
+
+		ac_fn_c_check_decl "$LINENO" "IORING_OP_POLL_ADD" "ac_cv_have_decl_IORING_OP_POLL_ADD" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_POLL_ADD" = xyes; then :
+  $as_echo "#define CFA_HAVE_IORING_OP_POLL_ADD 1" >>confdefs.h
+
+fi
+
+
+		ac_fn_c_check_decl "$LINENO" "IORING_OP_POLL_REMOVE" "ac_cv_have_decl_IORING_OP_POLL_REMOVE" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_POLL_REMOVE" = xyes; then :
+  $as_echo "#define CFA_HAVE_IORING_OP_POLL_REMOVE 1" >>confdefs.h
+
+fi
+
+
+		ac_fn_c_check_decl "$LINENO" "IORING_OP_SYNC_FILE_RANGE" "ac_cv_have_decl_IORING_OP_SYNC_FILE_RANGE" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_SYNC_FILE_RANGE" = xyes; then :
+  $as_echo "#define CFA_HAVE_IORING_OP_SYNC_FILE_RANGE 1" >>confdefs.h
+
+fi
+
+
+		ac_fn_c_check_decl "$LINENO" "IORING_OP_SENDMSG" "ac_cv_have_decl_IORING_OP_SENDMSG" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_SENDMSG" = xyes; then :
+  $as_echo "#define CFA_HAVE_IORING_OP_SENDMSG 1" >>confdefs.h
+
+fi
+
+
+		ac_fn_c_check_decl "$LINENO" "IORING_OP_RECVMSG" "ac_cv_have_decl_IORING_OP_RECVMSG" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_RECVMSG" = xyes; then :
+  $as_echo "#define CFA_HAVE_IORING_OP_RECVMSG 1" >>confdefs.h
+
+fi
+
+
+		ac_fn_c_check_decl "$LINENO" "IORING_OP_TIMEOUT" "ac_cv_have_decl_IORING_OP_TIMEOUT" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_TIMEOUT" = xyes; then :
+  $as_echo "#define CFA_HAVE_IORING_OP_TIMEOUT 1" >>confdefs.h
+
+fi
+
+
+		ac_fn_c_check_decl "$LINENO" "IORING_OP_TIMEOUT_REMOVE" "ac_cv_have_decl_IORING_OP_TIMEOUT_REMOVE" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_TIMEOUT_REMOVE" = xyes; then :
+  $as_echo "#define CFA_HAVE_IORING_OP_TIMEOUT_REMOVE 1" >>confdefs.h
+
+fi
+
+
+		ac_fn_c_check_decl "$LINENO" "IORING_OP_ACCEPT" "ac_cv_have_decl_IORING_OP_ACCEPT" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_ACCEPT" = xyes; then :
+  $as_echo "#define CFA_HAVE_IORING_OP_ACCEPT 1" >>confdefs.h
+
+fi
+
+
+		ac_fn_c_check_decl "$LINENO" "IORING_OP_ASYNC_CANCEL" "ac_cv_have_decl_IORING_OP_ASYNC_CANCEL" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_ASYNC_CANCEL" = xyes; then :
+  $as_echo "#define CFA_HAVE_IORING_OP_ASYNC_CANCEL 1" >>confdefs.h
+
+fi
+
+
+		ac_fn_c_check_decl "$LINENO" "IORING_OP_LINK_TIMEOUT" "ac_cv_have_decl_IORING_OP_LINK_TIMEOUT" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_LINK_TIMEOUT" = xyes; then :
+  $as_echo "#define CFA_HAVE_IORING_OP_LINK_TIMEOUT 1" >>confdefs.h
+
+fi
+
+
+		ac_fn_c_check_decl "$LINENO" "IORING_OP_CONNECT" "ac_cv_have_decl_IORING_OP_CONNECT" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_CONNECT" = xyes; then :
+  $as_echo "#define CFA_HAVE_IORING_OP_CONNECT 1" >>confdefs.h
+
+fi
+
+
+		ac_fn_c_check_decl "$LINENO" "IORING_OP_FALLOCATE" "ac_cv_have_decl_IORING_OP_FALLOCATE" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_FALLOCATE" = xyes; then :
+  $as_echo "#define CFA_HAVE_IORING_OP_FALLOCATE 1" >>confdefs.h
+
+fi
+
+
+		ac_fn_c_check_decl "$LINENO" "IORING_OP_OPENAT" "ac_cv_have_decl_IORING_OP_OPENAT" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_OPENAT" = xyes; then :
+  $as_echo "#define CFA_HAVE_IORING_OP_OPENAT 1" >>confdefs.h
+
+fi
+
+
+		ac_fn_c_check_decl "$LINENO" "IORING_OP_CLOSE" "ac_cv_have_decl_IORING_OP_CLOSE" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_CLOSE" = xyes; then :
+  $as_echo "#define CFA_HAVE_IORING_OP_CLOSE 1" >>confdefs.h
+
+fi
+
+
+		ac_fn_c_check_decl "$LINENO" "IORING_OP_FILES_UPDATE" "ac_cv_have_decl_IORING_OP_FILES_UPDATE" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_FILES_UPDATE" = xyes; then :
+  $as_echo "#define CFA_HAVE_IORING_OP_FILES_UPDATE 1" >>confdefs.h
+
+fi
+
+
+		ac_fn_c_check_decl "$LINENO" "IORING_OP_STATX" "ac_cv_have_decl_IORING_OP_STATX" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_STATX" = xyes; then :
+  $as_echo "#define CFA_HAVE_IORING_OP_STATX 1" >>confdefs.h
+
+fi
+
+
+		ac_fn_c_check_decl "$LINENO" "IORING_OP_READ" "ac_cv_have_decl_IORING_OP_READ" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_READ" = xyes; then :
+  $as_echo "#define CFA_HAVE_IORING_OP_READ 1" >>confdefs.h
+
+fi
+
+
+		ac_fn_c_check_decl "$LINENO" "IORING_OP_WRITE" "ac_cv_have_decl_IORING_OP_WRITE" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_WRITE" = xyes; then :
+  $as_echo "#define CFA_HAVE_IORING_OP_WRITE 1" >>confdefs.h
+
+fi
+
+
+		ac_fn_c_check_decl "$LINENO" "IORING_OP_FADVISE" "ac_cv_have_decl_IORING_OP_FADVISE" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_FADVISE" = xyes; then :
+  $as_echo "#define CFA_HAVE_IORING_OP_FADVISE 1" >>confdefs.h
+
+fi
+
+
+		ac_fn_c_check_decl "$LINENO" "IORING_OP_MADVISE" "ac_cv_have_decl_IORING_OP_MADVISE" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_MADVISE" = xyes; then :
+  $as_echo "#define CFA_HAVE_IORING_OP_MADVISE 1" >>confdefs.h
+
+fi
+
+
+		ac_fn_c_check_decl "$LINENO" "IORING_OP_SEND" "ac_cv_have_decl_IORING_OP_SEND" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_SEND" = xyes; then :
+  $as_echo "#define CFA_HAVE_IORING_OP_SEND 1" >>confdefs.h
+
+fi
+
+
+		ac_fn_c_check_decl "$LINENO" "IORING_OP_RECV" "ac_cv_have_decl_IORING_OP_RECV" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_RECV" = xyes; then :
+  $as_echo "#define CFA_HAVE_IORING_OP_RECV 1" >>confdefs.h
+
+fi
+
+
+		ac_fn_c_check_decl "$LINENO" "IORING_OP_OPENAT2" "ac_cv_have_decl_IORING_OP_OPENAT2" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_OPENAT2" = xyes; then :
+  $as_echo "#define CFA_HAVE_IORING_OP_OPENAT2 1" >>confdefs.h
+
+fi
+
+
+		ac_fn_c_check_decl "$LINENO" "IORING_OP_EPOLL_CTL" "ac_cv_have_decl_IORING_OP_EPOLL_CTL" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_EPOLL_CTL" = xyes; then :
+  $as_echo "#define CFA_HAVE_IORING_OP_EPOLL_CTL 1" >>confdefs.h
+
+fi
+
+
+		ac_fn_c_check_decl "$LINENO" "IORING_OP_SPLICE" "ac_cv_have_decl_IORING_OP_SPLICE" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_SPLICE" = xyes; then :
+  $as_echo "#define CFA_HAVE_IORING_OP_SPLICE 1" >>confdefs.h
+
+fi
+
+
+		ac_fn_c_check_decl "$LINENO" "IORING_OP_PROVIDE_BUFFERS" "ac_cv_have_decl_IORING_OP_PROVIDE_BUFFERS" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_PROVIDE_BUFFERS" = xyes; then :
+  $as_echo "#define CFA_HAVE_IORING_OP_PROVIDE_BUFFERS 1" >>confdefs.h
+
+fi
+
+
+		ac_fn_c_check_decl "$LINENO" "IORING_OP_REMOVE_BUFFER" "ac_cv_have_decl_IORING_OP_REMOVE_BUFFER" "#include <linux/io_uring.h>
+"
+if test "x$ac_cv_have_decl_IORING_OP_REMOVE_BUFFER" = xyes; then :
+  $as_echo "#define CFA_HAVE_IORING_OP_REMOVE_BUFFER 1" >>confdefs.h
+
+fi
+
+
+
 
 fi
Index: libcfa/configure.ac
===================================================================
--- libcfa/configure.ac	(revision 54eb5ebd44d38f93d7a6ae88f064436d0953610d)
+++ libcfa/configure.ac	(revision f854ee3289323dd0551262833dea4a220b6b0db9)
@@ -128,12 +128,41 @@
 #io_uring 5.5 uses enum values
 #io_uring 5.6 and later uses probes
+define(ioring_ops, [IORING_OP_NOP,IORING_OP_READV,IORING_OP_WRITEV,IORING_OP_FSYNC,IORING_OP_READ_FIXED,IORING_OP_WRITE_FIXED,IORING_OP_POLL_ADD,IORING_OP_POLL_REMOVE,IORING_OP_SYNC_FILE_RANGE,IORING_OP_SENDMSG,IORING_OP_RECVMSG,IORING_OP_TIMEOUT,IORING_OP_TIMEOUT_REMOVE,IORING_OP_ACCEPT,IORING_OP_ASYNC_CANCEL,IORING_OP_LINK_TIMEOUT,IORING_OP_CONNECT,IORING_OP_FALLOCATE,IORING_OP_OPENAT,IORING_OP_CLOSE,IORING_OP_FILES_UPDATE,IORING_OP_STATX,IORING_OP_READ,IORING_OP_WRITE,IORING_OP_FADVISE,IORING_OP_MADVISE,IORING_OP_SEND,IORING_OP_RECV,IORING_OP_OPENAT2,IORING_OP_EPOLL_CTL,IORING_OP_SPLICE,IORING_OP_PROVIDE_BUFFERS,IORING_OP_REMOVE_BUFFER])
+
+define(ioring_from_decls, [
+	m4_foreach([op], [ioring_ops], [
+		AC_CHECK_DECL(op, [AC_DEFINE([CFA_HAVE_]op)], [], [[#include <linux/io_uring.h>]])
+	])
+])
 
 AC_CHECK_HEADERS([linux/io_uring.h], [
 	AC_DEFINE(CFA_HAVE_LINUX_IO_URING_H)
-	# AC_CHECK_HEADER([liburing.h], [
-	# 	AC_CHECK_LIB([uring], [io_uring_get_probe])
-	# ])
-	m4_foreach([op], [IORING_OP_NOP,IORING_OP_READV,IORING_OP_WRITEV,IORING_OP_FSYNC,IORING_OP_READ_FIXED,IORING_OP_WRITE_FIXED,IORING_OP_POLL_ADD,IORING_OP_POLL_REMOVE,IORING_OP_SYNC_FILE_RANGE,IORING_OP_SENDMSG,IORING_OP_RECVMSG,IORING_OP_TIMEOUT,IORING_OP_TIMEOUT_REMOVE,IORING_OP_ACCEPT,IORING_OP_ASYNC_CANCEL,IORING_OP_LINK_TIMEOUT,IORING_OP_CONNECT,IORING_OP_FALLOCATE,IORING_OP_OPENAT,IORING_OP_CLOSE,IORING_OP_FILES_UPDATE,IORING_OP_STATX,IORING_OP_READ,IORING_OP_WRITE,IORING_OP_FADVISE,IORING_OP_MADVISE,IORING_OP_SEND,IORING_OP_RECV,IORING_OP_OPENAT2,IORING_OP_EPOLL_CTL,IORING_OP_SPLICE,IORING_OP_PROVIDE_BUFFERS,IORING_OP_REMOVE_BUFFER], [
-		AC_CHECK_DECL(op, [AC_DEFINE([CFA_HAVE_]op)], [], [[#include <linux/io_uring.h>]])
+	AC_CHECK_HEADER([liburing.h], [
+		AC_CHECK_LIB([uring], [io_uring_get_probe], [
+			m4_foreach([op], [ioring_ops], [
+				AC_CHECK_DECL(op, [
+					AC_RUN_IFELSE([
+						AC_LANG_PROGRAM(
+							[[#include <liburing.h>]],
+							[[int main() {]]
+							[[	struct io_uring_probe *probe = io_uring_get_probe();]]
+							[[	if(io_uring_opcode_supported(probe, ]]op[[))]]
+							[[		return 0;]]
+							[[	else]]
+							[[		return 1;]]
+							[[}]]
+						)
+					],[
+						AC_DEFINE([CFA_HAVE_]op)
+					],[
+						AC_MSG_FAILURE([Check support for] op [ with liburing failed])
+					])
+				], [], [[#include <linux/io_uring.h>]])
+			])
+		], [
+			ioring_from_decls
+		])
+	], [
+		ioring_from_decls
 	])
 ])
