tinygrad 0.10.2__py3-none-any.whl → 0.11.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (131) hide show
  1. tinygrad/__init__.py +1 -1
  2. tinygrad/apps/llm.py +206 -0
  3. tinygrad/codegen/__init__.py +116 -0
  4. tinygrad/codegen/devectorizer.py +315 -172
  5. tinygrad/codegen/expander.py +8 -16
  6. tinygrad/codegen/gpudims.py +89 -0
  7. tinygrad/codegen/linearize.py +205 -203
  8. tinygrad/codegen/lowerer.py +92 -139
  9. tinygrad/codegen/opt/__init__.py +38 -0
  10. tinygrad/codegen/opt/heuristic.py +125 -0
  11. tinygrad/codegen/opt/kernel.py +510 -0
  12. tinygrad/{engine → codegen/opt}/search.py +51 -35
  13. tinygrad/codegen/opt/swizzler.py +134 -0
  14. tinygrad/codegen/opt/tc.py +127 -0
  15. tinygrad/codegen/quantize.py +67 -0
  16. tinygrad/device.py +122 -132
  17. tinygrad/dtype.py +152 -35
  18. tinygrad/engine/jit.py +81 -54
  19. tinygrad/engine/memory.py +46 -27
  20. tinygrad/engine/realize.py +82 -41
  21. tinygrad/engine/schedule.py +70 -445
  22. tinygrad/frontend/__init__.py +0 -0
  23. tinygrad/frontend/onnx.py +1253 -0
  24. tinygrad/frontend/torch.py +5 -0
  25. tinygrad/gradient.py +19 -27
  26. tinygrad/helpers.py +95 -47
  27. tinygrad/nn/__init__.py +7 -8
  28. tinygrad/nn/optim.py +72 -41
  29. tinygrad/nn/state.py +37 -23
  30. tinygrad/renderer/__init__.py +40 -60
  31. tinygrad/renderer/cstyle.py +143 -128
  32. tinygrad/renderer/llvmir.py +113 -62
  33. tinygrad/renderer/ptx.py +50 -32
  34. tinygrad/renderer/wgsl.py +27 -23
  35. tinygrad/runtime/autogen/am/am.py +5861 -0
  36. tinygrad/runtime/autogen/am/pm4_nv.py +962 -0
  37. tinygrad/runtime/autogen/am/pm4_soc15.py +931 -0
  38. tinygrad/runtime/autogen/am/sdma_4_0_0.py +5209 -0
  39. tinygrad/runtime/autogen/am/sdma_4_4_2.py +5209 -0
  40. tinygrad/runtime/autogen/am/sdma_5_0_0.py +7103 -0
  41. tinygrad/runtime/autogen/am/sdma_6_0_0.py +8085 -0
  42. tinygrad/runtime/autogen/am/smu_v13_0_0.py +3068 -0
  43. tinygrad/runtime/autogen/am/smu_v14_0_2.py +3605 -0
  44. tinygrad/runtime/autogen/amd_gpu.py +1433 -67197
  45. tinygrad/runtime/autogen/comgr.py +35 -9
  46. tinygrad/runtime/autogen/comgr_3.py +906 -0
  47. tinygrad/runtime/autogen/cuda.py +2419 -494
  48. tinygrad/runtime/autogen/hsa.py +57 -16
  49. tinygrad/runtime/autogen/ib.py +7171 -0
  50. tinygrad/runtime/autogen/io_uring.py +917 -118
  51. tinygrad/runtime/autogen/kfd.py +748 -26
  52. tinygrad/runtime/autogen/libc.py +613 -218
  53. tinygrad/runtime/autogen/libusb.py +1643 -0
  54. tinygrad/runtime/autogen/nv/nv.py +8602 -0
  55. tinygrad/runtime/autogen/nv_gpu.py +7218 -2072
  56. tinygrad/runtime/autogen/opencl.py +2 -4
  57. tinygrad/runtime/autogen/sqtt.py +1789 -0
  58. tinygrad/runtime/autogen/vfio.py +3 -3
  59. tinygrad/runtime/autogen/webgpu.py +273 -264
  60. tinygrad/runtime/graph/cuda.py +3 -3
  61. tinygrad/runtime/graph/hcq.py +68 -29
  62. tinygrad/runtime/graph/metal.py +29 -13
  63. tinygrad/runtime/graph/remote.py +114 -0
  64. tinygrad/runtime/ops_amd.py +537 -320
  65. tinygrad/runtime/ops_cpu.py +108 -7
  66. tinygrad/runtime/ops_cuda.py +12 -14
  67. tinygrad/runtime/ops_disk.py +13 -10
  68. tinygrad/runtime/ops_dsp.py +47 -40
  69. tinygrad/runtime/ops_gpu.py +13 -11
  70. tinygrad/runtime/ops_hip.py +6 -9
  71. tinygrad/runtime/ops_llvm.py +35 -15
  72. tinygrad/runtime/ops_metal.py +29 -19
  73. tinygrad/runtime/ops_npy.py +5 -3
  74. tinygrad/runtime/ops_null.py +28 -0
  75. tinygrad/runtime/ops_nv.py +306 -234
  76. tinygrad/runtime/ops_python.py +62 -52
  77. tinygrad/runtime/ops_qcom.py +28 -39
  78. tinygrad/runtime/ops_remote.py +482 -0
  79. tinygrad/runtime/ops_webgpu.py +28 -28
  80. tinygrad/runtime/support/am/amdev.py +114 -249
  81. tinygrad/runtime/support/am/ip.py +211 -172
  82. tinygrad/runtime/support/amd.py +138 -0
  83. tinygrad/runtime/support/{compiler_hip.py → compiler_amd.py} +40 -8
  84. tinygrad/runtime/support/compiler_cuda.py +8 -11
  85. tinygrad/runtime/support/elf.py +2 -1
  86. tinygrad/runtime/support/hcq.py +184 -97
  87. tinygrad/runtime/support/ib.py +172 -0
  88. tinygrad/runtime/support/llvm.py +3 -4
  89. tinygrad/runtime/support/memory.py +251 -0
  90. tinygrad/runtime/support/nv/__init__.py +0 -0
  91. tinygrad/runtime/support/nv/ip.py +581 -0
  92. tinygrad/runtime/support/nv/nvdev.py +183 -0
  93. tinygrad/runtime/support/system.py +170 -0
  94. tinygrad/runtime/support/usb.py +268 -0
  95. tinygrad/runtime/support/webgpu.py +18 -0
  96. tinygrad/schedule/__init__.py +0 -0
  97. tinygrad/schedule/grouper.py +119 -0
  98. tinygrad/schedule/kernelize.py +368 -0
  99. tinygrad/schedule/multi.py +231 -0
  100. tinygrad/shape/shapetracker.py +40 -46
  101. tinygrad/shape/view.py +88 -52
  102. tinygrad/tensor.py +968 -542
  103. tinygrad/uop/__init__.py +117 -0
  104. tinygrad/{codegen/transcendental.py → uop/decompositions.py} +125 -38
  105. tinygrad/uop/mathtraits.py +169 -0
  106. tinygrad/uop/ops.py +1021 -0
  107. tinygrad/uop/spec.py +228 -0
  108. tinygrad/{codegen → uop}/symbolic.py +239 -216
  109. tinygrad/uop/upat.py +163 -0
  110. tinygrad/viz/assets/cdnjs.cloudflare.com/ajax/libs/highlight.js/11.10.0/languages/x86asm.min.js +19 -0
  111. tinygrad/viz/assets/d3js.org/d3.v7.min.js +2 -0
  112. tinygrad/viz/assets/dagrejs.github.io/project/dagre/latest/dagre.min.js +801 -0
  113. tinygrad/viz/index.html +203 -403
  114. tinygrad/viz/js/index.js +718 -0
  115. tinygrad/viz/js/worker.js +29 -0
  116. tinygrad/viz/serve.py +224 -102
  117. {tinygrad-0.10.2.dist-info → tinygrad-0.11.0.dist-info}/METADATA +24 -16
  118. tinygrad-0.11.0.dist-info/RECORD +141 -0
  119. {tinygrad-0.10.2.dist-info → tinygrad-0.11.0.dist-info}/WHEEL +1 -1
  120. tinygrad/codegen/kernel.py +0 -693
  121. tinygrad/engine/multi.py +0 -161
  122. tinygrad/ops.py +0 -1003
  123. tinygrad/runtime/ops_cloud.py +0 -220
  124. tinygrad/runtime/support/allocator.py +0 -94
  125. tinygrad/spec.py +0 -155
  126. tinygrad/viz/assets/d3js.org/d3.v5.min.js +0 -2
  127. tinygrad/viz/assets/dagrejs.github.io/project/dagre-d3/latest/dagre-d3.min.js +0 -4816
  128. tinygrad/viz/perfetto.html +0 -178
  129. tinygrad-0.10.2.dist-info/RECORD +0 -99
  130. {tinygrad-0.10.2.dist-info → tinygrad-0.11.0.dist-info/licenses}/LICENSE +0 -0
  131. {tinygrad-0.10.2.dist-info → tinygrad-0.11.0.dist-info}/top_level.txt +0 -0
@@ -159,12 +159,24 @@ def char_pointer_cast(string, encoding='utf-8'):
159
159
 
160
160
  LIB_URING_H = True # macro
161
161
  _XOPEN_SOURCE = 500 # macro
162
+ _GNU_SOURCE = True # macro
162
163
  # def uring_unlikely(cond): # macro
163
164
  # return __builtin_expect(!!(cond),0)
164
165
  # def uring_likely(cond): # macro
165
166
  # return __builtin_expect(!!(cond),1)
167
+ IOURINGINLINE = True # macro
168
+ __NR_io_uring_setup = 425 # macro
169
+ __NR_io_uring_enter = 426 # macro
170
+ __NR_io_uring_register = 427 # macro
171
+ def io_uring_cqe_index(ring, ptr, mask): # macro
172
+ return (((ptr)&(mask))<<io_uring_cqe_shift(ring))
166
173
  # def io_uring_for_each_cqe(ring, head, cqe): # macro
167
- # return (head=*(ring)->cq.khead;(cqe=(head!=io_uring_smp_load_acquire((ring)->cq.ktail)?&(ring)->cq.cqes[head&(*(ring)->cq.kring_mask)]:NULL));head++)
174
+ # return (head=*(ring)->cq.khead;(cqe=(head!=io_uring_smp_load_acquire((ring)->cq.ktail)?&(ring)->cq.cqes[io_uring_cqe_index(ring,head,(ring)->cq.ring_mask)]:NULL));head++)
175
+ LIBURING_HAVE_DATA64 = True # macro
176
+ def UNUSED(x): # macro
177
+ return (void)(x)
178
+ # def IO_URING_CHECK_VERSION(major, minor): # macro
179
+ # return (major>IO_URING_VERSION_MAJOR or (major==IO_URING_VERSION_MAJOR and minor>=IO_URING_VERSION_MINOR))
168
180
  class struct_io_uring_sq(Structure):
169
181
  pass
170
182
 
@@ -185,16 +197,29 @@ struct_io_uring_sq._fields_ = [
185
197
  ('sqe_tail', ctypes.c_uint32),
186
198
  ('ring_sz', ctypes.c_uint64),
187
199
  ('ring_ptr', ctypes.POINTER(None)),
188
- ('pad', ctypes.c_uint32 * 4),
200
+ ('ring_mask', ctypes.c_uint32),
201
+ ('ring_entries', ctypes.c_uint32),
202
+ ('pad', ctypes.c_uint32 * 2),
189
203
  ]
190
204
 
191
205
  class union_io_uring_sqe_0(Union):
192
206
  pass
193
207
 
208
+ class struct_io_uring_sqe_0_0(Structure):
209
+ pass
210
+
211
+ struct_io_uring_sqe_0_0._pack_ = 1 # source:False
212
+ struct_io_uring_sqe_0_0._fields_ = [
213
+ ('cmd_op', ctypes.c_uint32),
214
+ ('__pad1', ctypes.c_uint32),
215
+ ]
216
+
194
217
  union_io_uring_sqe_0._pack_ = 1 # source:False
218
+ union_io_uring_sqe_0._anonymous_ = ('_0',)
195
219
  union_io_uring_sqe_0._fields_ = [
196
220
  ('off', ctypes.c_uint64),
197
221
  ('addr2', ctypes.c_uint64),
222
+ ('_0', struct_io_uring_sqe_0_0),
198
223
  ]
199
224
 
200
225
  class union_io_uring_sqe_1(Union):
@@ -227,6 +252,9 @@ union_io_uring_sqe_2._fields_ = [
227
252
  ('rename_flags', ctypes.c_uint32),
228
253
  ('unlink_flags', ctypes.c_uint32),
229
254
  ('hardlink_flags', ctypes.c_uint32),
255
+ ('xattr_flags', ctypes.c_uint32),
256
+ ('msg_ring_flags', ctypes.c_uint32),
257
+ ('uring_cmd_flags', ctypes.c_uint32),
230
258
  ]
231
259
 
232
260
  class union_io_uring_sqe_3(Union):
