Changeset f854ee32


Ignore:
Timestamp:
Jul 24, 2020, 12:49:02 PM (4 years ago)
Author:
Thierry Delisle <tdelisle@…>
Branches:
ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
Children:
42cd451
Parents:
54eb5ebd
Message:

Added support for using liburing to check for kernel support for IORING_OPs

Location:
libcfa
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • libcfa/configure

    r54eb5ebd rf854ee32  
    1701717017#io_uring 5.6 and later uses probes
    1701817018
     17019
     17020
     17021
    1701917022for ac_header in linux/io_uring.h
    1702017023do :
     
    1702717030        $as_echo "#define CFA_HAVE_LINUX_IO_URING_H 1" >>confdefs.h
    1702817031
    17029         # AC_CHECK_HEADER([liburing.h], [
    17030         #       AC_CHECK_LIB([uring], [io_uring_get_probe])
    17031         # ])
     17032        ac_fn_c_check_header_mongrel "$LINENO" "liburing.h" "ac_cv_header_liburing_h" "$ac_includes_default"
     17033if test "x$ac_cv_header_liburing_h" = xyes; then :
     17034
     17035                { $as_echo "$as_me:${as_lineno-$LINENO}: checking for io_uring_get_probe in -luring" >&5
     17036$as_echo_n "checking for io_uring_get_probe in -luring... " >&6; }
     17037if ${ac_cv_lib_uring_io_uring_get_probe+:} false; then :
     17038  $as_echo_n "(cached) " >&6
     17039else
     17040  ac_check_lib_save_LIBS=$LIBS
     17041LIBS="-luring  $LIBS"
     17042cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     17043/* end confdefs.h.  */
     17044
     17045/* Override any GCC internal prototype to avoid an error.
     17046   Use char because int might match the return type of a GCC
     17047   builtin and then its argument prototype would still apply.  */
     17048#ifdef __cplusplus
     17049extern "C"
     17050#endif
     17051char io_uring_get_probe ();
     17052int
     17053main ()
     17054{
     17055return io_uring_get_probe ();
     17056  ;
     17057  return 0;
     17058}
     17059_ACEOF
     17060if ac_fn_c_try_link "$LINENO"; then :
     17061  ac_cv_lib_uring_io_uring_get_probe=yes
     17062else
     17063  ac_cv_lib_uring_io_uring_get_probe=no
     17064fi
     17065rm -f core conftest.err conftest.$ac_objext \
     17066    conftest$ac_exeext conftest.$ac_ext
     17067LIBS=$ac_check_lib_save_LIBS
     17068fi
     17069{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_uring_io_uring_get_probe" >&5
     17070$as_echo "$ac_cv_lib_uring_io_uring_get_probe" >&6; }
     17071if test "x$ac_cv_lib_uring_io_uring_get_probe" = xyes; then :
     17072
     17073
     17074                                ac_fn_c_check_decl "$LINENO" "IORING_OP_NOP" "ac_cv_have_decl_IORING_OP_NOP" "#include <linux/io_uring.h>
     17075"
     17076if test "x$ac_cv_have_decl_IORING_OP_NOP" = xyes; then :
     17077
     17078                                        if test "$cross_compiling" = yes; then :
     17079  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     17080$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     17081as_fn_error $? "cannot run test program while cross compiling
     17082See \`config.log' for more details" "$LINENO" 5; }
     17083else
     17084  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     17085/* end confdefs.h.  */
     17086
     17087                                                #include <liburing.h>
     17088int
     17089main ()
     17090{
     17091int main() {
     17092                                                                struct io_uring_probe *probe = io_uring_get_probe();
     17093                                                                if(io_uring_opcode_supported(probe, IORING_OP_NOP))
     17094                                                                        return 0;
     17095                                                                else
     17096                                                                        return 1;
     17097                                                        }
     17098
     17099  ;
     17100  return 0;
     17101}
     17102
     17103_ACEOF
     17104if ac_fn_c_try_run "$LINENO"; then :
     17105
     17106                                                $as_echo "#define CFA_HAVE_IORING_OP_NOP 1" >>confdefs.h
     17107
     17108
     17109else
     17110
     17111                                                { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     17112$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     17113as_fn_error $? "Check support for IORING_OP_NOP  with liburing failed
     17114See \`config.log' for more details" "$LINENO" 5; }
     17115
     17116fi
     17117rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
     17118  conftest.$ac_objext conftest.beam conftest.$ac_ext
     17119fi
     17120
     17121
     17122fi
     17123
     17124
     17125                                ac_fn_c_check_decl "$LINENO" "IORING_OP_READV" "ac_cv_have_decl_IORING_OP_READV" "#include <linux/io_uring.h>
     17126"
     17127if test "x$ac_cv_have_decl_IORING_OP_READV" = xyes; then :
     17128
     17129                                        if test "$cross_compiling" = yes; then :
     17130  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     17131$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     17132as_fn_error $? "cannot run test program while cross compiling
     17133See \`config.log' for more details" "$LINENO" 5; }
     17134else
     17135  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     17136/* end confdefs.h.  */
     17137
     17138                                                #include <liburing.h>
     17139int
     17140main ()
     17141{
     17142int main() {
     17143                                                                struct io_uring_probe *probe = io_uring_get_probe();
     17144                                                                if(io_uring_opcode_supported(probe, IORING_OP_READV))
     17145                                                                        return 0;
     17146                                                                else
     17147                                                                        return 1;
     17148                                                        }
     17149
     17150  ;
     17151  return 0;
     17152}
     17153
     17154_ACEOF
     17155if ac_fn_c_try_run "$LINENO"; then :
     17156
     17157                                                $as_echo "#define CFA_HAVE_IORING_OP_READV 1" >>confdefs.h
     17158
     17159
     17160else
     17161
     17162                                                { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     17163$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     17164as_fn_error $? "Check support for IORING_OP_READV  with liburing failed
     17165See \`config.log' for more details" "$LINENO" 5; }
     17166
     17167fi
     17168rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
     17169  conftest.$ac_objext conftest.beam conftest.$ac_ext
     17170fi
     17171
     17172
     17173fi
     17174
     17175
     17176                                ac_fn_c_check_decl "$LINENO" "IORING_OP_WRITEV" "ac_cv_have_decl_IORING_OP_WRITEV" "#include <linux/io_uring.h>
     17177"
     17178if test "x$ac_cv_have_decl_IORING_OP_WRITEV" = xyes; then :
     17179
     17180                                        if test "$cross_compiling" = yes; then :
     17181  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     17182$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     17183as_fn_error $? "cannot run test program while cross compiling
     17184See \`config.log' for more details" "$LINENO" 5; }
     17185else
     17186  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     17187/* end confdefs.h.  */
     17188
     17189                                                #include <liburing.h>
     17190int
     17191main ()
     17192{
     17193int main() {
     17194                                                                struct io_uring_probe *probe = io_uring_get_probe();
     17195                                                                if(io_uring_opcode_supported(probe, IORING_OP_WRITEV))
     17196                                                                        return 0;
     17197                                                                else
     17198                                                                        return 1;
     17199                                                        }
     17200
     17201  ;
     17202  return 0;
     17203}
     17204
     17205_ACEOF
     17206if ac_fn_c_try_run "$LINENO"; then :
     17207
     17208                                                $as_echo "#define CFA_HAVE_IORING_OP_WRITEV 1" >>confdefs.h
     17209
     17210
     17211else
     17212
     17213                                                { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     17214$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     17215as_fn_error $? "Check support for IORING_OP_WRITEV  with liburing failed
     17216See \`config.log' for more details" "$LINENO" 5; }
     17217
     17218fi
     17219rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
     17220  conftest.$ac_objext conftest.beam conftest.$ac_ext
     17221fi
     17222
     17223
     17224fi
     17225
     17226
     17227                                ac_fn_c_check_decl "$LINENO" "IORING_OP_FSYNC" "ac_cv_have_decl_IORING_OP_FSYNC" "#include <linux/io_uring.h>
     17228"
     17229if test "x$ac_cv_have_decl_IORING_OP_FSYNC" = xyes; then :
     17230
     17231                                        if test "$cross_compiling" = yes; then :
     17232  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     17233$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     17234as_fn_error $? "cannot run test program while cross compiling
     17235See \`config.log' for more details" "$LINENO" 5; }
     17236else
     17237  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     17238/* end confdefs.h.  */
     17239
     17240                                                #include <liburing.h>
     17241int
     17242main ()
     17243{
     17244int main() {
     17245                                                                struct io_uring_probe *probe = io_uring_get_probe();
     17246                                                                if(io_uring_opcode_supported(probe, IORING_OP_FSYNC))
     17247                                                                        return 0;
     17248                                                                else
     17249                                                                        return 1;
     17250                                                        }
     17251
     17252  ;
     17253  return 0;
     17254}
     17255
     17256_ACEOF
     17257if ac_fn_c_try_run "$LINENO"; then :
     17258
     17259                                                $as_echo "#define CFA_HAVE_IORING_OP_FSYNC 1" >>confdefs.h
     17260
     17261
     17262else
     17263
     17264                                                { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     17265$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     17266as_fn_error $? "Check support for IORING_OP_FSYNC  with liburing failed
     17267See \`config.log' for more details" "$LINENO" 5; }
     17268
     17269fi
     17270rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
     17271  conftest.$ac_objext conftest.beam conftest.$ac_ext
     17272fi
     17273
     17274
     17275fi
     17276
     17277
     17278                                ac_fn_c_check_decl "$LINENO" "IORING_OP_READ_FIXED" "ac_cv_have_decl_IORING_OP_READ_FIXED" "#include <linux/io_uring.h>
     17279"
     17280if test "x$ac_cv_have_decl_IORING_OP_READ_FIXED" = xyes; then :
     17281
     17282                                        if test "$cross_compiling" = yes; then :
     17283  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     17284$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     17285as_fn_error $? "cannot run test program while cross compiling
     17286See \`config.log' for more details" "$LINENO" 5; }
     17287else
     17288  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     17289/* end confdefs.h.  */
     17290
     17291                                                #include <liburing.h>
     17292int
     17293main ()
     17294{
     17295int main() {
     17296                                                                struct io_uring_probe *probe = io_uring_get_probe();
     17297                                                                if(io_uring_opcode_supported(probe, IORING_OP_READ_FIXED))
     17298                                                                        return 0;
     17299                                                                else
     17300                                                                        return 1;
     17301                                                        }
     17302
     17303  ;
     17304  return 0;
     17305}
     17306
     17307_ACEOF
     17308if ac_fn_c_try_run "$LINENO"; then :
     17309
     17310                                                $as_echo "#define CFA_HAVE_IORING_OP_READ_FIXED 1" >>confdefs.h
     17311
     17312
     17313else
     17314
     17315                                                { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     17316$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     17317as_fn_error $? "Check support for IORING_OP_READ_FIXED  with liburing failed
     17318See \`config.log' for more details" "$LINENO" 5; }
     17319
     17320fi
     17321rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
     17322  conftest.$ac_objext conftest.beam conftest.$ac_ext
     17323fi
     17324
     17325
     17326fi
     17327
     17328
     17329                                ac_fn_c_check_decl "$LINENO" "IORING_OP_WRITE_FIXED" "ac_cv_have_decl_IORING_OP_WRITE_FIXED" "#include <linux/io_uring.h>
     17330"
     17331if test "x$ac_cv_have_decl_IORING_OP_WRITE_FIXED" = xyes; then :
     17332
     17333                                        if test "$cross_compiling" = yes; then :
     17334  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     17335$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     17336as_fn_error $? "cannot run test program while cross compiling
     17337See \`config.log' for more details" "$LINENO" 5; }
     17338else
     17339  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     17340/* end confdefs.h.  */
     17341
     17342                                                #include <liburing.h>
     17343int
     17344main ()
     17345{
     17346int main() {
     17347                                                                struct io_uring_probe *probe = io_uring_get_probe();
     17348                                                                if(io_uring_opcode_supported(probe, IORING_OP_WRITE_FIXED))
     17349                                                                        return 0;
     17350                                                                else
     17351                                                                        return 1;
     17352                                                        }
     17353
     17354  ;
     17355  return 0;
     17356}
     17357
     17358_ACEOF
     17359if ac_fn_c_try_run "$LINENO"; then :
     17360
     17361                                                $as_echo "#define CFA_HAVE_IORING_OP_WRITE_FIXED 1" >>confdefs.h
     17362
     17363
     17364else
     17365
     17366                                                { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     17367$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     17368as_fn_error $? "Check support for IORING_OP_WRITE_FIXED  with liburing failed
     17369See \`config.log' for more details" "$LINENO" 5; }
     17370
     17371fi
     17372rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
     17373  conftest.$ac_objext conftest.beam conftest.$ac_ext
     17374fi
     17375
     17376
     17377fi
     17378
     17379
     17380                                ac_fn_c_check_decl "$LINENO" "IORING_OP_POLL_ADD" "ac_cv_have_decl_IORING_OP_POLL_ADD" "#include <linux/io_uring.h>
     17381"
     17382if test "x$ac_cv_have_decl_IORING_OP_POLL_ADD" = xyes; then :
     17383
     17384                                        if test "$cross_compiling" = yes; then :
     17385  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     17386$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     17387as_fn_error $? "cannot run test program while cross compiling
     17388See \`config.log' for more details" "$LINENO" 5; }
     17389else
     17390  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     17391/* end confdefs.h.  */
     17392
     17393                                                #include <liburing.h>
     17394int
     17395main ()
     17396{
     17397int main() {
     17398                                                                struct io_uring_probe *probe = io_uring_get_probe();
     17399                                                                if(io_uring_opcode_supported(probe, IORING_OP_POLL_ADD))
     17400                                                                        return 0;
     17401                                                                else
     17402                                                                        return 1;
     17403                                                        }
     17404
     17405  ;
     17406  return 0;
     17407}
     17408
     17409_ACEOF
     17410if ac_fn_c_try_run "$LINENO"; then :
     17411
     17412                                                $as_echo "#define CFA_HAVE_IORING_OP_POLL_ADD 1" >>confdefs.h
     17413
     17414
     17415else
     17416
     17417                                                { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     17418$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     17419as_fn_error $? "Check support for IORING_OP_POLL_ADD  with liburing failed
     17420See \`config.log' for more details" "$LINENO" 5; }
     17421
     17422fi
     17423rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
     17424  conftest.$ac_objext conftest.beam conftest.$ac_ext
     17425fi
     17426
     17427
     17428fi
     17429
     17430
     17431                                ac_fn_c_check_decl "$LINENO" "IORING_OP_POLL_REMOVE" "ac_cv_have_decl_IORING_OP_POLL_REMOVE" "#include <linux/io_uring.h>
     17432"
     17433if test "x$ac_cv_have_decl_IORING_OP_POLL_REMOVE" = xyes; then :
     17434
     17435                                        if test "$cross_compiling" = yes; then :
     17436  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     17437$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     17438as_fn_error $? "cannot run test program while cross compiling
     17439See \`config.log' for more details" "$LINENO" 5; }
     17440else
     17441  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     17442/* end confdefs.h.  */
     17443
     17444                                                #include <liburing.h>
     17445int
     17446main ()
     17447{
     17448int main() {
     17449                                                                struct io_uring_probe *probe = io_uring_get_probe();
     17450                                                                if(io_uring_opcode_supported(probe, IORING_OP_POLL_REMOVE))
     17451                                                                        return 0;
     17452                                                                else
     17453                                                                        return 1;
     17454                                                        }
     17455
     17456  ;
     17457  return 0;
     17458}
     17459
     17460_ACEOF
     17461if ac_fn_c_try_run "$LINENO"; then :
     17462
     17463                                                $as_echo "#define CFA_HAVE_IORING_OP_POLL_REMOVE 1" >>confdefs.h
     17464
     17465
     17466else
     17467
     17468                                                { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     17469$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     17470as_fn_error $? "Check support for IORING_OP_POLL_REMOVE  with liburing failed
     17471See \`config.log' for more details" "$LINENO" 5; }
     17472
     17473fi
     17474rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
     17475  conftest.$ac_objext conftest.beam conftest.$ac_ext
     17476fi
     17477
     17478
     17479fi
     17480
     17481
     17482                                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>
     17483"
     17484if test "x$ac_cv_have_decl_IORING_OP_SYNC_FILE_RANGE" = xyes; then :
     17485
     17486                                        if test "$cross_compiling" = yes; then :
     17487  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     17488$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     17489as_fn_error $? "cannot run test program while cross compiling
     17490See \`config.log' for more details" "$LINENO" 5; }
     17491else
     17492  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     17493/* end confdefs.h.  */
     17494
     17495                                                #include <liburing.h>
     17496int
     17497main ()
     17498{
     17499int main() {
     17500                                                                struct io_uring_probe *probe = io_uring_get_probe();
     17501                                                                if(io_uring_opcode_supported(probe, IORING_OP_SYNC_FILE_RANGE))
     17502                                                                        return 0;
     17503                                                                else
     17504                                                                        return 1;
     17505                                                        }
     17506
     17507  ;
     17508  return 0;
     17509}
     17510
     17511_ACEOF
     17512if ac_fn_c_try_run "$LINENO"; then :
     17513
     17514                                                $as_echo "#define CFA_HAVE_IORING_OP_SYNC_FILE_RANGE 1" >>confdefs.h
     17515
     17516
     17517else
     17518
     17519                                                { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     17520$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     17521as_fn_error $? "Check support for IORING_OP_SYNC_FILE_RANGE  with liburing failed
     17522See \`config.log' for more details" "$LINENO" 5; }
     17523
     17524fi
     17525rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
     17526  conftest.$ac_objext conftest.beam conftest.$ac_ext
     17527fi
     17528
     17529
     17530fi
     17531
     17532
     17533                                ac_fn_c_check_decl "$LINENO" "IORING_OP_SENDMSG" "ac_cv_have_decl_IORING_OP_SENDMSG" "#include <linux/io_uring.h>
     17534"
     17535if test "x$ac_cv_have_decl_IORING_OP_SENDMSG" = xyes; then :
     17536
     17537                                        if test "$cross_compiling" = yes; then :
     17538  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     17539$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     17540as_fn_error $? "cannot run test program while cross compiling
     17541See \`config.log' for more details" "$LINENO" 5; }
     17542else
     17543  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     17544/* end confdefs.h.  */
     17545
     17546                                                #include <liburing.h>
     17547int
     17548main ()
     17549{
     17550int main() {
     17551                                                                struct io_uring_probe *probe = io_uring_get_probe();
     17552                                                                if(io_uring_opcode_supported(probe, IORING_OP_SENDMSG))
     17553                                                                        return 0;
     17554                                                                else
     17555                                                                        return 1;
     17556                                                        }
     17557
     17558  ;
     17559  return 0;
     17560}
     17561
     17562_ACEOF
     17563if ac_fn_c_try_run "$LINENO"; then :
     17564
     17565                                                $as_echo "#define CFA_HAVE_IORING_OP_SENDMSG 1" >>confdefs.h
     17566
     17567
     17568else
     17569
     17570                                                { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     17571$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     17572as_fn_error $? "Check support for IORING_OP_SENDMSG  with liburing failed
     17573See \`config.log' for more details" "$LINENO" 5; }
     17574
     17575fi
     17576rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
     17577  conftest.$ac_objext conftest.beam conftest.$ac_ext
     17578fi
     17579
     17580
     17581fi
     17582
     17583
     17584                                ac_fn_c_check_decl "$LINENO" "IORING_OP_RECVMSG" "ac_cv_have_decl_IORING_OP_RECVMSG" "#include <linux/io_uring.h>
     17585"
     17586if test "x$ac_cv_have_decl_IORING_OP_RECVMSG" = xyes; then :
     17587
     17588                                        if test "$cross_compiling" = yes; then :
     17589  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     17590$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     17591as_fn_error $? "cannot run test program while cross compiling
     17592See \`config.log' for more details" "$LINENO" 5; }
     17593else
     17594  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     17595/* end confdefs.h.  */
     17596
     17597                                                #include <liburing.h>
     17598int
     17599main ()
     17600{
     17601int main() {
     17602                                                                struct io_uring_probe *probe = io_uring_get_probe();
     17603                                                                if(io_uring_opcode_supported(probe, IORING_OP_RECVMSG))
     17604                                                                        return 0;
     17605                                                                else
     17606                                                                        return 1;
     17607                                                        }
     17608
     17609  ;
     17610  return 0;
     17611}
     17612
     17613_ACEOF
     17614if ac_fn_c_try_run "$LINENO"; then :
     17615
     17616                                                $as_echo "#define CFA_HAVE_IORING_OP_RECVMSG 1" >>confdefs.h
     17617
     17618
     17619else
     17620
     17621                                                { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     17622$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     17623as_fn_error $? "Check support for IORING_OP_RECVMSG  with liburing failed
     17624See \`config.log' for more details" "$LINENO" 5; }
     17625
     17626fi
     17627rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
     17628  conftest.$ac_objext conftest.beam conftest.$ac_ext
     17629fi
     17630
     17631
     17632fi
     17633
     17634
     17635                                ac_fn_c_check_decl "$LINENO" "IORING_OP_TIMEOUT" "ac_cv_have_decl_IORING_OP_TIMEOUT" "#include <linux/io_uring.h>
     17636"
     17637if test "x$ac_cv_have_decl_IORING_OP_TIMEOUT" = xyes; then :
     17638
     17639                                        if test "$cross_compiling" = yes; then :
     17640  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     17641$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     17642as_fn_error $? "cannot run test program while cross compiling
     17643See \`config.log' for more details" "$LINENO" 5; }
     17644else
     17645  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     17646/* end confdefs.h.  */
     17647
     17648                                                #include <liburing.h>
     17649int
     17650main ()
     17651{
     17652int main() {
     17653                                                                struct io_uring_probe *probe = io_uring_get_probe();
     17654                                                                if(io_uring_opcode_supported(probe, IORING_OP_TIMEOUT))
     17655                                                                        return 0;
     17656                                                                else
     17657                                                                        return 1;
     17658                                                        }
     17659
     17660  ;
     17661  return 0;
     17662}
     17663
     17664_ACEOF
     17665if ac_fn_c_try_run "$LINENO"; then :
     17666
     17667                                                $as_echo "#define CFA_HAVE_IORING_OP_TIMEOUT 1" >>confdefs.h
     17668
     17669
     17670else
     17671
     17672                                                { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     17673$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     17674as_fn_error $? "Check support for IORING_OP_TIMEOUT  with liburing failed
     17675See \`config.log' for more details" "$LINENO" 5; }
     17676
     17677fi
     17678rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
     17679  conftest.$ac_objext conftest.beam conftest.$ac_ext
     17680fi
     17681
     17682
     17683fi
     17684
     17685
     17686                                ac_fn_c_check_decl "$LINENO" "IORING_OP_TIMEOUT_REMOVE" "ac_cv_have_decl_IORING_OP_TIMEOUT_REMOVE" "#include <linux/io_uring.h>
     17687"
     17688if test "x$ac_cv_have_decl_IORING_OP_TIMEOUT_REMOVE" = xyes; then :
     17689
     17690                                        if test "$cross_compiling" = yes; then :
     17691  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     17692$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     17693as_fn_error $? "cannot run test program while cross compiling
     17694See \`config.log' for more details" "$LINENO" 5; }
     17695else
     17696  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     17697/* end confdefs.h.  */
     17698
     17699                                                #include <liburing.h>
     17700int
     17701main ()
     17702{
     17703int main() {
     17704                                                                struct io_uring_probe *probe = io_uring_get_probe();
     17705                                                                if(io_uring_opcode_supported(probe, IORING_OP_TIMEOUT_REMOVE))
     17706                                                                        return 0;
     17707                                                                else
     17708                                                                        return 1;
     17709                                                        }
     17710
     17711  ;
     17712  return 0;
     17713}
     17714
     17715_ACEOF
     17716if ac_fn_c_try_run "$LINENO"; then :
     17717
     17718                                                $as_echo "#define CFA_HAVE_IORING_OP_TIMEOUT_REMOVE 1" >>confdefs.h
     17719
     17720
     17721else
     17722
     17723                                                { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     17724$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     17725as_fn_error $? "Check support for IORING_OP_TIMEOUT_REMOVE  with liburing failed
     17726See \`config.log' for more details" "$LINENO" 5; }
     17727
     17728fi
     17729rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
     17730  conftest.$ac_objext conftest.beam conftest.$ac_ext
     17731fi
     17732
     17733
     17734fi
     17735
     17736
     17737                                ac_fn_c_check_decl "$LINENO" "IORING_OP_ACCEPT" "ac_cv_have_decl_IORING_OP_ACCEPT" "#include <linux/io_uring.h>
     17738"
     17739if test "x$ac_cv_have_decl_IORING_OP_ACCEPT" = xyes; then :
     17740
     17741                                        if test "$cross_compiling" = yes; then :
     17742  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     17743$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     17744as_fn_error $? "cannot run test program while cross compiling
     17745See \`config.log' for more details" "$LINENO" 5; }
     17746else
     17747  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     17748/* end confdefs.h.  */
     17749
     17750                                                #include <liburing.h>
     17751int
     17752main ()
     17753{
     17754int main() {
     17755                                                                struct io_uring_probe *probe = io_uring_get_probe();
     17756                                                                if(io_uring_opcode_supported(probe, IORING_OP_ACCEPT))
     17757                                                                        return 0;
     17758                                                                else
     17759                                                                        return 1;
     17760                                                        }
     17761
     17762  ;
     17763  return 0;
     17764}
     17765
     17766_ACEOF
     17767if ac_fn_c_try_run "$LINENO"; then :
     17768
     17769                                                $as_echo "#define CFA_HAVE_IORING_OP_ACCEPT 1" >>confdefs.h
     17770
     17771
     17772else
     17773
     17774                                                { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     17775$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     17776as_fn_error $? "Check support for IORING_OP_ACCEPT  with liburing failed
     17777See \`config.log' for more details" "$LINENO" 5; }
     17778
     17779fi
     17780rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
     17781  conftest.$ac_objext conftest.beam conftest.$ac_ext
     17782fi
     17783
     17784
     17785fi
     17786
     17787
     17788                                ac_fn_c_check_decl "$LINENO" "IORING_OP_ASYNC_CANCEL" "ac_cv_have_decl_IORING_OP_ASYNC_CANCEL" "#include <linux/io_uring.h>
     17789"
     17790if test "x$ac_cv_have_decl_IORING_OP_ASYNC_CANCEL" = xyes; then :
     17791
     17792                                        if test "$cross_compiling" = yes; then :
     17793  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     17794$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     17795as_fn_error $? "cannot run test program while cross compiling
     17796See \`config.log' for more details" "$LINENO" 5; }
     17797else
     17798  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     17799/* end confdefs.h.  */
     17800
     17801                                                #include <liburing.h>
     17802int
     17803main ()
     17804{
     17805int main() {
     17806                                                                struct io_uring_probe *probe = io_uring_get_probe();
     17807                                                                if(io_uring_opcode_supported(probe, IORING_OP_ASYNC_CANCEL))
     17808                                                                        return 0;
     17809                                                                else
     17810                                                                        return 1;
     17811                                                        }
     17812
     17813  ;
     17814  return 0;
     17815}
     17816
     17817_ACEOF
     17818if ac_fn_c_try_run "$LINENO"; then :
     17819
     17820                                                $as_echo "#define CFA_HAVE_IORING_OP_ASYNC_CANCEL 1" >>confdefs.h
     17821
     17822
     17823else
     17824
     17825                                                { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     17826$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     17827as_fn_error $? "Check support for IORING_OP_ASYNC_CANCEL  with liburing failed
     17828See \`config.log' for more details" "$LINENO" 5; }
     17829
     17830fi
     17831rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
     17832  conftest.$ac_objext conftest.beam conftest.$ac_ext
     17833fi
     17834
     17835
     17836fi
     17837
     17838
     17839                                ac_fn_c_check_decl "$LINENO" "IORING_OP_LINK_TIMEOUT" "ac_cv_have_decl_IORING_OP_LINK_TIMEOUT" "#include <linux/io_uring.h>
     17840"
     17841if test "x$ac_cv_have_decl_IORING_OP_LINK_TIMEOUT" = xyes; then :
     17842
     17843                                        if test "$cross_compiling" = yes; then :
     17844  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     17845$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     17846as_fn_error $? "cannot run test program while cross compiling
     17847See \`config.log' for more details" "$LINENO" 5; }
     17848else
     17849  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     17850/* end confdefs.h.  */
     17851
     17852                                                #include <liburing.h>
     17853int
     17854main ()
     17855{
     17856int main() {
     17857                                                                struct io_uring_probe *probe = io_uring_get_probe();
     17858                                                                if(io_uring_opcode_supported(probe, IORING_OP_LINK_TIMEOUT))
     17859                                                                        return 0;
     17860                                                                else
     17861                                                                        return 1;
     17862                                                        }
     17863
     17864  ;
     17865  return 0;
     17866}
     17867
     17868_ACEOF
     17869if ac_fn_c_try_run "$LINENO"; then :
     17870
     17871                                                $as_echo "#define CFA_HAVE_IORING_OP_LINK_TIMEOUT 1" >>confdefs.h
     17872
     17873
     17874else
     17875
     17876                                                { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     17877$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     17878as_fn_error $? "Check support for IORING_OP_LINK_TIMEOUT  with liburing failed
     17879See \`config.log' for more details" "$LINENO" 5; }
     17880
     17881fi
     17882rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
     17883  conftest.$ac_objext conftest.beam conftest.$ac_ext
     17884fi
     17885
     17886
     17887fi
     17888
     17889
     17890                                ac_fn_c_check_decl "$LINENO" "IORING_OP_CONNECT" "ac_cv_have_decl_IORING_OP_CONNECT" "#include <linux/io_uring.h>
     17891"
     17892if test "x$ac_cv_have_decl_IORING_OP_CONNECT" = xyes; then :
     17893
     17894                                        if test "$cross_compiling" = yes; then :
     17895  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     17896$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     17897as_fn_error $? "cannot run test program while cross compiling
     17898See \`config.log' for more details" "$LINENO" 5; }
     17899else
     17900  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     17901/* end confdefs.h.  */
     17902
     17903                                                #include <liburing.h>
     17904int
     17905main ()
     17906{
     17907int main() {
     17908                                                                struct io_uring_probe *probe = io_uring_get_probe();
     17909                                                                if(io_uring_opcode_supported(probe, IORING_OP_CONNECT))
     17910                                                                        return 0;
     17911                                                                else
     17912                                                                        return 1;
     17913                                                        }
     17914
     17915  ;
     17916  return 0;
     17917}
     17918
     17919_ACEOF
     17920if ac_fn_c_try_run "$LINENO"; then :
     17921
     17922                                                $as_echo "#define CFA_HAVE_IORING_OP_CONNECT 1" >>confdefs.h
     17923
     17924
     17925else
     17926
     17927                                                { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     17928$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     17929as_fn_error $? "Check support for IORING_OP_CONNECT  with liburing failed
     17930See \`config.log' for more details" "$LINENO" 5; }
     17931
     17932fi
     17933rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
     17934  conftest.$ac_objext conftest.beam conftest.$ac_ext
     17935fi
     17936
     17937
     17938fi
     17939
     17940
     17941                                ac_fn_c_check_decl "$LINENO" "IORING_OP_FALLOCATE" "ac_cv_have_decl_IORING_OP_FALLOCATE" "#include <linux/io_uring.h>
     17942"
     17943if test "x$ac_cv_have_decl_IORING_OP_FALLOCATE" = xyes; then :
     17944
     17945                                        if test "$cross_compiling" = yes; then :
     17946  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     17947$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     17948as_fn_error $? "cannot run test program while cross compiling
     17949See \`config.log' for more details" "$LINENO" 5; }
     17950else
     17951  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     17952/* end confdefs.h.  */
     17953
     17954                                                #include <liburing.h>
     17955int
     17956main ()
     17957{
     17958int main() {
     17959                                                                struct io_uring_probe *probe = io_uring_get_probe();
     17960                                                                if(io_uring_opcode_supported(probe, IORING_OP_FALLOCATE))
     17961                                                                        return 0;
     17962                                                                else
     17963                                                                        return 1;
     17964                                                        }
     17965
     17966  ;
     17967  return 0;
     17968}
     17969
     17970_ACEOF
     17971if ac_fn_c_try_run "$LINENO"; then :
     17972
     17973                                                $as_echo "#define CFA_HAVE_IORING_OP_FALLOCATE 1" >>confdefs.h
     17974
     17975
     17976else
     17977
     17978                                                { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     17979$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     17980as_fn_error $? "Check support for IORING_OP_FALLOCATE  with liburing failed
     17981See \`config.log' for more details" "$LINENO" 5; }
     17982
     17983fi
     17984rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
     17985  conftest.$ac_objext conftest.beam conftest.$ac_ext
     17986fi
     17987
     17988
     17989fi
     17990
     17991
     17992                                ac_fn_c_check_decl "$LINENO" "IORING_OP_OPENAT" "ac_cv_have_decl_IORING_OP_OPENAT" "#include <linux/io_uring.h>
     17993"
     17994if test "x$ac_cv_have_decl_IORING_OP_OPENAT" = xyes; then :
     17995
     17996                                        if test "$cross_compiling" = yes; then :
     17997  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     17998$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     17999as_fn_error $? "cannot run test program while cross compiling
     18000See \`config.log' for more details" "$LINENO" 5; }
     18001else
     18002  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     18003/* end confdefs.h.  */
     18004
     18005                                                #include <liburing.h>
     18006int
     18007main ()
     18008{
     18009int main() {
     18010                                                                struct io_uring_probe *probe = io_uring_get_probe();
     18011                                                                if(io_uring_opcode_supported(probe, IORING_OP_OPENAT))
     18012                                                                        return 0;
     18013                                                                else
     18014                                                                        return 1;
     18015                                                        }
     18016
     18017  ;
     18018  return 0;
     18019}
     18020
     18021_ACEOF
     18022if ac_fn_c_try_run "$LINENO"; then :
     18023
     18024                                                $as_echo "#define CFA_HAVE_IORING_OP_OPENAT 1" >>confdefs.h
     18025
     18026
     18027else
     18028
     18029                                                { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     18030$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     18031as_fn_error $? "Check support for IORING_OP_OPENAT  with liburing failed
     18032See \`config.log' for more details" "$LINENO" 5; }
     18033
     18034fi
     18035rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
     18036  conftest.$ac_objext conftest.beam conftest.$ac_ext
     18037fi
     18038
     18039
     18040fi
     18041
     18042
     18043                                ac_fn_c_check_decl "$LINENO" "IORING_OP_CLOSE" "ac_cv_have_decl_IORING_OP_CLOSE" "#include <linux/io_uring.h>
     18044"
     18045if test "x$ac_cv_have_decl_IORING_OP_CLOSE" = xyes; then :
     18046
     18047                                        if test "$cross_compiling" = yes; then :
     18048  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     18049$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     18050as_fn_error $? "cannot run test program while cross compiling
     18051See \`config.log' for more details" "$LINENO" 5; }
     18052else
     18053  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     18054/* end confdefs.h.  */
     18055
     18056                                                #include <liburing.h>
     18057int
     18058main ()
     18059{
     18060int main() {
     18061                                                                struct io_uring_probe *probe = io_uring_get_probe();
     18062                                                                if(io_uring_opcode_supported(probe, IORING_OP_CLOSE))
     18063                                                                        return 0;
     18064                                                                else
     18065                                                                        return 1;
     18066                                                        }
     18067
     18068  ;
     18069  return 0;
     18070}
     18071
     18072_ACEOF
     18073if ac_fn_c_try_run "$LINENO"; then :
     18074
     18075                                                $as_echo "#define CFA_HAVE_IORING_OP_CLOSE 1" >>confdefs.h
     18076
     18077
     18078else
     18079
     18080                                                { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     18081$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     18082as_fn_error $? "Check support for IORING_OP_CLOSE  with liburing failed
     18083See \`config.log' for more details" "$LINENO" 5; }
     18084
     18085fi
     18086rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
     18087  conftest.$ac_objext conftest.beam conftest.$ac_ext
     18088fi
     18089
     18090
     18091fi
     18092
     18093
     18094                                ac_fn_c_check_decl "$LINENO" "IORING_OP_FILES_UPDATE" "ac_cv_have_decl_IORING_OP_FILES_UPDATE" "#include <linux/io_uring.h>
     18095"
     18096if test "x$ac_cv_have_decl_IORING_OP_FILES_UPDATE" = xyes; then :
     18097
     18098                                        if test "$cross_compiling" = yes; then :
     18099  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     18100$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     18101as_fn_error $? "cannot run test program while cross compiling
     18102See \`config.log' for more details" "$LINENO" 5; }
     18103else
     18104  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     18105/* end confdefs.h.  */
     18106
     18107                                                #include <liburing.h>
     18108int
     18109main ()
     18110{
     18111int main() {
     18112                                                                struct io_uring_probe *probe = io_uring_get_probe();
     18113                                                                if(io_uring_opcode_supported(probe, IORING_OP_FILES_UPDATE))
     18114                                                                        return 0;
     18115                                                                else
     18116                                                                        return 1;
     18117                                                        }
     18118
     18119  ;
     18120  return 0;
     18121}
     18122
     18123_ACEOF
     18124if ac_fn_c_try_run "$LINENO"; then :
     18125
     18126                                                $as_echo "#define CFA_HAVE_IORING_OP_FILES_UPDATE 1" >>confdefs.h
     18127
     18128
     18129else
     18130
     18131                                                { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     18132$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     18133as_fn_error $? "Check support for IORING_OP_FILES_UPDATE  with liburing failed
     18134See \`config.log' for more details" "$LINENO" 5; }
     18135
     18136fi
     18137rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
     18138  conftest.$ac_objext conftest.beam conftest.$ac_ext
     18139fi
     18140
     18141
     18142fi
     18143
     18144
     18145                                ac_fn_c_check_decl "$LINENO" "IORING_OP_STATX" "ac_cv_have_decl_IORING_OP_STATX" "#include <linux/io_uring.h>
     18146"
     18147if test "x$ac_cv_have_decl_IORING_OP_STATX" = xyes; then :
     18148
     18149                                        if test "$cross_compiling" = yes; then :
     18150  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     18151$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     18152as_fn_error $? "cannot run test program while cross compiling
     18153See \`config.log' for more details" "$LINENO" 5; }
     18154else
     18155  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     18156/* end confdefs.h.  */
     18157
     18158                                                #include <liburing.h>
     18159int
     18160main ()
     18161{
     18162int main() {
     18163                                                                struct io_uring_probe *probe = io_uring_get_probe();
     18164                                                                if(io_uring_opcode_supported(probe, IORING_OP_STATX))
     18165                                                                        return 0;
     18166                                                                else
     18167                                                                        return 1;
     18168                                                        }
     18169
     18170  ;
     18171  return 0;
     18172}
     18173
     18174_ACEOF
     18175if ac_fn_c_try_run "$LINENO"; then :
     18176
     18177                                                $as_echo "#define CFA_HAVE_IORING_OP_STATX 1" >>confdefs.h
     18178
     18179
     18180else
     18181
     18182                                                { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     18183$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     18184as_fn_error $? "Check support for IORING_OP_STATX  with liburing failed
     18185See \`config.log' for more details" "$LINENO" 5; }
     18186
     18187fi
     18188rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
     18189  conftest.$ac_objext conftest.beam conftest.$ac_ext
     18190fi
     18191
     18192
     18193fi
     18194
     18195
     18196                                ac_fn_c_check_decl "$LINENO" "IORING_OP_READ" "ac_cv_have_decl_IORING_OP_READ" "#include <linux/io_uring.h>
     18197"
     18198if test "x$ac_cv_have_decl_IORING_OP_READ" = xyes; then :
     18199
     18200                                        if test "$cross_compiling" = yes; then :
     18201  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     18202$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     18203as_fn_error $? "cannot run test program while cross compiling
     18204See \`config.log' for more details" "$LINENO" 5; }
     18205else
     18206  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     18207/* end confdefs.h.  */
     18208
     18209                                                #include <liburing.h>
     18210int
     18211main ()
     18212{
     18213int main() {
     18214                                                                struct io_uring_probe *probe = io_uring_get_probe();
     18215                                                                if(io_uring_opcode_supported(probe, IORING_OP_READ))
     18216                                                                        return 0;
     18217                                                                else
     18218                                                                        return 1;
     18219                                                        }
     18220
     18221  ;
     18222  return 0;
     18223}
     18224
     18225_ACEOF
     18226if ac_fn_c_try_run "$LINENO"; then :
     18227
     18228                                                $as_echo "#define CFA_HAVE_IORING_OP_READ 1" >>confdefs.h
     18229
     18230
     18231else
     18232
     18233                                                { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     18234$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     18235as_fn_error $? "Check support for IORING_OP_READ  with liburing failed
     18236See \`config.log' for more details" "$LINENO" 5; }
     18237
     18238fi
     18239rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
     18240  conftest.$ac_objext conftest.beam conftest.$ac_ext
     18241fi
     18242
     18243
     18244fi
     18245
     18246
     18247                                ac_fn_c_check_decl "$LINENO" "IORING_OP_WRITE" "ac_cv_have_decl_IORING_OP_WRITE" "#include <linux/io_uring.h>
     18248"
     18249if test "x$ac_cv_have_decl_IORING_OP_WRITE" = xyes; then :
     18250
     18251                                        if test "$cross_compiling" = yes; then :
     18252  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     18253$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     18254as_fn_error $? "cannot run test program while cross compiling
     18255See \`config.log' for more details" "$LINENO" 5; }
     18256else
     18257  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     18258/* end confdefs.h.  */
     18259
     18260                                                #include <liburing.h>
     18261int
     18262main ()
     18263{
     18264int main() {
     18265                                                                struct io_uring_probe *probe = io_uring_get_probe();
     18266                                                                if(io_uring_opcode_supported(probe, IORING_OP_WRITE))
     18267                                                                        return 0;
     18268                                                                else
     18269                                                                        return 1;
     18270                                                        }
     18271
     18272  ;
     18273  return 0;
     18274}
     18275
     18276_ACEOF
     18277if ac_fn_c_try_run "$LINENO"; then :
     18278
     18279                                                $as_echo "#define CFA_HAVE_IORING_OP_WRITE 1" >>confdefs.h
     18280
     18281
     18282else
     18283
     18284                                                { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     18285$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     18286as_fn_error $? "Check support for IORING_OP_WRITE  with liburing failed
     18287See \`config.log' for more details" "$LINENO" 5; }
     18288
     18289fi
     18290rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
     18291  conftest.$ac_objext conftest.beam conftest.$ac_ext
     18292fi
     18293
     18294
     18295fi
     18296
     18297
     18298                                ac_fn_c_check_decl "$LINENO" "IORING_OP_FADVISE" "ac_cv_have_decl_IORING_OP_FADVISE" "#include <linux/io_uring.h>
     18299"
     18300if test "x$ac_cv_have_decl_IORING_OP_FADVISE" = xyes; then :
     18301
     18302                                        if test "$cross_compiling" = yes; then :
     18303  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     18304$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     18305as_fn_error $? "cannot run test program while cross compiling
     18306See \`config.log' for more details" "$LINENO" 5; }
     18307else
     18308  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     18309/* end confdefs.h.  */
     18310
     18311                                                #include <liburing.h>
     18312int
     18313main ()
     18314{
     18315int main() {
     18316                                                                struct io_uring_probe *probe = io_uring_get_probe();
     18317                                                                if(io_uring_opcode_supported(probe, IORING_OP_FADVISE))
     18318                                                                        return 0;
     18319                                                                else
     18320                                                                        return 1;
     18321                                                        }
     18322
     18323  ;
     18324  return 0;
     18325}
     18326
     18327_ACEOF
     18328if ac_fn_c_try_run "$LINENO"; then :
     18329
     18330                                                $as_echo "#define CFA_HAVE_IORING_OP_FADVISE 1" >>confdefs.h
     18331
     18332
     18333else
     18334
     18335                                                { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     18336$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     18337as_fn_error $? "Check support for IORING_OP_FADVISE  with liburing failed
     18338See \`config.log' for more details" "$LINENO" 5; }
     18339
     18340fi
     18341rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
     18342  conftest.$ac_objext conftest.beam conftest.$ac_ext
     18343fi
     18344
     18345
     18346fi
     18347
     18348
     18349                                ac_fn_c_check_decl "$LINENO" "IORING_OP_MADVISE" "ac_cv_have_decl_IORING_OP_MADVISE" "#include <linux/io_uring.h>
     18350"
     18351if test "x$ac_cv_have_decl_IORING_OP_MADVISE" = xyes; then :
     18352
     18353                                        if test "$cross_compiling" = yes; then :
     18354  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     18355$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     18356as_fn_error $? "cannot run test program while cross compiling
     18357See \`config.log' for more details" "$LINENO" 5; }
     18358else
     18359  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     18360/* end confdefs.h.  */
     18361
     18362                                                #include <liburing.h>
     18363int
     18364main ()
     18365{
     18366int main() {
     18367                                                                struct io_uring_probe *probe = io_uring_get_probe();
     18368                                                                if(io_uring_opcode_supported(probe, IORING_OP_MADVISE))
     18369                                                                        return 0;
     18370                                                                else
     18371                                                                        return 1;
     18372                                                        }
     18373
     18374  ;
     18375  return 0;
     18376}
     18377
     18378_ACEOF
     18379if ac_fn_c_try_run "$LINENO"; then :
     18380
     18381                                                $as_echo "#define CFA_HAVE_IORING_OP_MADVISE 1" >>confdefs.h
     18382
     18383
     18384else
     18385
     18386                                                { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     18387$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     18388as_fn_error $? "Check support for IORING_OP_MADVISE  with liburing failed
     18389See \`config.log' for more details" "$LINENO" 5; }
     18390
     18391fi
     18392rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
     18393  conftest.$ac_objext conftest.beam conftest.$ac_ext
     18394fi
     18395
     18396
     18397fi
     18398
     18399
     18400                                ac_fn_c_check_decl "$LINENO" "IORING_OP_SEND" "ac_cv_have_decl_IORING_OP_SEND" "#include <linux/io_uring.h>
     18401"
     18402if test "x$ac_cv_have_decl_IORING_OP_SEND" = xyes; then :
     18403
     18404                                        if test "$cross_compiling" = yes; then :
     18405  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     18406$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     18407as_fn_error $? "cannot run test program while cross compiling
     18408See \`config.log' for more details" "$LINENO" 5; }
     18409else
     18410  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     18411/* end confdefs.h.  */
     18412
     18413                                                #include <liburing.h>
     18414int
     18415main ()
     18416{
     18417int main() {
     18418                                                                struct io_uring_probe *probe = io_uring_get_probe();
     18419                                                                if(io_uring_opcode_supported(probe, IORING_OP_SEND))
     18420                                                                        return 0;
     18421                                                                else
     18422                                                                        return 1;
     18423                                                        }
     18424
     18425  ;
     18426  return 0;
     18427}
     18428
     18429_ACEOF
     18430if ac_fn_c_try_run "$LINENO"; then :
     18431
     18432                                                $as_echo "#define CFA_HAVE_IORING_OP_SEND 1" >>confdefs.h
     18433
     18434
     18435else
     18436
     18437                                                { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     18438$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     18439as_fn_error $? "Check support for IORING_OP_SEND  with liburing failed
     18440See \`config.log' for more details" "$LINENO" 5; }
     18441
     18442fi
     18443rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
     18444  conftest.$ac_objext conftest.beam conftest.$ac_ext
     18445fi
     18446
     18447
     18448fi
     18449
     18450
     18451                                ac_fn_c_check_decl "$LINENO" "IORING_OP_RECV" "ac_cv_have_decl_IORING_OP_RECV" "#include <linux/io_uring.h>
     18452"
     18453if test "x$ac_cv_have_decl_IORING_OP_RECV" = xyes; then :
     18454
     18455                                        if test "$cross_compiling" = yes; then :
     18456  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     18457$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     18458as_fn_error $? "cannot run test program while cross compiling
     18459See \`config.log' for more details" "$LINENO" 5; }
     18460else
     18461  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     18462/* end confdefs.h.  */
     18463
     18464                                                #include <liburing.h>
     18465int
     18466main ()
     18467{
     18468int main() {
     18469                                                                struct io_uring_probe *probe = io_uring_get_probe();
     18470                                                                if(io_uring_opcode_supported(probe, IORING_OP_RECV))
     18471                                                                        return 0;
     18472                                                                else
     18473                                                                        return 1;
     18474                                                        }
     18475
     18476  ;
     18477  return 0;
     18478}
     18479
     18480_ACEOF
     18481if ac_fn_c_try_run "$LINENO"; then :
     18482
     18483                                                $as_echo "#define CFA_HAVE_IORING_OP_RECV 1" >>confdefs.h
     18484
     18485
     18486else
     18487
     18488                                                { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     18489$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     18490as_fn_error $? "Check support for IORING_OP_RECV  with liburing failed
     18491See \`config.log' for more details" "$LINENO" 5; }
     18492
     18493fi
     18494rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
     18495  conftest.$ac_objext conftest.beam conftest.$ac_ext
     18496fi
     18497
     18498
     18499fi
     18500
     18501
     18502                                ac_fn_c_check_decl "$LINENO" "IORING_OP_OPENAT2" "ac_cv_have_decl_IORING_OP_OPENAT2" "#include <linux/io_uring.h>
     18503"
     18504if test "x$ac_cv_have_decl_IORING_OP_OPENAT2" = xyes; then :
     18505
     18506                                        if test "$cross_compiling" = yes; then :
     18507  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     18508$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     18509as_fn_error $? "cannot run test program while cross compiling
     18510See \`config.log' for more details" "$LINENO" 5; }
     18511else
     18512  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     18513/* end confdefs.h.  */
     18514
     18515                                                #include <liburing.h>
     18516int
     18517main ()
     18518{
     18519int main() {
     18520                                                                struct io_uring_probe *probe = io_uring_get_probe();
     18521                                                                if(io_uring_opcode_supported(probe, IORING_OP_OPENAT2))
     18522                                                                        return 0;
     18523                                                                else
     18524                                                                        return 1;
     18525                                                        }
     18526
     18527  ;
     18528  return 0;
     18529}
     18530
     18531_ACEOF
     18532if ac_fn_c_try_run "$LINENO"; then :
     18533
     18534                                                $as_echo "#define CFA_HAVE_IORING_OP_OPENAT2 1" >>confdefs.h
     18535
     18536
     18537else
     18538
     18539                                                { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     18540$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     18541as_fn_error $? "Check support for IORING_OP_OPENAT2  with liburing failed
     18542See \`config.log' for more details" "$LINENO" 5; }
     18543
     18544fi
     18545rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
     18546  conftest.$ac_objext conftest.beam conftest.$ac_ext
     18547fi
     18548
     18549
     18550fi
     18551
     18552
     18553                                ac_fn_c_check_decl "$LINENO" "IORING_OP_EPOLL_CTL" "ac_cv_have_decl_IORING_OP_EPOLL_CTL" "#include <linux/io_uring.h>
     18554"
     18555if test "x$ac_cv_have_decl_IORING_OP_EPOLL_CTL" = xyes; then :
     18556
     18557                                        if test "$cross_compiling" = yes; then :
     18558  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     18559$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     18560as_fn_error $? "cannot run test program while cross compiling
     18561See \`config.log' for more details" "$LINENO" 5; }
     18562else
     18563  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     18564/* end confdefs.h.  */
     18565
     18566                                                #include <liburing.h>
     18567int
     18568main ()
     18569{
     18570int main() {
     18571                                                                struct io_uring_probe *probe = io_uring_get_probe();
     18572                                                                if(io_uring_opcode_supported(probe, IORING_OP_EPOLL_CTL))
     18573                                                                        return 0;
     18574                                                                else
     18575                                                                        return 1;
     18576                                                        }
     18577
     18578  ;
     18579  return 0;
     18580}
     18581
     18582_ACEOF
     18583if ac_fn_c_try_run "$LINENO"; then :
     18584
     18585                                                $as_echo "#define CFA_HAVE_IORING_OP_EPOLL_CTL 1" >>confdefs.h
     18586
     18587
     18588else
     18589
     18590                                                { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     18591$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     18592as_fn_error $? "Check support for IORING_OP_EPOLL_CTL  with liburing failed
     18593See \`config.log' for more details" "$LINENO" 5; }
     18594
     18595fi
     18596rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
     18597  conftest.$ac_objext conftest.beam conftest.$ac_ext
     18598fi
     18599
     18600
     18601fi
     18602
     18603
     18604                                ac_fn_c_check_decl "$LINENO" "IORING_OP_SPLICE" "ac_cv_have_decl_IORING_OP_SPLICE" "#include <linux/io_uring.h>
     18605"
     18606if test "x$ac_cv_have_decl_IORING_OP_SPLICE" = xyes; then :
     18607
     18608                                        if test "$cross_compiling" = yes; then :
     18609  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     18610$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     18611as_fn_error $? "cannot run test program while cross compiling
     18612See \`config.log' for more details" "$LINENO" 5; }
     18613else
     18614  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     18615/* end confdefs.h.  */
     18616
     18617                                                #include <liburing.h>
     18618int
     18619main ()
     18620{
     18621int main() {
     18622                                                                struct io_uring_probe *probe = io_uring_get_probe();
     18623                                                                if(io_uring_opcode_supported(probe, IORING_OP_SPLICE))
     18624                                                                        return 0;
     18625                                                                else
     18626                                                                        return 1;
     18627                                                        }
     18628
     18629  ;
     18630  return 0;
     18631}
     18632
     18633_ACEOF
     18634if ac_fn_c_try_run "$LINENO"; then :
     18635
     18636                                                $as_echo "#define CFA_HAVE_IORING_OP_SPLICE 1" >>confdefs.h
     18637
     18638
     18639else
     18640
     18641                                                { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     18642$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     18643as_fn_error $? "Check support for IORING_OP_SPLICE  with liburing failed
     18644See \`config.log' for more details" "$LINENO" 5; }
     18645
     18646fi
     18647rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
     18648  conftest.$ac_objext conftest.beam conftest.$ac_ext
     18649fi
     18650
     18651
     18652fi
     18653
     18654
     18655                                ac_fn_c_check_decl "$LINENO" "IORING_OP_PROVIDE_BUFFERS" "ac_cv_have_decl_IORING_OP_PROVIDE_BUFFERS" "#include <linux/io_uring.h>
     18656"
     18657if test "x$ac_cv_have_decl_IORING_OP_PROVIDE_BUFFERS" = xyes; then :
     18658
     18659                                        if test "$cross_compiling" = yes; then :
     18660  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     18661$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     18662as_fn_error $? "cannot run test program while cross compiling
     18663See \`config.log' for more details" "$LINENO" 5; }
     18664else
     18665  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     18666/* end confdefs.h.  */
     18667
     18668                                                #include <liburing.h>
     18669int
     18670main ()
     18671{
     18672int main() {
     18673                                                                struct io_uring_probe *probe = io_uring_get_probe();
     18674                                                                if(io_uring_opcode_supported(probe, IORING_OP_PROVIDE_BUFFERS))
     18675                                                                        return 0;
     18676                                                                else
     18677                                                                        return 1;
     18678                                                        }
     18679
     18680  ;
     18681  return 0;
     18682}
     18683
     18684_ACEOF
     18685if ac_fn_c_try_run "$LINENO"; then :
     18686
     18687                                                $as_echo "#define CFA_HAVE_IORING_OP_PROVIDE_BUFFERS 1" >>confdefs.h
     18688
     18689
     18690else
     18691
     18692                                                { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     18693$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     18694as_fn_error $? "Check support for IORING_OP_PROVIDE_BUFFERS  with liburing failed
     18695See \`config.log' for more details" "$LINENO" 5; }
     18696
     18697fi
     18698rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
     18699  conftest.$ac_objext conftest.beam conftest.$ac_ext
     18700fi
     18701
     18702
     18703fi
     18704
     18705
     18706                                ac_fn_c_check_decl "$LINENO" "IORING_OP_REMOVE_BUFFER" "ac_cv_have_decl_IORING_OP_REMOVE_BUFFER" "#include <linux/io_uring.h>
     18707"
     18708if test "x$ac_cv_have_decl_IORING_OP_REMOVE_BUFFER" = xyes; then :
     18709
     18710                                        if test "$cross_compiling" = yes; then :
     18711  { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     18712$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     18713as_fn_error $? "cannot run test program while cross compiling
     18714See \`config.log' for more details" "$LINENO" 5; }
     18715else
     18716  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
     18717/* end confdefs.h.  */
     18718
     18719                                                #include <liburing.h>
     18720int
     18721main ()
     18722{
     18723int main() {
     18724                                                                struct io_uring_probe *probe = io_uring_get_probe();
     18725                                                                if(io_uring_opcode_supported(probe, IORING_OP_REMOVE_BUFFER))
     18726                                                                        return 0;
     18727                                                                else
     18728                                                                        return 1;
     18729                                                        }
     18730
     18731  ;
     18732  return 0;
     18733}
     18734
     18735_ACEOF
     18736if ac_fn_c_try_run "$LINENO"; then :
     18737
     18738                                                $as_echo "#define CFA_HAVE_IORING_OP_REMOVE_BUFFER 1" >>confdefs.h
     18739
     18740
     18741else
     18742
     18743                                                { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
     18744$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
     18745as_fn_error $? "Check support for IORING_OP_REMOVE_BUFFER  with liburing failed
     18746See \`config.log' for more details" "$LINENO" 5; }
     18747
     18748fi
     18749rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
     18750  conftest.$ac_objext conftest.beam conftest.$ac_ext
     18751fi
     18752
     18753
     18754fi
     18755
     18756
     18757
     18758else
     18759
     18760
    1703218761
    1703318762                ac_fn_c_check_decl "$LINENO" "IORING_OP_NOP" "ac_cv_have_decl_IORING_OP_NOP" "#include <linux/io_uring.h>
     
    1729119020if test "x$ac_cv_have_decl_IORING_OP_REMOVE_BUFFER" = xyes; then :
    1729219021  $as_echo "#define CFA_HAVE_IORING_OP_REMOVE_BUFFER 1" >>confdefs.h
     19022
     19023fi
     19024
     19025
     19026
     19027
     19028fi
     19029
     19030
     19031else
     19032
     19033
     19034
     19035                ac_fn_c_check_decl "$LINENO" "IORING_OP_NOP" "ac_cv_have_decl_IORING_OP_NOP" "#include <linux/io_uring.h>
     19036"
     19037if test "x$ac_cv_have_decl_IORING_OP_NOP" = xyes; then :
     19038  $as_echo "#define CFA_HAVE_IORING_OP_NOP 1" >>confdefs.h
     19039
     19040fi
     19041
     19042
     19043                ac_fn_c_check_decl "$LINENO" "IORING_OP_READV" "ac_cv_have_decl_IORING_OP_READV" "#include <linux/io_uring.h>
     19044"
     19045if test "x$ac_cv_have_decl_IORING_OP_READV" = xyes; then :
     19046  $as_echo "#define CFA_HAVE_IORING_OP_READV 1" >>confdefs.h
     19047
     19048fi
     19049
     19050
     19051                ac_fn_c_check_decl "$LINENO" "IORING_OP_WRITEV" "ac_cv_have_decl_IORING_OP_WRITEV" "#include <linux/io_uring.h>
     19052"
     19053if test "x$ac_cv_have_decl_IORING_OP_WRITEV" = xyes; then :
     19054  $as_echo "#define CFA_HAVE_IORING_OP_WRITEV 1" >>confdefs.h
     19055
     19056fi
     19057
     19058
     19059                ac_fn_c_check_decl "$LINENO" "IORING_OP_FSYNC" "ac_cv_have_decl_IORING_OP_FSYNC" "#include <linux/io_uring.h>
     19060"
     19061if test "x$ac_cv_have_decl_IORING_OP_FSYNC" = xyes; then :
     19062  $as_echo "#define CFA_HAVE_IORING_OP_FSYNC 1" >>confdefs.h
     19063
     19064fi
     19065
     19066
     19067                ac_fn_c_check_decl "$LINENO" "IORING_OP_READ_FIXED" "ac_cv_have_decl_IORING_OP_READ_FIXED" "#include <linux/io_uring.h>
     19068"
     19069if test "x$ac_cv_have_decl_IORING_OP_READ_FIXED" = xyes; then :
     19070  $as_echo "#define CFA_HAVE_IORING_OP_READ_FIXED 1" >>confdefs.h
     19071
     19072fi
     19073
     19074
     19075                ac_fn_c_check_decl "$LINENO" "IORING_OP_WRITE_FIXED" "ac_cv_have_decl_IORING_OP_WRITE_FIXED" "#include <linux/io_uring.h>
     19076"
     19077if test "x$ac_cv_have_decl_IORING_OP_WRITE_FIXED" = xyes; then :
     19078  $as_echo "#define CFA_HAVE_IORING_OP_WRITE_FIXED 1" >>confdefs.h
     19079
     19080fi
     19081
     19082
     19083                ac_fn_c_check_decl "$LINENO" "IORING_OP_POLL_ADD" "ac_cv_have_decl_IORING_OP_POLL_ADD" "#include <linux/io_uring.h>
     19084"
     19085if test "x$ac_cv_have_decl_IORING_OP_POLL_ADD" = xyes; then :
     19086  $as_echo "#define CFA_HAVE_IORING_OP_POLL_ADD 1" >>confdefs.h
     19087
     19088fi
     19089
     19090
     19091                ac_fn_c_check_decl "$LINENO" "IORING_OP_POLL_REMOVE" "ac_cv_have_decl_IORING_OP_POLL_REMOVE" "#include <linux/io_uring.h>
     19092"
     19093if test "x$ac_cv_have_decl_IORING_OP_POLL_REMOVE" = xyes; then :
     19094  $as_echo "#define CFA_HAVE_IORING_OP_POLL_REMOVE 1" >>confdefs.h
     19095
     19096fi
     19097
     19098
     19099                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>
     19100"
     19101if test "x$ac_cv_have_decl_IORING_OP_SYNC_FILE_RANGE" = xyes; then :
     19102  $as_echo "#define CFA_HAVE_IORING_OP_SYNC_FILE_RANGE 1" >>confdefs.h
     19103
     19104fi
     19105
     19106
     19107                ac_fn_c_check_decl "$LINENO" "IORING_OP_SENDMSG" "ac_cv_have_decl_IORING_OP_SENDMSG" "#include <linux/io_uring.h>
     19108"
     19109if test "x$ac_cv_have_decl_IORING_OP_SENDMSG" = xyes; then :
     19110  $as_echo "#define CFA_HAVE_IORING_OP_SENDMSG 1" >>confdefs.h
     19111
     19112fi
     19113
     19114
     19115                ac_fn_c_check_decl "$LINENO" "IORING_OP_RECVMSG" "ac_cv_have_decl_IORING_OP_RECVMSG" "#include <linux/io_uring.h>
     19116"
     19117if test "x$ac_cv_have_decl_IORING_OP_RECVMSG" = xyes; then :
     19118  $as_echo "#define CFA_HAVE_IORING_OP_RECVMSG 1" >>confdefs.h
     19119
     19120fi
     19121
     19122
     19123                ac_fn_c_check_decl "$LINENO" "IORING_OP_TIMEOUT" "ac_cv_have_decl_IORING_OP_TIMEOUT" "#include <linux/io_uring.h>
     19124"
     19125if test "x$ac_cv_have_decl_IORING_OP_TIMEOUT" = xyes; then :
     19126  $as_echo "#define CFA_HAVE_IORING_OP_TIMEOUT 1" >>confdefs.h
     19127
     19128fi
     19129
     19130
     19131                ac_fn_c_check_decl "$LINENO" "IORING_OP_TIMEOUT_REMOVE" "ac_cv_have_decl_IORING_OP_TIMEOUT_REMOVE" "#include <linux/io_uring.h>
     19132"
     19133if test "x$ac_cv_have_decl_IORING_OP_TIMEOUT_REMOVE" = xyes; then :
     19134  $as_echo "#define CFA_HAVE_IORING_OP_TIMEOUT_REMOVE 1" >>confdefs.h
     19135
     19136fi
     19137
     19138
     19139                ac_fn_c_check_decl "$LINENO" "IORING_OP_ACCEPT" "ac_cv_have_decl_IORING_OP_ACCEPT" "#include <linux/io_uring.h>
     19140"
     19141if test "x$ac_cv_have_decl_IORING_OP_ACCEPT" = xyes; then :
     19142  $as_echo "#define CFA_HAVE_IORING_OP_ACCEPT 1" >>confdefs.h
     19143
     19144fi
     19145
     19146
     19147                ac_fn_c_check_decl "$LINENO" "IORING_OP_ASYNC_CANCEL" "ac_cv_have_decl_IORING_OP_ASYNC_CANCEL" "#include <linux/io_uring.h>
     19148"
     19149if test "x$ac_cv_have_decl_IORING_OP_ASYNC_CANCEL" = xyes; then :
     19150  $as_echo "#define CFA_HAVE_IORING_OP_ASYNC_CANCEL 1" >>confdefs.h
     19151
     19152fi
     19153
     19154
     19155                ac_fn_c_check_decl "$LINENO" "IORING_OP_LINK_TIMEOUT" "ac_cv_have_decl_IORING_OP_LINK_TIMEOUT" "#include <linux/io_uring.h>
     19156"
     19157if test "x$ac_cv_have_decl_IORING_OP_LINK_TIMEOUT" = xyes; then :
     19158  $as_echo "#define CFA_HAVE_IORING_OP_LINK_TIMEOUT 1" >>confdefs.h
     19159
     19160fi
     19161
     19162
     19163                ac_fn_c_check_decl "$LINENO" "IORING_OP_CONNECT" "ac_cv_have_decl_IORING_OP_CONNECT" "#include <linux/io_uring.h>
     19164"
     19165if test "x$ac_cv_have_decl_IORING_OP_CONNECT" = xyes; then :
     19166  $as_echo "#define CFA_HAVE_IORING_OP_CONNECT 1" >>confdefs.h
     19167
     19168fi
     19169
     19170
     19171                ac_fn_c_check_decl "$LINENO" "IORING_OP_FALLOCATE" "ac_cv_have_decl_IORING_OP_FALLOCATE" "#include <linux/io_uring.h>
     19172"
     19173if test "x$ac_cv_have_decl_IORING_OP_FALLOCATE" = xyes; then :
     19174  $as_echo "#define CFA_HAVE_IORING_OP_FALLOCATE 1" >>confdefs.h
     19175
     19176fi
     19177
     19178
     19179                ac_fn_c_check_decl "$LINENO" "IORING_OP_OPENAT" "ac_cv_have_decl_IORING_OP_OPENAT" "#include <linux/io_uring.h>
     19180"
     19181if test "x$ac_cv_have_decl_IORING_OP_OPENAT" = xyes; then :
     19182  $as_echo "#define CFA_HAVE_IORING_OP_OPENAT 1" >>confdefs.h
     19183
     19184fi
     19185
     19186
     19187                ac_fn_c_check_decl "$LINENO" "IORING_OP_CLOSE" "ac_cv_have_decl_IORING_OP_CLOSE" "#include <linux/io_uring.h>
     19188"
     19189if test "x$ac_cv_have_decl_IORING_OP_CLOSE" = xyes; then :
     19190  $as_echo "#define CFA_HAVE_IORING_OP_CLOSE 1" >>confdefs.h
     19191
     19192fi
     19193
     19194
     19195                ac_fn_c_check_decl "$LINENO" "IORING_OP_FILES_UPDATE" "ac_cv_have_decl_IORING_OP_FILES_UPDATE" "#include <linux/io_uring.h>
     19196"
     19197if test "x$ac_cv_have_decl_IORING_OP_FILES_UPDATE" = xyes; then :
     19198  $as_echo "#define CFA_HAVE_IORING_OP_FILES_UPDATE 1" >>confdefs.h
     19199
     19200fi
     19201
     19202
     19203                ac_fn_c_check_decl "$LINENO" "IORING_OP_STATX" "ac_cv_have_decl_IORING_OP_STATX" "#include <linux/io_uring.h>
     19204"
     19205if test "x$ac_cv_have_decl_IORING_OP_STATX" = xyes; then :
     19206  $as_echo "#define CFA_HAVE_IORING_OP_STATX 1" >>confdefs.h
     19207
     19208fi
     19209
     19210
     19211                ac_fn_c_check_decl "$LINENO" "IORING_OP_READ" "ac_cv_have_decl_IORING_OP_READ" "#include <linux/io_uring.h>
     19212"
     19213if test "x$ac_cv_have_decl_IORING_OP_READ" = xyes; then :
     19214  $as_echo "#define CFA_HAVE_IORING_OP_READ 1" >>confdefs.h
     19215
     19216fi
     19217
     19218
     19219                ac_fn_c_check_decl "$LINENO" "IORING_OP_WRITE" "ac_cv_have_decl_IORING_OP_WRITE" "#include <linux/io_uring.h>
     19220"
     19221if test "x$ac_cv_have_decl_IORING_OP_WRITE" = xyes; then :
     19222  $as_echo "#define CFA_HAVE_IORING_OP_WRITE 1" >>confdefs.h
     19223
     19224fi
     19225
     19226
     19227                ac_fn_c_check_decl "$LINENO" "IORING_OP_FADVISE" "ac_cv_have_decl_IORING_OP_FADVISE" "#include <linux/io_uring.h>
     19228"
     19229if test "x$ac_cv_have_decl_IORING_OP_FADVISE" = xyes; then :
     19230  $as_echo "#define CFA_HAVE_IORING_OP_FADVISE 1" >>confdefs.h
     19231
     19232fi
     19233
     19234
     19235                ac_fn_c_check_decl "$LINENO" "IORING_OP_MADVISE" "ac_cv_have_decl_IORING_OP_MADVISE" "#include <linux/io_uring.h>
     19236"
     19237if test "x$ac_cv_have_decl_IORING_OP_MADVISE" = xyes; then :
     19238  $as_echo "#define CFA_HAVE_IORING_OP_MADVISE 1" >>confdefs.h
     19239
     19240fi
     19241
     19242
     19243                ac_fn_c_check_decl "$LINENO" "IORING_OP_SEND" "ac_cv_have_decl_IORING_OP_SEND" "#include <linux/io_uring.h>
     19244"
     19245if test "x$ac_cv_have_decl_IORING_OP_SEND" = xyes; then :
     19246  $as_echo "#define CFA_HAVE_IORING_OP_SEND 1" >>confdefs.h
     19247
     19248fi
     19249
     19250
     19251                ac_fn_c_check_decl "$LINENO" "IORING_OP_RECV" "ac_cv_have_decl_IORING_OP_RECV" "#include <linux/io_uring.h>
     19252"
     19253if test "x$ac_cv_have_decl_IORING_OP_RECV" = xyes; then :
     19254  $as_echo "#define CFA_HAVE_IORING_OP_RECV 1" >>confdefs.h
     19255
     19256fi
     19257
     19258
     19259                ac_fn_c_check_decl "$LINENO" "IORING_OP_OPENAT2" "ac_cv_have_decl_IORING_OP_OPENAT2" "#include <linux/io_uring.h>
     19260"
     19261if test "x$ac_cv_have_decl_IORING_OP_OPENAT2" = xyes; then :
     19262  $as_echo "#define CFA_HAVE_IORING_OP_OPENAT2 1" >>confdefs.h
     19263
     19264fi
     19265
     19266
     19267                ac_fn_c_check_decl "$LINENO" "IORING_OP_EPOLL_CTL" "ac_cv_have_decl_IORING_OP_EPOLL_CTL" "#include <linux/io_uring.h>
     19268"
     19269if test "x$ac_cv_have_decl_IORING_OP_EPOLL_CTL" = xyes; then :
     19270  $as_echo "#define CFA_HAVE_IORING_OP_EPOLL_CTL 1" >>confdefs.h
     19271
     19272fi
     19273
     19274
     19275                ac_fn_c_check_decl "$LINENO" "IORING_OP_SPLICE" "ac_cv_have_decl_IORING_OP_SPLICE" "#include <linux/io_uring.h>
     19276"
     19277if test "x$ac_cv_have_decl_IORING_OP_SPLICE" = xyes; then :
     19278  $as_echo "#define CFA_HAVE_IORING_OP_SPLICE 1" >>confdefs.h
     19279
     19280fi
     19281
     19282
     19283                ac_fn_c_check_decl "$LINENO" "IORING_OP_PROVIDE_BUFFERS" "ac_cv_have_decl_IORING_OP_PROVIDE_BUFFERS" "#include <linux/io_uring.h>
     19284"
     19285if test "x$ac_cv_have_decl_IORING_OP_PROVIDE_BUFFERS" = xyes; then :
     19286  $as_echo "#define CFA_HAVE_IORING_OP_PROVIDE_BUFFERS 1" >>confdefs.h
     19287
     19288fi
     19289
     19290
     19291                ac_fn_c_check_decl "$LINENO" "IORING_OP_REMOVE_BUFFER" "ac_cv_have_decl_IORING_OP_REMOVE_BUFFER" "#include <linux/io_uring.h>
     19292"
     19293if test "x$ac_cv_have_decl_IORING_OP_REMOVE_BUFFER" = xyes; then :
     19294  $as_echo "#define CFA_HAVE_IORING_OP_REMOVE_BUFFER 1" >>confdefs.h
     19295
     19296fi
     19297
     19298
     19299
    1729319300
    1729419301fi
  • libcfa/configure.ac

    r54eb5ebd rf854ee32  
    128128#io_uring 5.5 uses enum values
    129129#io_uring 5.6 and later uses probes
     130define(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])
     131
     132define(ioring_from_decls, [
     133        m4_foreach([op], [ioring_ops], [
     134                AC_CHECK_DECL(op, [AC_DEFINE([CFA_HAVE_]op)], [], [[#include <linux/io_uring.h>]])
     135        ])
     136])
    130137
    131138AC_CHECK_HEADERS([linux/io_uring.h], [
    132139        AC_DEFINE(CFA_HAVE_LINUX_IO_URING_H)
    133         # AC_CHECK_HEADER([liburing.h], [
    134         #       AC_CHECK_LIB([uring], [io_uring_get_probe])
    135         # ])
    136         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], [
    137                 AC_CHECK_DECL(op, [AC_DEFINE([CFA_HAVE_]op)], [], [[#include <linux/io_uring.h>]])
     140        AC_CHECK_HEADER([liburing.h], [
     141                AC_CHECK_LIB([uring], [io_uring_get_probe], [
     142                        m4_foreach([op], [ioring_ops], [
     143                                AC_CHECK_DECL(op, [
     144                                        AC_RUN_IFELSE([
     145                                                AC_LANG_PROGRAM(
     146                                                        [[#include <liburing.h>]],
     147                                                        [[int main() {]]
     148                                                        [[      struct io_uring_probe *probe = io_uring_get_probe();]]
     149                                                        [[      if(io_uring_opcode_supported(probe, ]]op[[))]]
     150                                                        [[              return 0;]]
     151                                                        [[      else]]
     152                                                        [[              return 1;]]
     153                                                        [[}]]
     154                                                )
     155                                        ],[
     156                                                AC_DEFINE([CFA_HAVE_]op)
     157                                        ],[
     158                                                AC_MSG_FAILURE([Check support for] op [ with liburing failed])
     159                                        ])
     160                                ], [], [[#include <linux/io_uring.h>]])
     161                        ])
     162                ], [
     163                        ioring_from_decls
     164                ])
     165        ], [
     166                ioring_from_decls
    138167        ])
    139168])
Note: See TracChangeset for help on using the changeset viewer.