@@ -241,14 +269,45 @@ union_io_uring_sqe_3._fields_ = [
241
269
  class union_io_uring_sqe_4(Union):
242
270
  pass
243
271
 
272
+ class struct_io_uring_sqe_4_0(Structure):
273
+ pass
274
+
275
+ struct_io_uring_sqe_4_0._pack_ = 1 # source:False
276
+ struct_io_uring_sqe_4_0._fields_ = [
277
+ ('addr_len', ctypes.c_uint16),
278
+ ('__pad3', ctypes.c_uint16 * 1),
279
+ ]
280
+
244
281
  union_io_uring_sqe_4._pack_ = 1 # source:False
282
+ union_io_uring_sqe_4._anonymous_ = ('_0',)
245
283
  union_io_uring_sqe_4._fields_ = [
246
284
  ('splice_fd_in', ctypes.c_int32),
247
285
  ('file_index', ctypes.c_uint32),
286
+ ('_0', struct_io_uring_sqe_4_0),
287
+ ]
288
+
289
+ class union_io_uring_sqe_5(Union):
290
+ pass
291
+
292
+ class struct_io_uring_sqe_5_0(Structure):
293
+ pass
294
+
295
+ struct_io_uring_sqe_5_0._pack_ = 1 # source:False
296
+ struct_io_uring_sqe_5_0._fields_ = [
297
+ ('addr3', ctypes.c_uint64),
298
+ ('__pad2', ctypes.c_uint64 * 1),
299
+ ]
300
+
301
+ union_io_uring_sqe_5._pack_ = 1 # source:False
302
+ union_io_uring_sqe_5._anonymous_ = ('_0',)
303
+ union_io_uring_sqe_5._fields_ = [
304
+ ('_0', struct_io_uring_sqe_5_0),
305
+ ('cmd', ctypes.c_ubyte * 0),
306
+ ('PADDING_0', ctypes.c_ubyte * 16),
248
307
  ]
249
308
 
250
309
  struct_io_uring_sqe._pack_ = 1 # source:False
251
- struct_io_uring_sqe._anonymous_ = ('_0', '_1', '_2', '_3', '_4',)
310
+ struct_io_uring_sqe._anonymous_ = ('_0', '_1', '_2', '_3', '_4', '_5',)
252
311
  struct_io_uring_sqe._fields_ = [
253
312
  ('opcode', ctypes.c_ubyte),
254
313
  ('flags', ctypes.c_ubyte),
@@ -262,7 +321,7 @@ struct_io_uring_sqe._fields_ = [
262
321
  ('_3', union_io_uring_sqe_3),
263
322
  ('personality', ctypes.c_uint16),
264
323
  ('_4', union_io_uring_sqe_4),
265
- ('__pad2', ctypes.c_uint64 * 2),
324
+ ('_5', union_io_uring_sqe_5),
266
325
  ]
267
326
 
268
327
  class struct_io_uring_cq(Structure):
@@ -282,7 +341,9 @@ struct_io_uring_cq._fields_ = [
282
341
  ('cqes', ctypes.POINTER(struct_io_uring_cqe)),
283
342
  ('ring_sz', ctypes.c_uint64),
284
343
  ('ring_ptr', ctypes.POINTER(None)),
285
- ('pad', ctypes.c_uint32 * 4),
344
+ ('ring_mask', ctypes.c_uint32),
345
+ ('ring_entries', ctypes.c_uint32),
346
+ ('pad', ctypes.c_uint32 * 2),
286
347
  ]
287
348
 
288
349
  struct_io_uring_cqe._pack_ = 1 # source:False
@@ -290,6 +351,7 @@ struct_io_uring_cqe._fields_ = [
290
351
  ('user_data', ctypes.c_uint64),
291
352
  ('res', ctypes.c_int32),
292
353
  ('flags', ctypes.c_uint32),
354
+ ('big_cqe', ctypes.c_uint64 * 0),
293
355
  ]
294
356
 
295
357
  class struct_io_uring(Structure):
@@ -302,7 +364,10 @@ struct_io_uring._fields_ = [
302
364
  ('flags', ctypes.c_uint32),
303
365
  ('ring_fd', ctypes.c_int32),
304
366
  ('features', ctypes.c_uint32),
305
- ('pad', ctypes.c_uint32 * 3),
367
+ ('enter_ring_fd', ctypes.c_int32),
368
+ ('int_flags', ctypes.c_ubyte),
369
+ ('pad', ctypes.c_ubyte * 3),
370
+ ('pad2', ctypes.c_uint32),
306
371
  ]
307
372
 
308
373
  class struct_io_uring_probe(Structure):
@@ -368,7 +433,7 @@ struct_io_sqring_offsets._fields_ = [
368
433
  ('dropped', ctypes.c_uint32),
369
434
  ('array', ctypes.c_uint32),
370
435
  ('resv1', ctypes.c_uint32),
371
- ('resv2', ctypes.c_uint64),
436
+ ('user_addr', ctypes.c_uint64),
372
437
  ]
373
438
 
374
439
  class struct_io_cqring_offsets(Structure):
@@ -384,7 +449,7 @@ struct_io_cqring_offsets._fields_ = [
384
449
  ('cqes', ctypes.c_uint32),
385
450
  ('flags', ctypes.c_uint32),
386
451
  ('resv1', ctypes.c_uint32),
387
- ('resv2', ctypes.c_uint64),
452
+ ('user_addr', ctypes.c_uint64),
388
453
  ]
389
454
 
390
455
  struct_io_uring_params._pack_ = 1 # source:False
@@ -401,6 +466,13 @@ struct_io_uring_params._fields_ = [
401
466
  ('cq_off', struct_io_cqring_offsets),
402
467
  ]
403
468
 
469
+ size_t = ctypes.c_uint64
470
+ try:
471
+ io_uring_queue_init_mem = _libraries['FIXME_STUB'].io_uring_queue_init_mem
472
+ io_uring_queue_init_mem.restype = ctypes.c_int32
473
+ io_uring_queue_init_mem.argtypes = [ctypes.c_uint32, ctypes.POINTER(struct_io_uring), ctypes.POINTER(struct_io_uring_params), ctypes.POINTER(None), size_t]
474
+ except AttributeError:
475
+ pass
404
476
  try:
405
477
  io_uring_queue_init_params = _libraries['FIXME_STUB'].io_uring_queue_init_params
406
478
  io_uring_queue_init_params.restype = ctypes.c_int32
@@ -479,9 +551,9 @@ try:
479
551
  except AttributeError:
480
552
  pass
481
553
  try:
482
- io_uring_get_sqe = _libraries['FIXME_STUB'].io_uring_get_sqe
483
- io_uring_get_sqe.restype = ctypes.POINTER(struct_io_uring_sqe)
484
- io_uring_get_sqe.argtypes = [ctypes.POINTER(struct_io_uring)]
554
+ io_uring_submit_and_wait_timeout = _libraries['FIXME_STUB'].io_uring_submit_and_wait_timeout
555
+ io_uring_submit_and_wait_timeout.restype = ctypes.c_int32
556
+ io_uring_submit_and_wait_timeout.argtypes = [ctypes.POINTER(struct_io_uring), ctypes.POINTER(ctypes.POINTER(struct_io_uring_cqe)), ctypes.c_uint32, ctypes.POINTER(struct___kernel_timespec), ctypes.POINTER(struct_c__SA___sigset_t)]
485
557
  except AttributeError:
486
558
  pass
487
559
  class struct_iovec(Structure):
@@ -505,6 +577,12 @@ try:
505
577
  io_uring_register_buffers_tags.argtypes = [ctypes.POINTER(struct_io_uring), ctypes.POINTER(struct_iovec), ctypes.POINTER(ctypes.c_uint64), ctypes.c_uint32]
506
578
  except AttributeError:
507
579
  pass
580
+ try:
581
+ io_uring_register_buffers_sparse = _libraries['FIXME_STUB'].io_uring_register_buffers_sparse
582
+ io_uring_register_buffers_sparse.restype = ctypes.c_int32
583
+ io_uring_register_buffers_sparse.argtypes = [ctypes.POINTER(struct_io_uring), ctypes.c_uint32]
584
+ except AttributeError:
585
+ pass
508
586
  try:
509
587
  io_uring_register_buffers_update_tag = _libraries['FIXME_STUB'].io_uring_register_buffers_update_tag
510
588
  io_uring_register_buffers_update_tag.restype = ctypes.c_int32
@@ -529,6 +607,12 @@ try:
529
607
  io_uring_register_files_tags.argtypes = [ctypes.POINTER(struct_io_uring), ctypes.POINTER(ctypes.c_int32), ctypes.POINTER(ctypes.c_uint64), ctypes.c_uint32]
530
608
  except AttributeError:
531
609
  pass
610
+ try:
611
+ io_uring_register_files_sparse = _libraries['FIXME_STUB'].io_uring_register_files_sparse
612
+ io_uring_register_files_sparse.restype = ctypes.c_int32
613
+ io_uring_register_files_sparse.argtypes = [ctypes.POINTER(struct_io_uring), ctypes.c_uint32]
614
+ except AttributeError:
615
+ pass
532
616
  try:
533
617
  io_uring_register_files_update_tag = _libraries['FIXME_STUB'].io_uring_register_files_update_tag
534
618
  io_uring_register_files_update_tag.restype = ctypes.c_int32
@@ -623,7 +707,6 @@ try:
623
707
  __io_uring_sqring_wait.argtypes = [ctypes.POINTER(struct_io_uring)]
624
708
  except AttributeError:
625
709
  pass
626
- size_t = ctypes.c_uint64
627
710
  class struct_c__SA_cpu_set_t(Structure):
628
711
  pass
629
712
 
@@ -650,6 +733,162 @@ try:
650
733
  io_uring_register_iowq_max_workers.argtypes = [ctypes.POINTER(struct_io_uring), ctypes.POINTER(ctypes.c_uint32)]
651
734
  except AttributeError:
652
735
  pass
736
+ try:
737
+ io_uring_register_ring_fd = _libraries['FIXME_STUB'].io_uring_register_ring_fd
738
+ io_uring_register_ring_fd.restype = ctypes.c_int32
739
+ io_uring_register_ring_fd.argtypes = [ctypes.POINTER(struct_io_uring)]
740
+ except AttributeError:
741
+ pass
742
+ try:
743
+ io_uring_unregister_ring_fd = _libraries['FIXME_STUB'].io_uring_unregister_ring_fd
744
+ io_uring_unregister_ring_fd.restype = ctypes.c_int32
745
+ io_uring_unregister_ring_fd.argtypes = [ctypes.POINTER(struct_io_uring)]
746
+ except AttributeError:
747
+ pass
748
+ try:
749
+ io_uring_close_ring_fd = _libraries['FIXME_STUB'].io_uring_close_ring_fd
750
+ io_uring_close_ring_fd.restype = ctypes.c_int32
751
+ io_uring_close_ring_fd.argtypes = [ctypes.POINTER(struct_io_uring)]
752
+ except AttributeError:
753
+ pass
754
+ class struct_io_uring_buf_reg(Structure):
755
+ pass
756
+
757
+ struct_io_uring_buf_reg._pack_ = 1 # source:False
758
+ struct_io_uring_buf_reg._fields_ = [
759
+ ('ring_addr', ctypes.c_uint64),
760
+ ('ring_entries', ctypes.c_uint32),
761
+ ('bgid', ctypes.c_uint16),
762
+ ('flags', ctypes.c_uint16),
763
+ ('resv', ctypes.c_uint64 * 3),
764
+ ]
765
+
766
+ try:
767
+ io_uring_register_buf_ring = _libraries['FIXME_STUB'].io_uring_register_buf_ring
768
+ io_uring_register_buf_ring.restype = ctypes.c_int32
769
+ io_uring_register_buf_ring.argtypes = [ctypes.POINTER(struct_io_uring), ctypes.POINTER(struct_io_uring_buf_reg), ctypes.c_uint32]
770
+ except AttributeError:
771
+ pass
772
+ try:
773
+ io_uring_unregister_buf_ring = _libraries['FIXME_STUB'].io_uring_unregister_buf_ring
774
+ io_uring_unregister_buf_ring.restype = ctypes.c_int32
775
+ io_uring_unregister_buf_ring.argtypes = [ctypes.POINTER(struct_io_uring), ctypes.c_int32]
776
+ except AttributeError:
777
+ pass
778
+ class struct_io_uring_sync_cancel_reg(Structure):
779
+ pass
780
+
781
+ struct_io_uring_sync_cancel_reg._pack_ = 1 # source:False
782
+ struct_io_uring_sync_cancel_reg._fields_ = [
783
+ ('addr', ctypes.c_uint64),
784
+ ('fd', ctypes.c_int32),
785
+ ('flags', ctypes.c_uint32),
786
+ ('timeout', struct___kernel_timespec),
787
+ ('pad', ctypes.c_uint64 * 4),
788
+ ]
789
+
790
+ try:
791
+ io_uring_register_sync_cancel = _libraries['FIXME_STUB'].io_uring_register_sync_cancel
792
+ io_uring_register_sync_cancel.restype = ctypes.c_int32
793
+ io_uring_register_sync_cancel.argtypes = [ctypes.POINTER(struct_io_uring), ctypes.POINTER(struct_io_uring_sync_cancel_reg)]
794
+ except AttributeError:
795
+ pass
796
+ try:
797
+ io_uring_register_file_alloc_range = _libraries['FIXME_STUB'].io_uring_register_file_alloc_range
798
+ io_uring_register_file_alloc_range.restype = ctypes.c_int32
799
+ io_uring_register_file_alloc_range.argtypes = [ctypes.POINTER(struct_io_uring), ctypes.c_uint32, ctypes.c_uint32]
800
+ except AttributeError:
801
+ pass
802
+ try:
803
+ io_uring_get_events = _libraries['FIXME_STUB'].io_uring_get_events
804
+ io_uring_get_events.restype = ctypes.c_int32
805
+ io_uring_get_events.argtypes = [ctypes.POINTER(struct_io_uring)]
806
+ except AttributeError:
807
+ pass
808
+ try:
809
+ io_uring_submit_and_get_events = _libraries['FIXME_STUB'].io_uring_submit_and_get_events
810
+ io_uring_submit_and_get_events.restype = ctypes.c_int32
811
+ io_uring_submit_and_get_events.argtypes = [ctypes.POINTER(struct_io_uring)]
812
+ except AttributeError:
813
+ pass
814
+ try:
815
+ io_uring_enter = _libraries['FIXME_STUB'].io_uring_enter
816
+ io_uring_enter.restype = ctypes.c_int32
817
+ io_uring_enter.argtypes = [ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32, ctypes.POINTER(struct_c__SA___sigset_t)]
818
+ except AttributeError:
819
+ pass
820
+ try:
821
+ io_uring_enter2 = _libraries['FIXME_STUB'].io_uring_enter2
822
+ io_uring_enter2.restype = ctypes.c_int32
823
+ io_uring_enter2.argtypes = [ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32, ctypes.POINTER(struct_c__SA___sigset_t), size_t]
824
+ except AttributeError:
825
+ pass
826
+ try:
827
+ io_uring_setup = _libraries['FIXME_STUB'].io_uring_setup
828
+ io_uring_setup.restype = ctypes.c_int32
829
+ io_uring_setup.argtypes = [ctypes.c_uint32, ctypes.POINTER(struct_io_uring_params)]
830
+ except AttributeError:
831
+ pass
832
+ try:
833
+ io_uring_register = _libraries['FIXME_STUB'].io_uring_register
834
+ io_uring_register.restype = ctypes.c_int32
835
+ io_uring_register.argtypes = [ctypes.c_uint32, ctypes.c_uint32, ctypes.POINTER(None), ctypes.c_uint32]
836
+ except AttributeError:
837
+ pass
838
+ class struct_io_uring_buf_ring(Structure):
839
+ pass
840
+
841
+ class union_io_uring_buf_ring_0(Union):
842
+ pass
843
+
844
+ class struct_io_uring_buf_ring_0_0(Structure):
845
+ pass
846
+
847
+ struct_io_uring_buf_ring_0_0._pack_ = 1 # source:False
848
+ struct_io_uring_buf_ring_0_0._fields_ = [
849
+ ('resv1', ctypes.c_uint64),
850
+ ('resv2', ctypes.c_uint32),
851
+ ('resv3', ctypes.c_uint16),
852
+ ('tail', ctypes.c_uint16),
853
+ ]
854
+
855
+ class struct_io_uring_buf(Structure):
856
+ pass
857
+
858
+ struct_io_uring_buf._pack_ = 1 # source:False
859
+ struct_io_uring_buf._fields_ = [
860
+ ('addr', ctypes.c_uint64),
861
+ ('len', ctypes.c_uint32),
862
+ ('bid', ctypes.c_uint16),
863
+ ('resv', ctypes.c_uint16),
864
+ ]
865
+
866
+ union_io_uring_buf_ring_0._pack_ = 1 # source:False
867
+ union_io_uring_buf_ring_0._anonymous_ = ('_0',)
868
+ union_io_uring_buf_ring_0._fields_ = [
869
+ ('_0', struct_io_uring_buf_ring_0_0),
870
+ ('bufs', struct_io_uring_buf * 0),
871
+ ('PADDING_0', ctypes.c_ubyte * 16),
872
+ ]
873
+
874
+ struct_io_uring_buf_ring._pack_ = 1 # source:False
875
+ struct_io_uring_buf_ring._anonymous_ = ('_0',)
876
+ struct_io_uring_buf_ring._fields_ = [
877
+ ('_0', union_io_uring_buf_ring_0),
878
+ ]
879
+
880
+ try:
881
+ io_uring_setup_buf_ring = _libraries['FIXME_STUB'].io_uring_setup_buf_ring
882
+ io_uring_setup_buf_ring.restype = ctypes.POINTER(struct_io_uring_buf_ring)
883
+ io_uring_setup_buf_ring.argtypes = [ctypes.POINTER(struct_io_uring), ctypes.c_uint32, ctypes.c_int32, ctypes.c_uint32, ctypes.POINTER(ctypes.c_int32)]
884
+ except AttributeError:
885
+ pass
886
+ try:
887
+ io_uring_free_buf_ring = _libraries['FIXME_STUB'].io_uring_free_buf_ring
888
+ io_uring_free_buf_ring.restype = ctypes.c_int32
889
+ io_uring_free_buf_ring.argtypes = [ctypes.POINTER(struct_io_uring), ctypes.POINTER(struct_io_uring_buf_ring), ctypes.c_uint32, ctypes.c_int32]
890
+ except AttributeError:
891
+ pass
653
892
  try:
654
893
  __io_uring_get_cqe = _libraries['FIXME_STUB'].__io_uring_get_cqe
655
894
  __io_uring_get_cqe.restype = ctypes.c_int32
@@ -680,6 +919,20 @@ try:
680
919
  io_uring_cqe_get_data.argtypes = [ctypes.POINTER(struct_io_uring_cqe)]
681
920
  except AttributeError:
682
921
  pass
922
+ __u64 = ctypes.c_uint64
923
+ # LIBURING_UDATA_TIMEOUT = ((__u64)-1) # macro
924
+ try:
925
+ io_uring_sqe_set_data64 = _libraries['FIXME_STUB'].io_uring_sqe_set_data64
926
+ io_uring_sqe_set_data64.restype = None
927
+ io_uring_sqe_set_data64.argtypes = [ctypes.POINTER(struct_io_uring_sqe), __u64]
928
+ except AttributeError:
929
+ pass
930
+ try:
931
+ io_uring_cqe_get_data64 = _libraries['FIXME_STUB'].io_uring_cqe_get_data64
932
+ io_uring_cqe_get_data64.restype = __u64
933
+ io_uring_cqe_get_data64.argtypes = [ctypes.POINTER(struct_io_uring_cqe)]
934
+ except AttributeError:
935
+ pass
683
936
  try:
684
937
  io_uring_sqe_set_flags = _libraries['FIXME_STUB'].io_uring_sqe_set_flags
685
938
  io_uring_sqe_set_flags.restype = None
@@ -692,8 +945,6 @@ try:
692
945
  __io_uring_set_target_fixed_file.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_uint32]
693
946
  except AttributeError:
694
947
  pass
695
- __u64 = ctypes.c_uint64
696
- # LIBURING_UDATA_TIMEOUT = ((__u64)-1) # macro
697
948
  try:
698
949
  io_uring_prep_rw = _libraries['FIXME_STUB'].io_uring_prep_rw
699
950
  io_uring_prep_rw.restype = None
@@ -719,6 +970,12 @@ try:
719
970
  io_uring_prep_readv.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.POINTER(struct_iovec), ctypes.c_uint32, __u64]
720
971
  except AttributeError:
721
972
  pass
973
+ try:
974
+ io_uring_prep_readv2 = _libraries['FIXME_STUB'].io_uring_prep_readv2
975
+ io_uring_prep_readv2.restype = None
976
+ io_uring_prep_readv2.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.POINTER(struct_iovec), ctypes.c_uint32, __u64, ctypes.c_int32]
977
+ except AttributeError:
978
+ pass
722
979
  try:
723
980
  io_uring_prep_read_fixed = _libraries['FIXME_STUB'].io_uring_prep_read_fixed
724
981
  io_uring_prep_read_fixed.restype = None
@@ -731,6 +988,12 @@ try:
731
988
  io_uring_prep_writev.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.POINTER(struct_iovec), ctypes.c_uint32, __u64]
732
989
  except AttributeError:
733
990
  pass
991
+ try:
992
+ io_uring_prep_writev2 = _libraries['FIXME_STUB'].io_uring_prep_writev2
993
+ io_uring_prep_writev2.restype = None
994
+ io_uring_prep_writev2.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.POINTER(struct_iovec), ctypes.c_uint32, __u64, ctypes.c_int32]
995
+ except AttributeError:
996
+ pass
734
997
  try:
735
998
  io_uring_prep_write_fixed = _libraries['FIXME_STUB'].io_uring_prep_write_fixed
736
999
  io_uring_prep_write_fixed.restype = None
@@ -759,6 +1022,12 @@ try:
759
1022
  io_uring_prep_recvmsg.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.POINTER(struct_msghdr), ctypes.c_uint32]
760
1023
  except AttributeError:
761
1024
  pass
1025
+ try:
1026
+ io_uring_prep_recvmsg_multishot = _libraries['FIXME_STUB'].io_uring_prep_recvmsg_multishot
1027
+ io_uring_prep_recvmsg_multishot.restype = None
1028
+ io_uring_prep_recvmsg_multishot.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.POINTER(struct_msghdr), ctypes.c_uint32]
1029
+ except AttributeError:
1030
+ pass
762
1031
  try:
763
1032
  io_uring_prep_sendmsg = _libraries['FIXME_STUB'].io_uring_prep_sendmsg
764
1033
  io_uring_prep_sendmsg.restype = None
@@ -786,13 +1055,13 @@ except AttributeError:
786
1055
  try:
787
1056
  io_uring_prep_poll_remove = _libraries['FIXME_STUB'].io_uring_prep_poll_remove
788
1057
  io_uring_prep_poll_remove.restype = None
789
- io_uring_prep_poll_remove.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.POINTER(None)]
1058
+ io_uring_prep_poll_remove.argtypes = [ctypes.POINTER(struct_io_uring_sqe), __u64]
790
1059
  except AttributeError:
791
1060
  pass
792
1061
  try:
793
1062
  io_uring_prep_poll_update = _libraries['FIXME_STUB'].io_uring_prep_poll_update
794
1063
  io_uring_prep_poll_update.restype = None
795
- io_uring_prep_poll_update.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.POINTER(None), ctypes.POINTER(None), ctypes.c_uint32, ctypes.c_uint32]
1064
+ io_uring_prep_poll_update.argtypes = [ctypes.POINTER(struct_io_uring_sqe), __u64, __u64, ctypes.c_uint32, ctypes.c_uint32]
796
1065
  except AttributeError:
797
1066
  pass
798
1067
  try:
@@ -846,12 +1115,36 @@ try:
846
1115
  io_uring_prep_accept_direct.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.POINTER(struct_sockaddr), ctypes.POINTER(ctypes.c_uint32), ctypes.c_int32, ctypes.c_uint32]
847
1116
  except AttributeError:
848
1117
  pass
1118
+ try:
1119
+ io_uring_prep_multishot_accept = _libraries['FIXME_STUB'].io_uring_prep_multishot_accept
1120
+ io_uring_prep_multishot_accept.restype = None
1121
+ io_uring_prep_multishot_accept.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.POINTER(struct_sockaddr), ctypes.POINTER(ctypes.c_uint32), ctypes.c_int32]
1122
+ except AttributeError:
1123
+ pass
1124
+ try:
1125
+ io_uring_prep_multishot_accept_direct = _libraries['FIXME_STUB'].io_uring_prep_multishot_accept_direct
1126
+ io_uring_prep_multishot_accept_direct.restype = None
1127
+ io_uring_prep_multishot_accept_direct.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.POINTER(struct_sockaddr), ctypes.POINTER(ctypes.c_uint32), ctypes.c_int32]
1128
+ except AttributeError:
1129
+ pass
1130
+ try:
1131
+ io_uring_prep_cancel64 = _libraries['FIXME_STUB'].io_uring_prep_cancel64
1132
+ io_uring_prep_cancel64.restype = None
1133
+ io_uring_prep_cancel64.argtypes = [ctypes.POINTER(struct_io_uring_sqe), __u64, ctypes.c_int32]
1134
+ except AttributeError:
1135
+ pass
849
1136
  try:
850
1137
  io_uring_prep_cancel = _libraries['FIXME_STUB'].io_uring_prep_cancel
851
1138
  io_uring_prep_cancel.restype = None
852
1139
  io_uring_prep_cancel.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.POINTER(None), ctypes.c_int32]
853
1140
  except AttributeError:
854
1141
  pass
1142
+ try:
1143
+ io_uring_prep_cancel_fd = _libraries['FIXME_STUB'].io_uring_prep_cancel_fd
1144
+ io_uring_prep_cancel_fd.restype = None
1145
+ io_uring_prep_cancel_fd.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.c_uint32]
1146
+ except AttributeError:
1147
+ pass
855
1148
  try:
856
1149
  io_uring_prep_link_timeout = _libraries['FIXME_STUB'].io_uring_prep_link_timeout
857
1150
  io_uring_prep_link_timeout.restype = None
@@ -871,11 +1164,10 @@ try:
871
1164
  io_uring_prep_files_update.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.POINTER(ctypes.c_int32), ctypes.c_uint32, ctypes.c_int32]
872
1165
  except AttributeError:
873
1166
  pass
874
- off_t = ctypes.c_int64
875
1167
  try:
876
1168
  io_uring_prep_fallocate = _libraries['FIXME_STUB'].io_uring_prep_fallocate
877
1169
  io_uring_prep_fallocate.restype = None
878
- io_uring_prep_fallocate.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.c_int32, off_t, off_t]
1170
+ io_uring_prep_fallocate.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.c_int32, __u64, __u64]
879
1171
  except AttributeError:
880
1172
  pass
881
1173
  mode_t = ctypes.c_uint32
@@ -897,6 +1189,12 @@ try:
897
1189
  io_uring_prep_close.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32]
898
1190
  except AttributeError:
899
1191
  pass
1192
+ try:
1193
+ io_uring_prep_close_direct = _libraries['FIXME_STUB'].io_uring_prep_close_direct
1194
+ io_uring_prep_close_direct.restype = None
1195
+ io_uring_prep_close_direct.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_uint32]
1196
+ except AttributeError:
1197
+ pass
900
1198
  try:
901
1199
  io_uring_prep_read = _libraries['FIXME_STUB'].io_uring_prep_read
902
1200
  io_uring_prep_read.restype = None
@@ -918,6 +1216,7 @@ try:
918
1216
  io_uring_prep_statx.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.POINTER(ctypes.c_char), ctypes.c_int32, ctypes.c_uint32, ctypes.POINTER(struct_statx)]
919
1217
  except AttributeError:
920
1218
  pass
1219
+ off_t = ctypes.c_int64
921
1220
  try:
922
1221
  io_uring_prep_fadvise = _libraries['FIXME_STUB'].io_uring_prep_fadvise
923
1222
  io_uring_prep_fadvise.restype = None
@@ -936,12 +1235,107 @@ try:
936
1235
  io_uring_prep_send.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.POINTER(None), size_t, ctypes.c_int32]
937
1236
  except AttributeError:
938
1237
  pass
1238
+ __u16 = ctypes.c_uint16
1239
+ try:
1240
+ io_uring_prep_send_set_addr = _libraries['FIXME_STUB'].io_uring_prep_send_set_addr
1241
+ io_uring_prep_send_set_addr.restype = None
1242
+ io_uring_prep_send_set_addr.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.POINTER(struct_sockaddr), __u16]
1243
+ except AttributeError:
1244
+ pass
1245
+ try:
1246
+ io_uring_prep_sendto = _libraries['FIXME_STUB'].io_uring_prep_sendto
1247
+ io_uring_prep_sendto.restype = None
1248
+ io_uring_prep_sendto.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.POINTER(None), size_t, ctypes.c_int32, ctypes.POINTER(struct_sockaddr), socklen_t]
1249
+ except AttributeError:
1250
+ pass
1251
+ try:
1252
+ io_uring_prep_send_zc = _libraries['FIXME_STUB'].io_uring_prep_send_zc
1253
+ io_uring_prep_send_zc.restype = None
1254
+ io_uring_prep_send_zc.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.POINTER(None), size_t, ctypes.c_int32, ctypes.c_uint32]
1255
+ except AttributeError:
1256
+ pass
1257
+ try:
1258
+ io_uring_prep_send_zc_fixed = _libraries['FIXME_STUB'].io_uring_prep_send_zc_fixed
1259
+ io_uring_prep_send_zc_fixed.restype = None
1260
+ io_uring_prep_send_zc_fixed.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.POINTER(None), size_t, ctypes.c_int32, ctypes.c_uint32, ctypes.c_uint32]
1261
+ except AttributeError:
1262
+ pass
1263
+ try:
1264
+ io_uring_prep_sendmsg_zc = _libraries['FIXME_STUB'].io_uring_prep_sendmsg_zc
1265
+ io_uring_prep_sendmsg_zc.restype = None
1266
+ io_uring_prep_sendmsg_zc.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.POINTER(struct_msghdr), ctypes.c_uint32]
1267
+ except AttributeError:
1268
+ pass
939
1269
  try:
940
1270
  io_uring_prep_recv = _libraries['FIXME_STUB'].io_uring_prep_recv
941
1271
  io_uring_prep_recv.restype = None
942
1272
  io_uring_prep_recv.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.POINTER(None), size_t, ctypes.c_int32]
943
1273
  except AttributeError:
944
1274
  pass
1275
+ try:
1276
+ io_uring_prep_recv_multishot = _libraries['FIXME_STUB'].io_uring_prep_recv_multishot
1277
+ io_uring_prep_recv_multishot.restype = None
1278
+ io_uring_prep_recv_multishot.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.POINTER(None), size_t, ctypes.c_int32]
1279
+ except AttributeError:
1280
+ pass
1281
+ class struct_io_uring_recvmsg_out(Structure):
1282
+ pass
1283
+
1284
+ struct_io_uring_recvmsg_out._pack_ = 1 # source:False
1285
+ struct_io_uring_recvmsg_out._fields_ = [
1286
+ ('namelen', ctypes.c_uint32),
1287
+ ('controllen', ctypes.c_uint32),
1288
+ ('payloadlen', ctypes.c_uint32),
1289
+ ('flags', ctypes.c_uint32),
1290
+ ]
1291
+
1292
+ try:
1293
+ io_uring_recvmsg_validate = _libraries['FIXME_STUB'].io_uring_recvmsg_validate
1294
+ io_uring_recvmsg_validate.restype = ctypes.POINTER(struct_io_uring_recvmsg_out)
1295
+ io_uring_recvmsg_validate.argtypes = [ctypes.POINTER(None), ctypes.c_int32, ctypes.POINTER(struct_msghdr)]
1296
+ except AttributeError:
1297
+ pass
1298
+ try:
1299
+ io_uring_recvmsg_name = _libraries['FIXME_STUB'].io_uring_recvmsg_name
1300
+ io_uring_recvmsg_name.restype = ctypes.POINTER(None)
1301
+ io_uring_recvmsg_name.argtypes = [ctypes.POINTER(struct_io_uring_recvmsg_out)]
1302
+ except AttributeError:
1303
+ pass
1304
+ class struct_cmsghdr(Structure):
1305
+ pass
1306
+
1307
+ struct_cmsghdr._pack_ = 1 # source:False
1308
+ struct_cmsghdr._fields_ = [
1309
+ ('cmsg_len', ctypes.c_uint64),
1310
+ ('cmsg_level', ctypes.c_int32),
1311
+ ('cmsg_type', ctypes.c_int32),
1312
+ ('__cmsg_data', ctypes.c_ubyte * 0),
1313
+ ]
1314
+
1315
+ try:
1316
+ io_uring_recvmsg_cmsg_firsthdr = _libraries['FIXME_STUB'].io_uring_recvmsg_cmsg_firsthdr
1317
+ io_uring_recvmsg_cmsg_firsthdr.restype = ctypes.POINTER(struct_cmsghdr)
1318
+ io_uring_recvmsg_cmsg_firsthdr.argtypes = [ctypes.POINTER(struct_io_uring_recvmsg_out), ctypes.POINTER(struct_msghdr)]
1319
+ except AttributeError:
1320
+ pass
1321
+ try:
1322
+ io_uring_recvmsg_cmsg_nexthdr = _libraries['FIXME_STUB'].io_uring_recvmsg_cmsg_nexthdr
1323
+ io_uring_recvmsg_cmsg_nexthdr.restype = ctypes.POINTER(struct_cmsghdr)
1324
+ io_uring_recvmsg_cmsg_nexthdr.argtypes = [ctypes.POINTER(struct_io_uring_recvmsg_out), ctypes.POINTER(struct_msghdr), ctypes.POINTER(struct_cmsghdr)]
1325
+ except AttributeError:
1326
+ pass
1327
+ try:
1328
+ io_uring_recvmsg_payload = _libraries['FIXME_STUB'].io_uring_recvmsg_payload
1329
+ io_uring_recvmsg_payload.restype = ctypes.POINTER(None)
1330
+ io_uring_recvmsg_payload.argtypes = [ctypes.POINTER(struct_io_uring_recvmsg_out), ctypes.POINTER(struct_msghdr)]
1331
+ except AttributeError:
1332
+ pass
1333
+ try:
1334
+ io_uring_recvmsg_payload_length = _libraries['FIXME_STUB'].io_uring_recvmsg_payload_length
1335
+ io_uring_recvmsg_payload_length.restype = ctypes.c_uint32
1336
+ io_uring_recvmsg_payload_length.argtypes = [ctypes.POINTER(struct_io_uring_recvmsg_out), ctypes.c_int32, ctypes.POINTER(struct_msghdr)]
1337
+ except AttributeError:
1338
+ pass
945
1339
  class struct_open_how(Structure):
946
1340
  pass
947
1341
 
@@ -997,10 +1391,22 @@ try:
997
1391
  io_uring_prep_unlinkat.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.POINTER(ctypes.c_char), ctypes.c_int32]
998
1392
  except AttributeError:
999
1393
  pass
1394
+ try:
1395
+ io_uring_prep_unlink = _libraries['FIXME_STUB'].io_uring_prep_unlink
1396
+ io_uring_prep_unlink.restype = None
1397
+ io_uring_prep_unlink.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.POINTER(ctypes.c_char), ctypes.c_int32]
1398
+ except AttributeError:
1399
+ pass
1000
1400
  try:
1001
1401
  io_uring_prep_renameat = _libraries['FIXME_STUB'].io_uring_prep_renameat
1002
1402
  io_uring_prep_renameat.restype = None
1003
- io_uring_prep_renameat.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.POINTER(ctypes.c_char), ctypes.c_int32, ctypes.POINTER(ctypes.c_char), ctypes.c_int32]
1403
+ io_uring_prep_renameat.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.POINTER(ctypes.c_char), ctypes.c_int32, ctypes.POINTER(ctypes.c_char), ctypes.c_uint32]
1404
+ except AttributeError:
1405
+ pass
1406
+ try:
1407
+ io_uring_prep_rename = _libraries['FIXME_STUB'].io_uring_prep_rename
1408
+ io_uring_prep_rename.restype = None
1409
+ io_uring_prep_rename.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.POINTER(ctypes.c_char), ctypes.POINTER(ctypes.c_char)]
1004
1410
  except AttributeError:
1005
1411
  pass
1006
1412
  try:
@@ -1015,18 +1421,108 @@ try:
1015
1421
  io_uring_prep_mkdirat.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.POINTER(ctypes.c_char), mode_t]
1016
1422
  except AttributeError:
1017
1423
  pass
1424
+ try:
1425
+ io_uring_prep_mkdir = _libraries['FIXME_STUB'].io_uring_prep_mkdir
1426
+ io_uring_prep_mkdir.restype = None
1427
+ io_uring_prep_mkdir.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.POINTER(ctypes.c_char), mode_t]
1428
+ except AttributeError:
1429
+ pass
1018
1430
  try:
1019
1431
  io_uring_prep_symlinkat = _libraries['FIXME_STUB'].io_uring_prep_symlinkat
1020
1432
  io_uring_prep_symlinkat.restype = None
1021
1433
  io_uring_prep_symlinkat.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.POINTER(ctypes.c_char), ctypes.c_int32, ctypes.POINTER(ctypes.c_char)]
1022
1434
  except AttributeError:
1023
1435
  pass
1436
+ try:
1437
+ io_uring_prep_symlink = _libraries['FIXME_STUB'].io_uring_prep_symlink
1438
+ io_uring_prep_symlink.restype = None
1439
+ io_uring_prep_symlink.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.POINTER(ctypes.c_char), ctypes.POINTER(ctypes.c_char)]
1440
+ except AttributeError:
1441
+ pass
1024
1442
  try:
1025
1443
  io_uring_prep_linkat = _libraries['FIXME_STUB'].io_uring_prep_linkat
1026
1444
  io_uring_prep_linkat.restype = None
1027
1445
  io_uring_prep_linkat.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.POINTER(ctypes.c_char), ctypes.c_int32, ctypes.POINTER(ctypes.c_char), ctypes.c_int32]
1028
1446
  except AttributeError:
1029
1447
  pass
1448
+ try:
1449
+ io_uring_prep_link = _libraries['FIXME_STUB'].io_uring_prep_link
1450
+ io_uring_prep_link.restype = None
1451
+ io_uring_prep_link.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.POINTER(ctypes.c_char), ctypes.POINTER(ctypes.c_char), ctypes.c_int32]
1452
+ except AttributeError:
1453
+ pass
1454
+ try:
1455
+ io_uring_prep_msg_ring_cqe_flags = _libraries['FIXME_STUB'].io_uring_prep_msg_ring_cqe_flags
1456
+ io_uring_prep_msg_ring_cqe_flags.restype = None
1457
+ io_uring_prep_msg_ring_cqe_flags.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.c_uint32, __u64, ctypes.c_uint32, ctypes.c_uint32]
1458
+ except AttributeError:
1459
+ pass
1460
+ try:
1461
+ io_uring_prep_msg_ring = _libraries['FIXME_STUB'].io_uring_prep_msg_ring
1462
+ io_uring_prep_msg_ring.restype = None
1463
+ io_uring_prep_msg_ring.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.c_uint32, __u64, ctypes.c_uint32]
1464
+ except AttributeError:
1465
+ pass
1466
+ try:
1467
+ io_uring_prep_msg_ring_fd = _libraries['FIXME_STUB'].io_uring_prep_msg_ring_fd
1468
+ io_uring_prep_msg_ring_fd.restype = None
1469
+ io_uring_prep_msg_ring_fd.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.c_int32, ctypes.c_int32, __u64, ctypes.c_uint32]
1470
+ except AttributeError:
1471
+ pass
1472
+ try:
1473
+ io_uring_prep_msg_ring_fd_alloc = _libraries['FIXME_STUB'].io_uring_prep_msg_ring_fd_alloc
1474
+ io_uring_prep_msg_ring_fd_alloc.restype = None
1475
+ io_uring_prep_msg_ring_fd_alloc.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.c_int32, __u64, ctypes.c_uint32]
1476
+ except AttributeError:
1477
+ pass
1478
+ try:
1479
+ io_uring_prep_getxattr = _libraries['FIXME_STUB'].io_uring_prep_getxattr
1480
+ io_uring_prep_getxattr.restype = None
1481
+ io_uring_prep_getxattr.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.POINTER(ctypes.c_char), ctypes.POINTER(ctypes.c_char), ctypes.POINTER(ctypes.c_char), ctypes.c_uint32]
1482
+ except AttributeError:
1483
+ pass
1484
+ try:
1485
+ io_uring_prep_setxattr = _libraries['FIXME_STUB'].io_uring_prep_setxattr
1486
+ io_uring_prep_setxattr.restype = None
1487
+ io_uring_prep_setxattr.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.POINTER(ctypes.c_char), ctypes.POINTER(ctypes.c_char), ctypes.POINTER(ctypes.c_char), ctypes.c_int32, ctypes.c_uint32]
1488
+ except AttributeError:
1489
+ pass
1490
+ try:
1491
+ io_uring_prep_fgetxattr = _libraries['FIXME_STUB'].io_uring_prep_fgetxattr
1492
+ io_uring_prep_fgetxattr.restype = None
1493
+ io_uring_prep_fgetxattr.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.POINTER(ctypes.c_char), ctypes.POINTER(ctypes.c_char), ctypes.c_uint32]
1494
+ except AttributeError:
1495
+ pass
1496
+ try:
1497
+ io_uring_prep_fsetxattr = _libraries['FIXME_STUB'].io_uring_prep_fsetxattr
1498
+ io_uring_prep_fsetxattr.restype = None
1499
+ io_uring_prep_fsetxattr.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.POINTER(ctypes.c_char), ctypes.POINTER(ctypes.c_char), ctypes.c_int32, ctypes.c_uint32]
1500
+ except AttributeError:
1501
+ pass
1502
+ try:
1503
+ io_uring_prep_socket = _libraries['FIXME_STUB'].io_uring_prep_socket
1504
+ io_uring_prep_socket.restype = None
1505
+ io_uring_prep_socket.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.c_int32, ctypes.c_int32, ctypes.c_uint32]
1506
+ except AttributeError:
1507
+ pass
1508
+ try:
1509
+ io_uring_prep_socket_direct = _libraries['FIXME_STUB'].io_uring_prep_socket_direct
1510
+ io_uring_prep_socket_direct.restype = None
1511
+ io_uring_prep_socket_direct.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.c_int32, ctypes.c_int32, ctypes.c_uint32, ctypes.c_uint32]
1512
+ except AttributeError:
1513
+ pass
1514
+ try:
1515
+ io_uring_prep_socket_direct_alloc = _libraries['FIXME_STUB'].io_uring_prep_socket_direct_alloc
1516
+ io_uring_prep_socket_direct_alloc.restype = None
1517
+ io_uring_prep_socket_direct_alloc.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.c_int32, ctypes.c_int32, ctypes.c_uint32]
1518
+ except AttributeError:
1519
+ pass
1520
+ try:
1521
+ io_uring_prep_cmd_sock = _libraries['FIXME_STUB'].io_uring_prep_cmd_sock
1522
+ io_uring_prep_cmd_sock.restype = None
1523
+ io_uring_prep_cmd_sock.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.c_int32, ctypes.c_int32, ctypes.c_int32, ctypes.POINTER(None), ctypes.c_int32]
1524
+ except AttributeError:
1525
+ pass
1030
1526
  try:
1031
1527
  io_uring_sq_ready = _libraries['FIXME_STUB'].io_uring_sq_ready
1032
1528
  io_uring_sq_ready.restype = ctypes.c_uint32
@@ -1051,6 +1547,12 @@ try:
1051
1547
  io_uring_cq_ready.argtypes = [ctypes.POINTER(struct_io_uring)]
1052
1548
  except AttributeError:
1053
1549
  pass
1550
+ try:
1551
+ io_uring_cq_has_overflow = _libraries['FIXME_STUB'].io_uring_cq_has_overflow
1552
+ io_uring_cq_has_overflow.restype = ctypes.c_bool
1553
+ io_uring_cq_has_overflow.argtypes = [ctypes.POINTER(struct_io_uring)]
1554
+ except AttributeError:
1555
+ pass
1054
1556
  try:
1055
1557
  io_uring_cq_eventfd_enabled = _libraries['FIXME_STUB'].io_uring_cq_eventfd_enabled
1056
1558
  io_uring_cq_eventfd_enabled.restype = ctypes.c_bool
@@ -1069,6 +1571,12 @@ try:
1069
1571
  io_uring_wait_cqe_nr.argtypes = [ctypes.POINTER(struct_io_uring), ctypes.POINTER(ctypes.POINTER(struct_io_uring_cqe)), ctypes.c_uint32]
1070
1572
  except AttributeError:
1071
1573
  pass
1574
+ try:
1575
+ __io_uring_peek_cqe = _libraries['FIXME_STUB'].__io_uring_peek_cqe
1576
+ __io_uring_peek_cqe.restype = ctypes.c_int32
1577
+ __io_uring_peek_cqe.argtypes = [ctypes.POINTER(struct_io_uring), ctypes.POINTER(ctypes.POINTER(struct_io_uring_cqe)), ctypes.POINTER(ctypes.c_uint32)]
1578
+ except AttributeError:
1579
+ pass
1072
1580
  try:
1073
1581
  io_uring_peek_cqe = _libraries['FIXME_STUB'].io_uring_peek_cqe
1074
1582
  io_uring_peek_cqe.restype = ctypes.c_int32
@@ -1081,6 +1589,55 @@ try:
1081
1589
  io_uring_wait_cqe.argtypes = [ctypes.POINTER(struct_io_uring), ctypes.POINTER(ctypes.POINTER(struct_io_uring_cqe))]
1082
1590
  except AttributeError:
1083
1591
  pass
1592
+ try:
1593
+ _io_uring_get_sqe = _libraries['FIXME_STUB']._io_uring_get_sqe
1594
+ _io_uring_get_sqe.restype = ctypes.POINTER(struct_io_uring_sqe)
1595
+ _io_uring_get_sqe.argtypes = [ctypes.POINTER(struct_io_uring)]
1596
+ except AttributeError:
1597
+ pass
1598
+ __u32 = ctypes.c_uint32
1599
+ try:
1600
+ io_uring_buf_ring_mask = _libraries['FIXME_STUB'].io_uring_buf_ring_mask
1601
+ io_uring_buf_ring_mask.restype = ctypes.c_int32
1602
+ io_uring_buf_ring_mask.argtypes = [__u32]
1603
+ except AttributeError:
1604
+ pass
1605
+ try:
1606
+ io_uring_buf_ring_init = _libraries['FIXME_STUB'].io_uring_buf_ring_init
1607
+ io_uring_buf_ring_init.restype = None
1608
+ io_uring_buf_ring_init.argtypes = [ctypes.POINTER(struct_io_uring_buf_ring)]
1609
+ except AttributeError:
1610
+ pass
1611
+ try:
1612
+ io_uring_buf_ring_add = _libraries['FIXME_STUB'].io_uring_buf_ring_add
1613
+ io_uring_buf_ring_add.restype = None
1614
+ io_uring_buf_ring_add.argtypes = [ctypes.POINTER(struct_io_uring_buf_ring), ctypes.POINTER(None), ctypes.c_uint32, ctypes.c_uint16, ctypes.c_int32, ctypes.c_int32]
1615
+ except AttributeError:
1616
+ pass
1617
+ try:
1618
+ io_uring_buf_ring_advance = _libraries['FIXME_STUB'].io_uring_buf_ring_advance
1619
+ io_uring_buf_ring_advance.restype = None
1620
+ io_uring_buf_ring_advance.argtypes = [ctypes.POINTER(struct_io_uring_buf_ring), ctypes.c_int32]
1621
+ except AttributeError:
1622
+ pass
1623
+ try:
1624
+ __io_uring_buf_ring_cq_advance = _libraries['FIXME_STUB'].__io_uring_buf_ring_cq_advance
1625
+ __io_uring_buf_ring_cq_advance.restype = None
1626
+ __io_uring_buf_ring_cq_advance.argtypes = [ctypes.POINTER(struct_io_uring), ctypes.POINTER(struct_io_uring_buf_ring), ctypes.c_int32, ctypes.c_int32]
1627
+ except AttributeError:
1628
+ pass
1629
+ try:
1630
+ io_uring_buf_ring_cq_advance = _libraries['FIXME_STUB'].io_uring_buf_ring_cq_advance
1631
+ io_uring_buf_ring_cq_advance.restype = None
1632
+ io_uring_buf_ring_cq_advance.argtypes = [ctypes.POINTER(struct_io_uring), ctypes.POINTER(struct_io_uring_buf_ring), ctypes.c_int32]
1633
+ except AttributeError:
1634
+ pass
1635
+ try:
1636
+ io_uring_get_sqe = _libraries['FIXME_STUB'].io_uring_get_sqe
1637
+ io_uring_get_sqe.restype = ctypes.POINTER(struct_io_uring_sqe)
1638
+ io_uring_get_sqe.argtypes = [ctypes.POINTER(struct_io_uring)]
1639
+ except AttributeError:
1640
+ pass
1084
1641
  ssize_t = ctypes.c_int64
1085
1642
  try:
1086
1643
  io_uring_mlock_size = _libraries['FIXME_STUB'].io_uring_mlock_size
@@ -1094,7 +1651,26 @@ try:
1094
1651
  io_uring_mlock_size_params.argtypes = [ctypes.c_uint32, ctypes.POINTER(struct_io_uring_params)]
1095
1652
  except AttributeError:
1096
1653
  pass
1654
+ try:
1655
+ io_uring_major_version = _libraries['FIXME_STUB'].io_uring_major_version
1656
+ io_uring_major_version.restype = ctypes.c_int32
1657
+ io_uring_major_version.argtypes = []
1658
+ except AttributeError:
1659
+ pass
1660
+ try:
1661
+ io_uring_minor_version = _libraries['FIXME_STUB'].io_uring_minor_version
1662
+ io_uring_minor_version.restype = ctypes.c_int32
1663
+ io_uring_minor_version.argtypes = []
1664
+ except AttributeError:
1665
+ pass
1666
+ try:
1667
+ io_uring_check_version = _libraries['FIXME_STUB'].io_uring_check_version
1668
+ io_uring_check_version.restype = ctypes.c_bool
1669
+ io_uring_check_version.argtypes = [ctypes.c_int32, ctypes.c_int32]
1670
+ except AttributeError:
1671
+ pass
1097
1672
  LINUX_IO_URING_H = True # macro
1673
+ IORING_FILE_INDEX_ALLOC = (~0) # macro
1098
1674
  IORING_SETUP_IOPOLL = (1<<0) # macro
1099
1675
  IORING_SETUP_SQPOLL = (1<<1) # macro
1100
1676
  IORING_SETUP_SQ_AFF = (1<<2) # macro
@@ -1102,30 +1678,69 @@ IORING_SETUP_CQSIZE = (1<<3) # macro
1102
1678
  IORING_SETUP_CLAMP = (1<<4) # macro
1103
1679
  IORING_SETUP_ATTACH_WQ = (1<<5) # macro
1104
1680
  IORING_SETUP_R_DISABLED = (1<<6) # macro
1681
+ IORING_SETUP_SUBMIT_ALL = (1<<7) # macro
1682
+ IORING_SETUP_COOP_TASKRUN = (1<<8) # macro
1683
+ IORING_SETUP_TASKRUN_FLAG = (1<<9) # macro
1684
+ IORING_SETUP_SQE128 = (1<<10) # macro
1685
+ IORING_SETUP_CQE32 = (1<<11) # macro
1686
+ # def io_uring_cqe_shift(ring): # macro
1687
+ # return (!!((ring)->flags&IORING_SETUP_CQE32))
1688
+ IORING_SETUP_SINGLE_ISSUER = (1<<12) # macro
1689
+ IORING_SETUP_DEFER_TASKRUN = (1<<13) # macro
1690
+ IORING_SETUP_NO_MMAP = (1<<14) # macro
1691
+ IORING_SETUP_REGISTERED_FD_ONLY = (1<<15) # macro
1692
+ IORING_SETUP_NO_SQARRAY = (1<<16) # macro
1693
+ IORING_URING_CMD_FIXED = (1<<0) # macro
1694
+ IORING_URING_CMD_MASK = (1<<0) # macro
1105
1695
  IORING_FSYNC_DATASYNC = (1<<0) # macro
1106
1696
  IORING_TIMEOUT_ABS = (1<<0) # macro
1107
1697
  IORING_TIMEOUT_UPDATE = (1<<1) # macro
1108
1698
  IORING_TIMEOUT_BOOTTIME = (1<<2) # macro
1109
1699
  IORING_TIMEOUT_REALTIME = (1<<3) # macro
1110
1700
  IORING_LINK_TIMEOUT_UPDATE = (1<<4) # macro
1701
+ IORING_TIMEOUT_ETIME_SUCCESS = (1<<5) # macro
1702
+ IORING_TIMEOUT_MULTISHOT = (1<<6) # macro
1111
1703
  IORING_TIMEOUT_CLOCK_MASK = ((1<<2)|(1<<3)) # macro
1112
1704
  IORING_TIMEOUT_UPDATE_MASK = ((1<<1)|(1<<4)) # macro
1113
1705
  SPLICE_F_FD_IN_FIXED = (1<<31) # macro
1114
1706
  IORING_POLL_ADD_MULTI = (1<<0) # macro
1115
1707
  IORING_POLL_UPDATE_EVENTS = (1<<1) # macro
1116
1708
  IORING_POLL_UPDATE_USER_DATA = (1<<2) # macro
1709
+ IORING_POLL_ADD_LEVEL = (1<<3) # macro
1710
+ IORING_ASYNC_CANCEL_ALL = (1<<0) # macro
1711
+ IORING_ASYNC_CANCEL_FD = (1<<1) # macro
1712
+ IORING_ASYNC_CANCEL_ANY = (1<<2) # macro
1713
+ IORING_ASYNC_CANCEL_FD_FIXED = (1<<3) # macro
1714
+ IORING_ASYNC_CANCEL_USERDATA = (1<<4) # macro
1715
+ IORING_ASYNC_CANCEL_OP = (1<<5) # macro
1716
+ IORING_RECVSEND_POLL_FIRST = (1<<0) # macro
1717
+ IORING_RECV_MULTISHOT = (1<<1) # macro
1718
+ IORING_RECVSEND_FIXED_BUF = (1<<2) # macro
1719
+ IORING_SEND_ZC_REPORT_USAGE = (1<<3) # macro
1720
+ IORING_NOTIF_USAGE_ZC_COPIED = (1<<31) # macro
1721
+ IORING_ACCEPT_MULTISHOT = (1<<0) # macro
1722
+ IORING_MSG_RING_CQE_SKIP = (1<<0) # macro
1723
+ IORING_MSG_RING_FLAGS_PASS = (1<<1) # macro
1724
+ IORING_FIXED_FD_NO_CLOEXEC = (1<<0) # macro
1117
1725
  IORING_CQE_F_BUFFER = (1<<0) # macro
1118
1726
  IORING_CQE_F_MORE = (1<<1) # macro
1727
+ IORING_CQE_F_SOCK_NONEMPTY = (1<<2) # macro
1728
+ IORING_CQE_F_NOTIF = (1<<3) # macro
1119
1729
  IORING_OFF_SQ_RING = 0 # macro
1120
1730
  IORING_OFF_CQ_RING = 0x8000000 # macro
1121
1731
  IORING_OFF_SQES = 0x10000000 # macro
1732
+ IORING_OFF_PBUF_RING = 0x80000000 # macro
1733
+ IORING_OFF_PBUF_SHIFT = 16 # macro
1734
+ IORING_OFF_MMAP_MASK = 0xf8000000 # macro
1122
1735
  IORING_SQ_NEED_WAKEUP = (1<<0) # macro
1123
1736
  IORING_SQ_CQ_OVERFLOW = (1<<1) # macro
1737
+ IORING_SQ_TASKRUN = (1<<2) # macro
1124
1738
  IORING_CQ_EVENTFD_DISABLED = (1<<0) # macro
1125
1739
  IORING_ENTER_GETEVENTS = (1<<0) # macro
1126
1740
  IORING_ENTER_SQ_WAKEUP = (1<<1) # macro
1127
1741
  IORING_ENTER_SQ_WAIT = (1<<2) # macro
1128
1742
  IORING_ENTER_EXT_ARG = (1<<3) # macro
1743
+ IORING_ENTER_REGISTERED_RING = (1<<4) # macro
1129
1744
  IORING_FEAT_SINGLE_MMAP = (1<<0) # macro
1130
1745
  IORING_FEAT_NODROP = (1<<1) # macro
1131
1746
  IORING_FEAT_SUBMIT_STABLE = (1<<2) # macro
@@ -1137,6 +1752,10 @@ IORING_FEAT_SQPOLL_NONFIXED = (1<<7) # macro
1137
1752
  IORING_FEAT_EXT_ARG = (1<<8) # macro
1138
1753
  IORING_FEAT_NATIVE_WORKERS = (1<<9) # macro
1139
1754
  IORING_FEAT_RSRC_TAGS = (1<<10) # macro
1755
+ IORING_FEAT_CQE_SKIP = (1<<11) # macro
1756
+ IORING_FEAT_LINKED_FILE = (1<<12) # macro
1757
+ IORING_FEAT_REG_REG_RING = (1<<13) # macro
1758
+ IORING_RSRC_REGISTER_SPARSE = (1<<0) # macro
1140
1759
  IORING_REGISTER_FILES_SKIP = (-2) # macro
1141
1760
  IO_URING_OP_SUPPORTED = (1<<0) # macro
1142
1761
 
@@ -1148,6 +1767,7 @@ c__Ea_IOSQE_FIXED_FILE_BIT__enumvalues = {
1148
1767
  3: 'IOSQE_IO_HARDLINK_BIT',
1149
1768
  4: 'IOSQE_ASYNC_BIT',
1150
1769
  5: 'IOSQE_BUFFER_SELECT_BIT',
1770
+ 6: 'IOSQE_CQE_SKIP_SUCCESS_BIT',
1151
1771
  }
1152
1772
  IOSQE_FIXED_FILE_BIT = 0
1153
1773
  IOSQE_IO_DRAIN_BIT = 1
@@ -1155,6 +1775,7 @@ IOSQE_IO_LINK_BIT = 2
1155
1775
  IOSQE_IO_HARDLINK_BIT = 3
1156
1776
  IOSQE_ASYNC_BIT = 4
1157
1777
  IOSQE_BUFFER_SELECT_BIT = 5
1778
+ IOSQE_CQE_SKIP_SUCCESS_BIT = 6
1158
1779
  c__Ea_IOSQE_FIXED_FILE_BIT = ctypes.c_uint32 # enum
1159
1780
  IOSQE_FIXED_FILE = (1<<IOSQE_FIXED_FILE_BIT) # macro
1160
1781
  IOSQE_IO_DRAIN = (1<<IOSQE_IO_DRAIN_BIT) # macro
@@ -1162,9 +1783,10 @@ IOSQE_IO_LINK = (1<<IOSQE_IO_LINK_BIT) # macro
1162
1783
  IOSQE_IO_HARDLINK = (1<<IOSQE_IO_HARDLINK_BIT) # macro
1163
1784
  IOSQE_ASYNC = (1<<IOSQE_ASYNC_BIT) # macro
1164
1785
  IOSQE_BUFFER_SELECT = (1<<IOSQE_BUFFER_SELECT_BIT) # macro
1786
+ IOSQE_CQE_SKIP_SUCCESS = (1<<IOSQE_CQE_SKIP_SUCCESS_BIT) # macro
1165
1787
 
1166
- # values for enumeration 'c__Ea_IORING_OP_NOP'
1167
- c__Ea_IORING_OP_NOP__enumvalues = {
1788
+ # values for enumeration 'io_uring_op'
1789
+ io_uring_op__enumvalues = {
1168
1790
  0: 'IORING_OP_NOP',
1169
1791
  1: 'IORING_OP_READV',
1170
1792
  2: 'IORING_OP_WRITEV',
@@ -1205,7 +1827,22 @@ c__Ea_IORING_OP_NOP__enumvalues = {
1205
1827
  37: 'IORING_OP_MKDIRAT',
1206
1828
  38: 'IORING_OP_SYMLINKAT',
1207
1829
  39: 'IORING_OP_LINKAT',
1208
- 40: 'IORING_OP_LAST',
1830
+ 40: 'IORING_OP_MSG_RING',
1831
+ 41: 'IORING_OP_FSETXATTR',
1832
+ 42: 'IORING_OP_SETXATTR',
1833
+ 43: 'IORING_OP_FGETXATTR',
1834
+ 44: 'IORING_OP_GETXATTR',
1835
+ 45: 'IORING_OP_SOCKET',
1836
+ 46: 'IORING_OP_URING_CMD',
1837
+ 47: 'IORING_OP_SEND_ZC',
1838
+ 48: 'IORING_OP_SENDMSG_ZC',
1839
+ 49: 'IORING_OP_READ_MULTISHOT',
1840
+ 50: 'IORING_OP_WAITID',
1841
+ 51: 'IORING_OP_FUTEX_WAIT',
1842
+ 52: 'IORING_OP_FUTEX_WAKE',
1843
+ 53: 'IORING_OP_FUTEX_WAITV',
1844
+ 54: 'IORING_OP_FIXED_FD_INSTALL',
1845
+ 55: 'IORING_OP_LAST',
1209
1846
  }
1210
1847
  IORING_OP_NOP = 0
1211
1848
  IORING_OP_READV = 1
@@ -1247,8 +1884,32 @@ IORING_OP_UNLINKAT = 36
1247
1884
  IORING_OP_MKDIRAT = 37
1248
1885
  IORING_OP_SYMLINKAT = 38
1249
1886
  IORING_OP_LINKAT = 39
1250
- IORING_OP_LAST = 40
1251
- c__Ea_IORING_OP_NOP = ctypes.c_uint32 # enum
1887
+ IORING_OP_MSG_RING = 40
1888
+ IORING_OP_FSETXATTR = 41
1889
+ IORING_OP_SETXATTR = 42
1890
+ IORING_OP_FGETXATTR = 43
1891
+ IORING_OP_GETXATTR = 44
1892
+ IORING_OP_SOCKET = 45
1893
+ IORING_OP_URING_CMD = 46
1894
+ IORING_OP_SEND_ZC = 47
1895
+ IORING_OP_SENDMSG_ZC = 48
1896
+ IORING_OP_READ_MULTISHOT = 49
1897
+ IORING_OP_WAITID = 50
1898
+ IORING_OP_FUTEX_WAIT = 51
1899
+ IORING_OP_FUTEX_WAKE = 52
1900
+ IORING_OP_FUTEX_WAITV = 53
1901
+ IORING_OP_FIXED_FD_INSTALL = 54
1902
+ IORING_OP_LAST = 55
1903
+ io_uring_op = ctypes.c_uint32 # enum
1904
+
1905
+ # values for enumeration 'c__Ea_IORING_MSG_DATA'
1906
+ c__Ea_IORING_MSG_DATA__enumvalues = {
1907
+ 0: 'IORING_MSG_DATA',
1908
+ 1: 'IORING_MSG_SEND_FD',
1909
+ }
1910
+ IORING_MSG_DATA = 0
1911
+ IORING_MSG_SEND_FD = 1
1912
+ c__Ea_IORING_MSG_DATA = ctypes.c_uint32 # enum
1252
1913
 
1253
1914
  # values for enumeration 'c__Ea_IORING_CQE_BUFFER_SHIFT'
1254
1915
  c__Ea_IORING_CQE_BUFFER_SHIFT__enumvalues = {
@@ -1279,7 +1940,15 @@ c__Ea_IORING_REGISTER_BUFFERS__enumvalues = {
1279
1940
  17: 'IORING_REGISTER_IOWQ_AFF',
1280
1941
  18: 'IORING_UNREGISTER_IOWQ_AFF',
1281
1942
  19: 'IORING_REGISTER_IOWQ_MAX_WORKERS',
1282
- 20: 'IORING_REGISTER_LAST',
1943
+ 20: 'IORING_REGISTER_RING_FDS',
1944
+ 21: 'IORING_UNREGISTER_RING_FDS',
1945
+ 22: 'IORING_REGISTER_PBUF_RING',
1946
+ 23: 'IORING_UNREGISTER_PBUF_RING',
1947
+ 24: 'IORING_REGISTER_SYNC_CANCEL',
1948
+ 25: 'IORING_REGISTER_FILE_ALLOC_RANGE',
1949
+ 26: 'IORING_REGISTER_PBUF_STATUS',
1950
+ 27: 'IORING_REGISTER_LAST',
1951
+ 2147483648: 'IORING_REGISTER_USE_REGISTERED_RING',
1283
1952
  }
1284
1953
  IORING_REGISTER_BUFFERS = 0
1285
1954
  IORING_UNREGISTER_BUFFERS = 1
@@ -1301,7 +1970,15 @@ IORING_REGISTER_BUFFERS_UPDATE = 16
1301
1970
  IORING_REGISTER_IOWQ_AFF = 17
1302
1971
  IORING_UNREGISTER_IOWQ_AFF = 18
1303
1972
  IORING_REGISTER_IOWQ_MAX_WORKERS = 19
1304
- IORING_REGISTER_LAST = 20
1973
+ IORING_REGISTER_RING_FDS = 20
1974
+ IORING_UNREGISTER_RING_FDS = 21
1975
+ IORING_REGISTER_PBUF_RING = 22
1976
+ IORING_UNREGISTER_PBUF_RING = 23
1977
+ IORING_REGISTER_SYNC_CANCEL = 24
1978
+ IORING_REGISTER_FILE_ALLOC_RANGE = 25
1979
+ IORING_REGISTER_PBUF_STATUS = 26
1980
+ IORING_REGISTER_LAST = 27
1981
+ IORING_REGISTER_USE_REGISTERED_RING = 2147483648
1305
1982
  c__Ea_IORING_REGISTER_BUFFERS = ctypes.c_uint32 # enum
1306
1983
 
1307
1984
  # values for enumeration 'c__Ea_IO_WQ_BOUND'
@@ -1328,7 +2005,7 @@ class struct_io_uring_rsrc_register(Structure):
1328
2005
  struct_io_uring_rsrc_register._pack_ = 1 # source:False
1329
2006
  struct_io_uring_rsrc_register._fields_ = [
1330
2007
  ('nr', ctypes.c_uint32),
1331
- ('resv', ctypes.c_uint32),
2008
+ ('flags', ctypes.c_uint32),
1332
2009
  ('resv2', ctypes.c_uint64),
1333
2010
  ('data', ctypes.c_uint64),
1334
2011
  ('tags', ctypes.c_uint64),
@@ -1358,6 +2035,23 @@ struct_io_uring_rsrc_update2._fields_ = [
1358
2035
  ]
1359
2036
 
1360
2037
 
2038
+ # values for enumeration 'c__Ea_IOU_PBUF_RING_MMAP'
2039
+ c__Ea_IOU_PBUF_RING_MMAP__enumvalues = {
2040
+ 1: 'IOU_PBUF_RING_MMAP',
2041
+ }
2042
+ IOU_PBUF_RING_MMAP = 1
2043
+ c__Ea_IOU_PBUF_RING_MMAP = ctypes.c_uint32 # enum
2044
+ class struct_io_uring_buf_status(Structure):
2045
+ pass
2046
+
2047
+ struct_io_uring_buf_status._pack_ = 1 # source:False
2048
+ struct_io_uring_buf_status._fields_ = [
2049
+ ('buf_group', ctypes.c_uint32),
2050
+ ('head', ctypes.c_uint32),
2051
+ ('resv', ctypes.c_uint32 * 8),
2052
+ ]
2053
+
2054
+
1361
2055
  # values for enumeration 'c__Ea_IORING_RESTRICTION_REGISTER_OP'
1362
2056
  c__Ea_IORING_RESTRICTION_REGISTER_OP__enumvalues = {
1363
2057
  0: 'IORING_RESTRICTION_REGISTER_OP',
@@ -1383,138 +2077,243 @@ struct_io_uring_getevents_arg._fields_ = [
1383
2077
  ('ts', ctypes.c_uint64),
1384
2078
  ]
1385
2079
 
2080
+ class struct_io_uring_file_index_range(Structure):
2081
+ pass
2082
+
2083
+ struct_io_uring_file_index_range._pack_ = 1 # source:False
2084
+ struct_io_uring_file_index_range._fields_ = [
2085
+ ('off', ctypes.c_uint32),
2086
+ ('len', ctypes.c_uint32),
2087
+ ('resv', ctypes.c_uint64),
2088
+ ]
2089
+
2090
+
2091
+ # values for enumeration 'c__Ea_SOCKET_URING_OP_SIOCINQ'
2092
+ c__Ea_SOCKET_URING_OP_SIOCINQ__enumvalues = {
2093
+ 0: 'SOCKET_URING_OP_SIOCINQ',
2094
+ 1: 'SOCKET_URING_OP_SIOCOUTQ',
2095
+ 2: 'SOCKET_URING_OP_GETSOCKOPT',
2096
+ 3: 'SOCKET_URING_OP_SETSOCKOPT',
2097
+ }
2098
+ SOCKET_URING_OP_SIOCINQ = 0
2099
+ SOCKET_URING_OP_SIOCOUTQ = 1
2100
+ SOCKET_URING_OP_GETSOCKOPT = 2
2101
+ SOCKET_URING_OP_SETSOCKOPT = 3
2102
+ c__Ea_SOCKET_URING_OP_SIOCINQ = ctypes.c_uint32 # enum
1386
2103
  __all__ = \
1387
- ['IORING_CQE_BUFFER_SHIFT', 'IORING_CQE_F_BUFFER',
1388
- 'IORING_CQE_F_MORE', 'IORING_CQ_EVENTFD_DISABLED',
2104
+ ['IORING_ACCEPT_MULTISHOT', 'IORING_ASYNC_CANCEL_ALL',
2105
+ 'IORING_ASYNC_CANCEL_ANY', 'IORING_ASYNC_CANCEL_FD',
2106
+ 'IORING_ASYNC_CANCEL_FD_FIXED', 'IORING_ASYNC_CANCEL_OP',
2107
+ 'IORING_ASYNC_CANCEL_USERDATA', 'IORING_CQE_BUFFER_SHIFT',
2108
+ 'IORING_CQE_F_BUFFER', 'IORING_CQE_F_MORE', 'IORING_CQE_F_NOTIF',
2109
+ 'IORING_CQE_F_SOCK_NONEMPTY', 'IORING_CQ_EVENTFD_DISABLED',
1389
2110
  'IORING_ENTER_EXT_ARG', 'IORING_ENTER_GETEVENTS',
1390
- 'IORING_ENTER_SQ_WAIT', 'IORING_ENTER_SQ_WAKEUP',
2111
+ 'IORING_ENTER_REGISTERED_RING', 'IORING_ENTER_SQ_WAIT',
2112
+ 'IORING_ENTER_SQ_WAKEUP', 'IORING_FEAT_CQE_SKIP',
1391
2113
  'IORING_FEAT_CUR_PERSONALITY', 'IORING_FEAT_EXT_ARG',
1392
- 'IORING_FEAT_FAST_POLL', 'IORING_FEAT_NATIVE_WORKERS',
1393
- 'IORING_FEAT_NODROP', 'IORING_FEAT_POLL_32BITS',
2114
+ 'IORING_FEAT_FAST_POLL', 'IORING_FEAT_LINKED_FILE',
2115
+ 'IORING_FEAT_NATIVE_WORKERS', 'IORING_FEAT_NODROP',
2116
+ 'IORING_FEAT_POLL_32BITS', 'IORING_FEAT_REG_REG_RING',
1394
2117
  'IORING_FEAT_RSRC_TAGS', 'IORING_FEAT_RW_CUR_POS',
1395
2118
  'IORING_FEAT_SINGLE_MMAP', 'IORING_FEAT_SQPOLL_NONFIXED',
1396
- 'IORING_FEAT_SUBMIT_STABLE', 'IORING_FSYNC_DATASYNC',
1397
- 'IORING_LINK_TIMEOUT_UPDATE', 'IORING_OFF_CQ_RING',
2119
+ 'IORING_FEAT_SUBMIT_STABLE', 'IORING_FILE_INDEX_ALLOC',
2120
+ 'IORING_FIXED_FD_NO_CLOEXEC', 'IORING_FSYNC_DATASYNC',
2121
+ 'IORING_LINK_TIMEOUT_UPDATE', 'IORING_MSG_DATA',
2122
+ 'IORING_MSG_RING_CQE_SKIP', 'IORING_MSG_RING_FLAGS_PASS',
2123
+ 'IORING_MSG_SEND_FD', 'IORING_NOTIF_USAGE_ZC_COPIED',
2124
+ 'IORING_OFF_CQ_RING', 'IORING_OFF_MMAP_MASK',
2125
+ 'IORING_OFF_PBUF_RING', 'IORING_OFF_PBUF_SHIFT',
1398
2126
  'IORING_OFF_SQES', 'IORING_OFF_SQ_RING', 'IORING_OP_ACCEPT',
1399
2127
  'IORING_OP_ASYNC_CANCEL', 'IORING_OP_CLOSE', 'IORING_OP_CONNECT',
1400
2128
  'IORING_OP_EPOLL_CTL', 'IORING_OP_FADVISE', 'IORING_OP_FALLOCATE',
1401
- 'IORING_OP_FILES_UPDATE', 'IORING_OP_FSYNC', 'IORING_OP_LAST',
1402
- 'IORING_OP_LINKAT', 'IORING_OP_LINK_TIMEOUT', 'IORING_OP_MADVISE',
1403
- 'IORING_OP_MKDIRAT', 'IORING_OP_NOP', 'IORING_OP_OPENAT',
1404
- 'IORING_OP_OPENAT2', 'IORING_OP_POLL_ADD',
2129
+ 'IORING_OP_FGETXATTR', 'IORING_OP_FILES_UPDATE',
2130
+ 'IORING_OP_FIXED_FD_INSTALL', 'IORING_OP_FSETXATTR',
2131
+ 'IORING_OP_FSYNC', 'IORING_OP_FUTEX_WAIT',
2132
+ 'IORING_OP_FUTEX_WAITV', 'IORING_OP_FUTEX_WAKE',
2133
+ 'IORING_OP_GETXATTR', 'IORING_OP_LAST', 'IORING_OP_LINKAT',
2134
+ 'IORING_OP_LINK_TIMEOUT', 'IORING_OP_MADVISE',
2135
+ 'IORING_OP_MKDIRAT', 'IORING_OP_MSG_RING', 'IORING_OP_NOP',
2136
+ 'IORING_OP_OPENAT', 'IORING_OP_OPENAT2', 'IORING_OP_POLL_ADD',
1405
2137
  'IORING_OP_POLL_REMOVE', 'IORING_OP_PROVIDE_BUFFERS',
1406
2138
  'IORING_OP_READ', 'IORING_OP_READV', 'IORING_OP_READ_FIXED',
1407
- 'IORING_OP_RECV', 'IORING_OP_RECVMSG', 'IORING_OP_REMOVE_BUFFERS',
1408
- 'IORING_OP_RENAMEAT', 'IORING_OP_SEND', 'IORING_OP_SENDMSG',
1409
- 'IORING_OP_SHUTDOWN', 'IORING_OP_SPLICE', 'IORING_OP_STATX',
2139
+ 'IORING_OP_READ_MULTISHOT', 'IORING_OP_RECV', 'IORING_OP_RECVMSG',
2140
+ 'IORING_OP_REMOVE_BUFFERS', 'IORING_OP_RENAMEAT',
2141
+ 'IORING_OP_SEND', 'IORING_OP_SENDMSG', 'IORING_OP_SENDMSG_ZC',
2142
+ 'IORING_OP_SEND_ZC', 'IORING_OP_SETXATTR', 'IORING_OP_SHUTDOWN',
2143
+ 'IORING_OP_SOCKET', 'IORING_OP_SPLICE', 'IORING_OP_STATX',
1410
2144
  'IORING_OP_SYMLINKAT', 'IORING_OP_SYNC_FILE_RANGE',
1411
2145
  'IORING_OP_TEE', 'IORING_OP_TIMEOUT', 'IORING_OP_TIMEOUT_REMOVE',
1412
- 'IORING_OP_UNLINKAT', 'IORING_OP_WRITE', 'IORING_OP_WRITEV',
1413
- 'IORING_OP_WRITE_FIXED', 'IORING_POLL_ADD_MULTI',
2146
+ 'IORING_OP_UNLINKAT', 'IORING_OP_URING_CMD', 'IORING_OP_WAITID',
2147
+ 'IORING_OP_WRITE', 'IORING_OP_WRITEV', 'IORING_OP_WRITE_FIXED',
2148
+ 'IORING_POLL_ADD_LEVEL', 'IORING_POLL_ADD_MULTI',
1414
2149
  'IORING_POLL_UPDATE_EVENTS', 'IORING_POLL_UPDATE_USER_DATA',
1415
- 'IORING_REGISTER_BUFFERS', 'IORING_REGISTER_BUFFERS2',
1416
- 'IORING_REGISTER_BUFFERS_UPDATE', 'IORING_REGISTER_ENABLE_RINGS',
1417
- 'IORING_REGISTER_EVENTFD', 'IORING_REGISTER_EVENTFD_ASYNC',
1418
- 'IORING_REGISTER_FILES', 'IORING_REGISTER_FILES2',
1419
- 'IORING_REGISTER_FILES_SKIP', 'IORING_REGISTER_FILES_UPDATE',
1420
- 'IORING_REGISTER_FILES_UPDATE2', 'IORING_REGISTER_IOWQ_AFF',
2150
+ 'IORING_RECVSEND_FIXED_BUF', 'IORING_RECVSEND_POLL_FIRST',
2151
+ 'IORING_RECV_MULTISHOT', 'IORING_REGISTER_BUFFERS',
2152
+ 'IORING_REGISTER_BUFFERS2', 'IORING_REGISTER_BUFFERS_UPDATE',
2153
+ 'IORING_REGISTER_ENABLE_RINGS', 'IORING_REGISTER_EVENTFD',
2154
+ 'IORING_REGISTER_EVENTFD_ASYNC', 'IORING_REGISTER_FILES',
2155
+ 'IORING_REGISTER_FILES2', 'IORING_REGISTER_FILES_SKIP',
2156
+ 'IORING_REGISTER_FILES_UPDATE', 'IORING_REGISTER_FILES_UPDATE2',
2157
+ 'IORING_REGISTER_FILE_ALLOC_RANGE', 'IORING_REGISTER_IOWQ_AFF',
1421
2158
  'IORING_REGISTER_IOWQ_MAX_WORKERS', 'IORING_REGISTER_LAST',
2159
+ 'IORING_REGISTER_PBUF_RING', 'IORING_REGISTER_PBUF_STATUS',
1422
2160
  'IORING_REGISTER_PERSONALITY', 'IORING_REGISTER_PROBE',
1423
- 'IORING_REGISTER_RESTRICTIONS', 'IORING_RESTRICTION_LAST',
2161
+ 'IORING_REGISTER_RESTRICTIONS', 'IORING_REGISTER_RING_FDS',
2162
+ 'IORING_REGISTER_SYNC_CANCEL',
2163
+ 'IORING_REGISTER_USE_REGISTERED_RING', 'IORING_RESTRICTION_LAST',
1424
2164
  'IORING_RESTRICTION_REGISTER_OP',
1425
2165
  'IORING_RESTRICTION_SQE_FLAGS_ALLOWED',
1426
2166
  'IORING_RESTRICTION_SQE_FLAGS_REQUIRED',
1427
- 'IORING_RESTRICTION_SQE_OP', 'IORING_SETUP_ATTACH_WQ',
1428
- 'IORING_SETUP_CLAMP', 'IORING_SETUP_CQSIZE',
1429
- 'IORING_SETUP_IOPOLL', 'IORING_SETUP_R_DISABLED',
2167
+ 'IORING_RESTRICTION_SQE_OP', 'IORING_RSRC_REGISTER_SPARSE',
2168
+ 'IORING_SEND_ZC_REPORT_USAGE', 'IORING_SETUP_ATTACH_WQ',
2169
+ 'IORING_SETUP_CLAMP', 'IORING_SETUP_COOP_TASKRUN',
2170
+ 'IORING_SETUP_CQE32', 'IORING_SETUP_CQSIZE',
2171
+ 'IORING_SETUP_DEFER_TASKRUN', 'IORING_SETUP_IOPOLL',
2172
+ 'IORING_SETUP_NO_MMAP', 'IORING_SETUP_NO_SQARRAY',
2173
+ 'IORING_SETUP_REGISTERED_FD_ONLY', 'IORING_SETUP_R_DISABLED',
2174
+ 'IORING_SETUP_SINGLE_ISSUER', 'IORING_SETUP_SQE128',
1430
2175
  'IORING_SETUP_SQPOLL', 'IORING_SETUP_SQ_AFF',
2176
+ 'IORING_SETUP_SUBMIT_ALL', 'IORING_SETUP_TASKRUN_FLAG',
1431
2177
  'IORING_SQ_CQ_OVERFLOW', 'IORING_SQ_NEED_WAKEUP',
1432
- 'IORING_TIMEOUT_ABS', 'IORING_TIMEOUT_BOOTTIME',
1433
- 'IORING_TIMEOUT_CLOCK_MASK', 'IORING_TIMEOUT_REALTIME',
1434
- 'IORING_TIMEOUT_UPDATE', 'IORING_TIMEOUT_UPDATE_MASK',
1435
- 'IORING_UNREGISTER_BUFFERS', 'IORING_UNREGISTER_EVENTFD',
1436
- 'IORING_UNREGISTER_FILES', 'IORING_UNREGISTER_IOWQ_AFF',
1437
- 'IORING_UNREGISTER_PERSONALITY', 'IOSQE_ASYNC', 'IOSQE_ASYNC_BIT',
1438
- 'IOSQE_BUFFER_SELECT', 'IOSQE_BUFFER_SELECT_BIT',
1439
- 'IOSQE_FIXED_FILE', 'IOSQE_FIXED_FILE_BIT', 'IOSQE_IO_DRAIN',
1440
- 'IOSQE_IO_DRAIN_BIT', 'IOSQE_IO_HARDLINK',
1441
- 'IOSQE_IO_HARDLINK_BIT', 'IOSQE_IO_LINK', 'IOSQE_IO_LINK_BIT',
2178
+ 'IORING_SQ_TASKRUN', 'IORING_TIMEOUT_ABS',
2179
+ 'IORING_TIMEOUT_BOOTTIME', 'IORING_TIMEOUT_CLOCK_MASK',
2180
+ 'IORING_TIMEOUT_ETIME_SUCCESS', 'IORING_TIMEOUT_MULTISHOT',
2181
+ 'IORING_TIMEOUT_REALTIME', 'IORING_TIMEOUT_UPDATE',
2182
+ 'IORING_TIMEOUT_UPDATE_MASK', 'IORING_UNREGISTER_BUFFERS',
2183
+ 'IORING_UNREGISTER_EVENTFD', 'IORING_UNREGISTER_FILES',
2184
+ 'IORING_UNREGISTER_IOWQ_AFF', 'IORING_UNREGISTER_PBUF_RING',
2185
+ 'IORING_UNREGISTER_PERSONALITY', 'IORING_UNREGISTER_RING_FDS',
2186
+ 'IORING_URING_CMD_FIXED', 'IORING_URING_CMD_MASK', 'IOSQE_ASYNC',
2187
+ 'IOSQE_ASYNC_BIT', 'IOSQE_BUFFER_SELECT',
2188
+ 'IOSQE_BUFFER_SELECT_BIT', 'IOSQE_CQE_SKIP_SUCCESS',
2189
+ 'IOSQE_CQE_SKIP_SUCCESS_BIT', 'IOSQE_FIXED_FILE',
2190
+ 'IOSQE_FIXED_FILE_BIT', 'IOSQE_IO_DRAIN', 'IOSQE_IO_DRAIN_BIT',
2191
+ 'IOSQE_IO_HARDLINK', 'IOSQE_IO_HARDLINK_BIT', 'IOSQE_IO_LINK',
2192
+ 'IOSQE_IO_LINK_BIT', 'IOURINGINLINE', 'IOU_PBUF_RING_MMAP',
1442
2193
  'IO_URING_OP_SUPPORTED', 'IO_WQ_BOUND', 'IO_WQ_UNBOUND',
1443
- 'LIB_URING_H', 'LINUX_IO_URING_H', 'SPLICE_F_FD_IN_FIXED',
1444
- '_XOPEN_SOURCE', '__io_uring_get_cqe',
2194
+ 'LIBURING_HAVE_DATA64', 'LIB_URING_H', 'LINUX_IO_URING_H',
2195
+ 'SOCKET_URING_OP_GETSOCKOPT', 'SOCKET_URING_OP_SETSOCKOPT',
2196
+ 'SOCKET_URING_OP_SIOCINQ', 'SOCKET_URING_OP_SIOCOUTQ',
2197
+ 'SPLICE_F_FD_IN_FIXED', '_GNU_SOURCE', '_XOPEN_SOURCE',
2198
+ '__NR_io_uring_enter', '__NR_io_uring_register',
2199
+ '__NR_io_uring_setup', '__io_uring_buf_ring_cq_advance',
2200
+ '__io_uring_get_cqe', '__io_uring_peek_cqe',
1445
2201
  '__io_uring_prep_poll_mask', '__io_uring_set_target_fixed_file',
1446
- '__io_uring_sqring_wait', '__u64',
1447
- 'c__Ea_IORING_CQE_BUFFER_SHIFT', 'c__Ea_IORING_OP_NOP',
1448
- 'c__Ea_IORING_REGISTER_BUFFERS',
2202
+ '__io_uring_sqring_wait', '__u16', '__u32', '__u64',
2203
+ '_io_uring_get_sqe', 'c__Ea_IORING_CQE_BUFFER_SHIFT',
2204
+ 'c__Ea_IORING_MSG_DATA', 'c__Ea_IORING_REGISTER_BUFFERS',
1449
2205
  'c__Ea_IORING_RESTRICTION_REGISTER_OP',
1450
- 'c__Ea_IOSQE_FIXED_FILE_BIT', 'c__Ea_IO_WQ_BOUND', 'int64_t',
1451
- 'io_uring_cq_advance', 'io_uring_cq_eventfd_enabled',
1452
- 'io_uring_cq_eventfd_toggle', 'io_uring_cq_ready',
1453
- 'io_uring_cqe_get_data', 'io_uring_cqe_seen',
1454
- 'io_uring_enable_rings', 'io_uring_free_probe',
2206
+ 'c__Ea_IOSQE_FIXED_FILE_BIT', 'c__Ea_IOU_PBUF_RING_MMAP',
2207
+ 'c__Ea_IO_WQ_BOUND', 'c__Ea_SOCKET_URING_OP_SIOCINQ', 'int64_t',
2208
+ 'io_uring_buf_ring_add', 'io_uring_buf_ring_advance',
2209
+ 'io_uring_buf_ring_cq_advance', 'io_uring_buf_ring_init',
2210
+ 'io_uring_buf_ring_mask', 'io_uring_check_version',
2211
+ 'io_uring_close_ring_fd', 'io_uring_cq_advance',
2212
+ 'io_uring_cq_eventfd_enabled', 'io_uring_cq_eventfd_toggle',
2213
+ 'io_uring_cq_has_overflow', 'io_uring_cq_ready',
2214
+ 'io_uring_cqe_get_data', 'io_uring_cqe_get_data64',
2215
+ 'io_uring_cqe_seen', 'io_uring_enable_rings', 'io_uring_enter',
2216
+ 'io_uring_enter2', 'io_uring_free_buf_ring',
2217
+ 'io_uring_free_probe', 'io_uring_get_events',
1455
2218
  'io_uring_get_probe', 'io_uring_get_probe_ring',
1456
- 'io_uring_get_sqe', 'io_uring_mlock_size',
1457
- 'io_uring_mlock_size_params', 'io_uring_opcode_supported',
1458
- 'io_uring_peek_batch_cqe', 'io_uring_peek_cqe',
1459
- 'io_uring_prep_accept', 'io_uring_prep_accept_direct',
1460
- 'io_uring_prep_cancel', 'io_uring_prep_close',
1461
- 'io_uring_prep_connect', 'io_uring_prep_epoll_ctl',
1462
- 'io_uring_prep_fadvise', 'io_uring_prep_fallocate',
1463
- 'io_uring_prep_files_update', 'io_uring_prep_fsync',
1464
- 'io_uring_prep_link_timeout', 'io_uring_prep_linkat',
1465
- 'io_uring_prep_madvise', 'io_uring_prep_mkdirat',
1466
- 'io_uring_prep_nop', 'io_uring_prep_openat',
1467
- 'io_uring_prep_openat2', 'io_uring_prep_openat2_direct',
1468
- 'io_uring_prep_openat_direct', 'io_uring_prep_poll_add',
1469
- 'io_uring_prep_poll_multishot', 'io_uring_prep_poll_remove',
1470
- 'io_uring_prep_poll_update', 'io_uring_prep_provide_buffers',
1471
- 'io_uring_prep_read', 'io_uring_prep_read_fixed',
1472
- 'io_uring_prep_readv', 'io_uring_prep_recv',
1473
- 'io_uring_prep_recvmsg', 'io_uring_prep_remove_buffers',
1474
- 'io_uring_prep_renameat', 'io_uring_prep_rw',
1475
- 'io_uring_prep_send', 'io_uring_prep_sendmsg',
1476
- 'io_uring_prep_shutdown', 'io_uring_prep_splice',
1477
- 'io_uring_prep_statx', 'io_uring_prep_symlinkat',
1478
- 'io_uring_prep_sync_file_range', 'io_uring_prep_tee',
1479
- 'io_uring_prep_timeout', 'io_uring_prep_timeout_remove',
1480
- 'io_uring_prep_timeout_update', 'io_uring_prep_unlinkat',
2219
+ 'io_uring_get_sqe', 'io_uring_major_version',
2220
+ 'io_uring_minor_version', 'io_uring_mlock_size',
2221
+ 'io_uring_mlock_size_params', 'io_uring_op',
2222
+ 'io_uring_opcode_supported', 'io_uring_peek_batch_cqe',
2223
+ 'io_uring_peek_cqe', 'io_uring_prep_accept',
2224
+ 'io_uring_prep_accept_direct', 'io_uring_prep_cancel',
2225
+ 'io_uring_prep_cancel64', 'io_uring_prep_cancel_fd',
2226
+ 'io_uring_prep_close', 'io_uring_prep_close_direct',
2227
+ 'io_uring_prep_cmd_sock', 'io_uring_prep_connect',
2228
+ 'io_uring_prep_epoll_ctl', 'io_uring_prep_fadvise',
2229
+ 'io_uring_prep_fallocate', 'io_uring_prep_fgetxattr',
2230
+ 'io_uring_prep_files_update', 'io_uring_prep_fsetxattr',
2231
+ 'io_uring_prep_fsync', 'io_uring_prep_getxattr',
2232
+ 'io_uring_prep_link', 'io_uring_prep_link_timeout',
2233
+ 'io_uring_prep_linkat', 'io_uring_prep_madvise',
2234
+ 'io_uring_prep_mkdir', 'io_uring_prep_mkdirat',
2235
+ 'io_uring_prep_msg_ring', 'io_uring_prep_msg_ring_cqe_flags',
2236
+ 'io_uring_prep_msg_ring_fd', 'io_uring_prep_msg_ring_fd_alloc',
2237
+ 'io_uring_prep_multishot_accept',
2238
+ 'io_uring_prep_multishot_accept_direct', 'io_uring_prep_nop',
2239
+ 'io_uring_prep_openat', 'io_uring_prep_openat2',
2240
+ 'io_uring_prep_openat2_direct', 'io_uring_prep_openat_direct',
2241
+ 'io_uring_prep_poll_add', 'io_uring_prep_poll_multishot',
2242
+ 'io_uring_prep_poll_remove', 'io_uring_prep_poll_update',
2243
+ 'io_uring_prep_provide_buffers', 'io_uring_prep_read',
2244
+ 'io_uring_prep_read_fixed', 'io_uring_prep_readv',
2245
+ 'io_uring_prep_readv2', 'io_uring_prep_recv',
2246
+ 'io_uring_prep_recv_multishot', 'io_uring_prep_recvmsg',
2247
+ 'io_uring_prep_recvmsg_multishot', 'io_uring_prep_remove_buffers',
2248
+ 'io_uring_prep_rename', 'io_uring_prep_renameat',
2249
+ 'io_uring_prep_rw', 'io_uring_prep_send',
2250
+ 'io_uring_prep_send_set_addr', 'io_uring_prep_send_zc',
2251
+ 'io_uring_prep_send_zc_fixed', 'io_uring_prep_sendmsg',
2252
+ 'io_uring_prep_sendmsg_zc', 'io_uring_prep_sendto',
2253
+ 'io_uring_prep_setxattr', 'io_uring_prep_shutdown',
2254
+ 'io_uring_prep_socket', 'io_uring_prep_socket_direct',
2255
+ 'io_uring_prep_socket_direct_alloc', 'io_uring_prep_splice',
2256
+ 'io_uring_prep_statx', 'io_uring_prep_symlink',
2257
+ 'io_uring_prep_symlinkat', 'io_uring_prep_sync_file_range',
2258
+ 'io_uring_prep_tee', 'io_uring_prep_timeout',
2259
+ 'io_uring_prep_timeout_remove', 'io_uring_prep_timeout_update',
2260
+ 'io_uring_prep_unlink', 'io_uring_prep_unlinkat',
1481
2261
  'io_uring_prep_write', 'io_uring_prep_write_fixed',
1482
- 'io_uring_prep_writev', 'io_uring_queue_exit',
1483
- 'io_uring_queue_init', 'io_uring_queue_init_params',
1484
- 'io_uring_queue_mmap', 'io_uring_register_buffers',
2262
+ 'io_uring_prep_writev', 'io_uring_prep_writev2',
2263
+ 'io_uring_queue_exit', 'io_uring_queue_init',
2264
+ 'io_uring_queue_init_mem', 'io_uring_queue_init_params',
2265
+ 'io_uring_queue_mmap', 'io_uring_recvmsg_cmsg_firsthdr',
2266
+ 'io_uring_recvmsg_cmsg_nexthdr', 'io_uring_recvmsg_name',
2267
+ 'io_uring_recvmsg_payload', 'io_uring_recvmsg_payload_length',
2268
+ 'io_uring_recvmsg_validate', 'io_uring_register',
2269
+ 'io_uring_register_buf_ring', 'io_uring_register_buffers',
2270
+ 'io_uring_register_buffers_sparse',
1485
2271
  'io_uring_register_buffers_tags',
1486
2272
  'io_uring_register_buffers_update_tag',
1487
2273
  'io_uring_register_eventfd', 'io_uring_register_eventfd_async',
1488
- 'io_uring_register_files', 'io_uring_register_files_tags',
2274
+ 'io_uring_register_file_alloc_range', 'io_uring_register_files',
2275
+ 'io_uring_register_files_sparse', 'io_uring_register_files_tags',
1489
2276
  'io_uring_register_files_update',
1490
2277
  'io_uring_register_files_update_tag',
1491
2278
  'io_uring_register_iowq_aff',
1492
2279
  'io_uring_register_iowq_max_workers',
1493
2280
  'io_uring_register_personality', 'io_uring_register_probe',
1494
- 'io_uring_register_restrictions', 'io_uring_ring_dontfork',
1495
- 'io_uring_sq_ready', 'io_uring_sq_space_left',
1496
- 'io_uring_sqe_set_data', 'io_uring_sqe_set_flags',
2281
+ 'io_uring_register_restrictions', 'io_uring_register_ring_fd',
2282
+ 'io_uring_register_sync_cancel', 'io_uring_ring_dontfork',
2283
+ 'io_uring_setup', 'io_uring_setup_buf_ring', 'io_uring_sq_ready',
2284
+ 'io_uring_sq_space_left', 'io_uring_sqe_set_data',
2285
+ 'io_uring_sqe_set_data64', 'io_uring_sqe_set_flags',
1497
2286
  'io_uring_sqring_wait', 'io_uring_submit',
1498
- 'io_uring_submit_and_wait', 'io_uring_unregister_buffers',
2287
+ 'io_uring_submit_and_get_events', 'io_uring_submit_and_wait',
2288
+ 'io_uring_submit_and_wait_timeout',
2289
+ 'io_uring_unregister_buf_ring', 'io_uring_unregister_buffers',
1499
2290
  'io_uring_unregister_eventfd', 'io_uring_unregister_files',
1500
2291
  'io_uring_unregister_iowq_aff', 'io_uring_unregister_personality',
1501
- 'io_uring_wait_cqe', 'io_uring_wait_cqe_nr',
1502
- 'io_uring_wait_cqe_timeout', 'io_uring_wait_cqes', 'mode_t',
1503
- 'off_t', 'size_t', 'socklen_t', 'ssize_t',
1504
- 'struct___kernel_timespec', 'struct_c__SA___sigset_t',
1505
- 'struct_c__SA_cpu_set_t', 'struct_epoll_event',
2292
+ 'io_uring_unregister_ring_fd', 'io_uring_wait_cqe',
2293
+ 'io_uring_wait_cqe_nr', 'io_uring_wait_cqe_timeout',
2294
+ 'io_uring_wait_cqes', 'mode_t', 'off_t', 'size_t', 'socklen_t',
2295
+ 'ssize_t', 'struct___kernel_timespec', 'struct_c__SA___sigset_t',
2296
+ 'struct_c__SA_cpu_set_t', 'struct_cmsghdr', 'struct_epoll_event',
1506
2297
  'struct_io_cqring_offsets', 'struct_io_sqring_offsets',
1507
- 'struct_io_uring', 'struct_io_uring_cq', 'struct_io_uring_cqe',
2298
+ 'struct_io_uring', 'struct_io_uring_buf',
2299
+ 'struct_io_uring_buf_reg', 'struct_io_uring_buf_ring',
2300
+ 'struct_io_uring_buf_ring_0_0', 'struct_io_uring_buf_status',
2301
+ 'struct_io_uring_cq', 'struct_io_uring_cqe',
2302
+ 'struct_io_uring_file_index_range',
1508
2303
  'struct_io_uring_files_update', 'struct_io_uring_getevents_arg',
1509
2304
  'struct_io_uring_params', 'struct_io_uring_probe',
1510
- 'struct_io_uring_probe_op', 'struct_io_uring_restriction',
1511
- 'struct_io_uring_rsrc_register', 'struct_io_uring_rsrc_update',
1512
- 'struct_io_uring_rsrc_update2', 'struct_io_uring_sq',
1513
- 'struct_io_uring_sqe', 'struct_iovec', 'struct_msghdr',
1514
- 'struct_open_how', 'struct_sockaddr', 'struct_statx',
2305
+ 'struct_io_uring_probe_op', 'struct_io_uring_recvmsg_out',
2306
+ 'struct_io_uring_restriction', 'struct_io_uring_rsrc_register',
2307
+ 'struct_io_uring_rsrc_update', 'struct_io_uring_rsrc_update2',
2308
+ 'struct_io_uring_sq', 'struct_io_uring_sqe',
2309
+ 'struct_io_uring_sqe_0_0', 'struct_io_uring_sqe_4_0',
2310
+ 'struct_io_uring_sqe_5_0', 'struct_io_uring_sync_cancel_reg',
2311
+ 'struct_iovec', 'struct_msghdr', 'struct_open_how',
2312
+ 'struct_sockaddr', 'struct_statx', 'union_io_uring_buf_ring_0',
1515
2313
  'union_io_uring_restriction_0', 'union_io_uring_sqe_0',
1516
2314
  'union_io_uring_sqe_1', 'union_io_uring_sqe_2',
1517
- 'union_io_uring_sqe_3', 'union_io_uring_sqe_4']
2315
+ 'union_io_uring_sqe_3', 'union_io_uring_sqe_4',
2316
+ 'union_io_uring_sqe_5']
1518
2317
  NR_io_uring_setup = 425
1519
2318
  NR_io_uring_enter = 426
1520
2319
  NR_io_uring_register = 427