diff --git a/.github/actions/setup-tinygrad/action.yml b/.github/actions/setup-tinygrad/action.yml index cc685d763d..b1064e059b 100644 --- a/.github/actions/setup-tinygrad/action.yml +++ b/.github/actions/setup-tinygrad/action.yml @@ -118,8 +118,8 @@ runs: shell: bash run: | wget https://repo.radeon.com/rocm/rocm.gpg.key -O - | gpg --dearmor | sudo tee /etc/apt/keyrings/rocm.gpg > /dev/null - sudo tee /etc/apt/sources.list.d/rocm.list <<'EOF' - deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/6.1.2 jammy main + sudo tee /etc/apt/sources.list.d/rocm.list <cq.khead;(cqe=(head!=io_uring_smp_load_acquire((ring)->cq.ktail)?&(ring)->cq.cqes[head&(*(ring)->cq.kring_mask)]:NULL));head++) +# 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++) +LIBURING_HAVE_DATA64 = True # macro +def UNUSED(x): # macro + return (void)(x) +# def IO_URING_CHECK_VERSION(major, minor): # macro +# return (major>IO_URING_VERSION_MAJOR or (major==IO_URING_VERSION_MAJOR and minor>=IO_URING_VERSION_MINOR)) class struct_io_uring_sq(Structure): pass @@ -185,16 +197,29 @@ struct_io_uring_sq._fields_ = [ ('sqe_tail', ctypes.c_uint32), ('ring_sz', ctypes.c_uint64), ('ring_ptr', ctypes.POINTER(None)), - ('pad', ctypes.c_uint32 * 4), + ('ring_mask', ctypes.c_uint32), + ('ring_entries', ctypes.c_uint32), + ('pad', ctypes.c_uint32 * 2), ] class union_io_uring_sqe_0(Union): pass +class struct_io_uring_sqe_0_0(Structure): + pass + +struct_io_uring_sqe_0_0._pack_ = 1 # source:False +struct_io_uring_sqe_0_0._fields_ = [ + ('cmd_op', ctypes.c_uint32), + ('__pad1', ctypes.c_uint32), +] + union_io_uring_sqe_0._pack_ = 1 # source:False +union_io_uring_sqe_0._anonymous_ = ('_0',) union_io_uring_sqe_0._fields_ = [ ('off', ctypes.c_uint64), ('addr2', ctypes.c_uint64), + ('_0', struct_io_uring_sqe_0_0), ] class union_io_uring_sqe_1(Union): @@ -227,6 +252,9 @@ union_io_uring_sqe_2._fields_ = [ ('rename_flags', ctypes.c_uint32), ('unlink_flags', ctypes.c_uint32), ('hardlink_flags', ctypes.c_uint32), + ('xattr_flags', ctypes.c_uint32), + ('msg_ring_flags', ctypes.c_uint32), + ('uring_cmd_flags', ctypes.c_uint32), ] class union_io_uring_sqe_3(Union): @@ -241,14 +269,45 @@ union_io_uring_sqe_3._fields_ = [ class union_io_uring_sqe_4(Union): pass +class struct_io_uring_sqe_4_0(Structure): + pass + +struct_io_uring_sqe_4_0._pack_ = 1 # source:False +struct_io_uring_sqe_4_0._fields_ = [ + ('addr_len', ctypes.c_uint16), + ('__pad3', ctypes.c_uint16 * 1), +] + union_io_uring_sqe_4._pack_ = 1 # source:False +union_io_uring_sqe_4._anonymous_ = ('_0',) union_io_uring_sqe_4._fields_ = [ ('splice_fd_in', ctypes.c_int32), ('file_index', ctypes.c_uint32), + ('_0', struct_io_uring_sqe_4_0), +] + +class union_io_uring_sqe_5(Union): + pass + +class struct_io_uring_sqe_5_0(Structure): + pass + +struct_io_uring_sqe_5_0._pack_ = 1 # source:False +struct_io_uring_sqe_5_0._fields_ = [ + ('addr3', ctypes.c_uint64), + ('__pad2', ctypes.c_uint64 * 1), +] + +union_io_uring_sqe_5._pack_ = 1 # source:False +union_io_uring_sqe_5._anonymous_ = ('_0',) +union_io_uring_sqe_5._fields_ = [ + ('_0', struct_io_uring_sqe_5_0), + ('cmd', ctypes.c_ubyte * 0), + ('PADDING_0', ctypes.c_ubyte * 16), ] struct_io_uring_sqe._pack_ = 1 # source:False -struct_io_uring_sqe._anonymous_ = ('_0', '_1', '_2', '_3', '_4',) +struct_io_uring_sqe._anonymous_ = ('_0', '_1', '_2', '_3', '_4', '_5',) struct_io_uring_sqe._fields_ = [ ('opcode', ctypes.c_ubyte), ('flags', ctypes.c_ubyte), @@ -262,7 +321,7 @@ struct_io_uring_sqe._fields_ = [ ('_3', union_io_uring_sqe_3), ('personality', ctypes.c_uint16), ('_4', union_io_uring_sqe_4), - ('__pad2', ctypes.c_uint64 * 2), + ('_5', union_io_uring_sqe_5), ] class struct_io_uring_cq(Structure): @@ -282,7 +341,9 @@ struct_io_uring_cq._fields_ = [ ('cqes', ctypes.POINTER(struct_io_uring_cqe)), ('ring_sz', ctypes.c_uint64), ('ring_ptr', ctypes.POINTER(None)), - ('pad', ctypes.c_uint32 * 4), + ('ring_mask', ctypes.c_uint32), + ('ring_entries', ctypes.c_uint32), + ('pad', ctypes.c_uint32 * 2), ] struct_io_uring_cqe._pack_ = 1 # source:False @@ -290,6 +351,7 @@ struct_io_uring_cqe._fields_ = [ ('user_data', ctypes.c_uint64), ('res', ctypes.c_int32), ('flags', ctypes.c_uint32), + ('big_cqe', ctypes.c_uint64 * 0), ] class struct_io_uring(Structure): @@ -302,7 +364,10 @@ struct_io_uring._fields_ = [ ('flags', ctypes.c_uint32), ('ring_fd', ctypes.c_int32), ('features', ctypes.c_uint32), - ('pad', ctypes.c_uint32 * 3), + ('enter_ring_fd', ctypes.c_int32), + ('int_flags', ctypes.c_ubyte), + ('pad', ctypes.c_ubyte * 3), + ('pad2', ctypes.c_uint32), ] class struct_io_uring_probe(Structure): @@ -368,7 +433,7 @@ struct_io_sqring_offsets._fields_ = [ ('dropped', ctypes.c_uint32), ('array', ctypes.c_uint32), ('resv1', ctypes.c_uint32), - ('resv2', ctypes.c_uint64), + ('user_addr', ctypes.c_uint64), ] class struct_io_cqring_offsets(Structure): @@ -384,7 +449,7 @@ struct_io_cqring_offsets._fields_ = [ ('cqes', ctypes.c_uint32), ('flags', ctypes.c_uint32), ('resv1', ctypes.c_uint32), - ('resv2', ctypes.c_uint64), + ('user_addr', ctypes.c_uint64), ] struct_io_uring_params._pack_ = 1 # source:False @@ -401,6 +466,13 @@ struct_io_uring_params._fields_ = [ ('cq_off', struct_io_cqring_offsets), ] +size_t = ctypes.c_uint64 +try: + io_uring_queue_init_mem = _libraries['FIXME_STUB'].io_uring_queue_init_mem + io_uring_queue_init_mem.restype = ctypes.c_int32 + 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] +except AttributeError: + pass try: io_uring_queue_init_params = _libraries['FIXME_STUB'].io_uring_queue_init_params io_uring_queue_init_params.restype = ctypes.c_int32 @@ -479,9 +551,9 @@ try: except AttributeError: pass try: - io_uring_get_sqe = _libraries['FIXME_STUB'].io_uring_get_sqe - io_uring_get_sqe.restype = ctypes.POINTER(struct_io_uring_sqe) - io_uring_get_sqe.argtypes = [ctypes.POINTER(struct_io_uring)] + io_uring_submit_and_wait_timeout = _libraries['FIXME_STUB'].io_uring_submit_and_wait_timeout + io_uring_submit_and_wait_timeout.restype = ctypes.c_int32 + 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)] except AttributeError: pass class struct_iovec(Structure): @@ -505,6 +577,12 @@ try: io_uring_register_buffers_tags.argtypes = [ctypes.POINTER(struct_io_uring), ctypes.POINTER(struct_iovec), ctypes.POINTER(ctypes.c_uint64), ctypes.c_uint32] except AttributeError: pass +try: + io_uring_register_buffers_sparse = _libraries['FIXME_STUB'].io_uring_register_buffers_sparse + io_uring_register_buffers_sparse.restype = ctypes.c_int32 + io_uring_register_buffers_sparse.argtypes = [ctypes.POINTER(struct_io_uring), ctypes.c_uint32] +except AttributeError: + pass try: io_uring_register_buffers_update_tag = _libraries['FIXME_STUB'].io_uring_register_buffers_update_tag io_uring_register_buffers_update_tag.restype = ctypes.c_int32 @@ -529,6 +607,12 @@ try: io_uring_register_files_tags.argtypes = [ctypes.POINTER(struct_io_uring), ctypes.POINTER(ctypes.c_int32), ctypes.POINTER(ctypes.c_uint64), ctypes.c_uint32] except AttributeError: pass +try: + io_uring_register_files_sparse = _libraries['FIXME_STUB'].io_uring_register_files_sparse + io_uring_register_files_sparse.restype = ctypes.c_int32 + io_uring_register_files_sparse.argtypes = [ctypes.POINTER(struct_io_uring), ctypes.c_uint32] +except AttributeError: + pass try: io_uring_register_files_update_tag = _libraries['FIXME_STUB'].io_uring_register_files_update_tag io_uring_register_files_update_tag.restype = ctypes.c_int32 @@ -623,7 +707,6 @@ try: __io_uring_sqring_wait.argtypes = [ctypes.POINTER(struct_io_uring)] except AttributeError: pass -size_t = ctypes.c_uint64 class struct_c__SA_cpu_set_t(Structure): pass @@ -650,6 +733,162 @@ try: io_uring_register_iowq_max_workers.argtypes = [ctypes.POINTER(struct_io_uring), ctypes.POINTER(ctypes.c_uint32)] except AttributeError: pass +try: + io_uring_register_ring_fd = _libraries['FIXME_STUB'].io_uring_register_ring_fd + io_uring_register_ring_fd.restype = ctypes.c_int32 + io_uring_register_ring_fd.argtypes = [ctypes.POINTER(struct_io_uring)] +except AttributeError: + pass +try: + io_uring_unregister_ring_fd = _libraries['FIXME_STUB'].io_uring_unregister_ring_fd + io_uring_unregister_ring_fd.restype = ctypes.c_int32 + io_uring_unregister_ring_fd.argtypes = [ctypes.POINTER(struct_io_uring)] +except AttributeError: + pass +try: + io_uring_close_ring_fd = _libraries['FIXME_STUB'].io_uring_close_ring_fd + io_uring_close_ring_fd.restype = ctypes.c_int32 + io_uring_close_ring_fd.argtypes = [ctypes.POINTER(struct_io_uring)] +except AttributeError: + pass +class struct_io_uring_buf_reg(Structure): + pass + +struct_io_uring_buf_reg._pack_ = 1 # source:False +struct_io_uring_buf_reg._fields_ = [ + ('ring_addr', ctypes.c_uint64), + ('ring_entries', ctypes.c_uint32), + ('bgid', ctypes.c_uint16), + ('flags', ctypes.c_uint16), + ('resv', ctypes.c_uint64 * 3), +] + +try: + io_uring_register_buf_ring = _libraries['FIXME_STUB'].io_uring_register_buf_ring + io_uring_register_buf_ring.restype = ctypes.c_int32 + io_uring_register_buf_ring.argtypes = [ctypes.POINTER(struct_io_uring), ctypes.POINTER(struct_io_uring_buf_reg), ctypes.c_uint32] +except AttributeError: + pass +try: + io_uring_unregister_buf_ring = _libraries['FIXME_STUB'].io_uring_unregister_buf_ring + io_uring_unregister_buf_ring.restype = ctypes.c_int32 + io_uring_unregister_buf_ring.argtypes = [ctypes.POINTER(struct_io_uring), ctypes.c_int32] +except AttributeError: + pass +class struct_io_uring_sync_cancel_reg(Structure): + pass + +struct_io_uring_sync_cancel_reg._pack_ = 1 # source:False +struct_io_uring_sync_cancel_reg._fields_ = [ + ('addr', ctypes.c_uint64), + ('fd', ctypes.c_int32), + ('flags', ctypes.c_uint32), + ('timeout', struct___kernel_timespec), + ('pad', ctypes.c_uint64 * 4), +] + +try: + io_uring_register_sync_cancel = _libraries['FIXME_STUB'].io_uring_register_sync_cancel + io_uring_register_sync_cancel.restype = ctypes.c_int32 + io_uring_register_sync_cancel.argtypes = [ctypes.POINTER(struct_io_uring), ctypes.POINTER(struct_io_uring_sync_cancel_reg)] +except AttributeError: + pass +try: + io_uring_register_file_alloc_range = _libraries['FIXME_STUB'].io_uring_register_file_alloc_range + io_uring_register_file_alloc_range.restype = ctypes.c_int32 + io_uring_register_file_alloc_range.argtypes = [ctypes.POINTER(struct_io_uring), ctypes.c_uint32, ctypes.c_uint32] +except AttributeError: + pass +try: + io_uring_get_events = _libraries['FIXME_STUB'].io_uring_get_events + io_uring_get_events.restype = ctypes.c_int32 + io_uring_get_events.argtypes = [ctypes.POINTER(struct_io_uring)] +except AttributeError: + pass +try: + io_uring_submit_and_get_events = _libraries['FIXME_STUB'].io_uring_submit_and_get_events + io_uring_submit_and_get_events.restype = ctypes.c_int32 + io_uring_submit_and_get_events.argtypes = [ctypes.POINTER(struct_io_uring)] +except AttributeError: + pass +try: + io_uring_enter = _libraries['FIXME_STUB'].io_uring_enter + io_uring_enter.restype = ctypes.c_int32 + io_uring_enter.argtypes = [ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32, ctypes.c_uint32, ctypes.POINTER(struct_c__SA___sigset_t)] +except AttributeError: + pass +try: + io_uring_enter2 = _libraries['FIXME_STUB'].io_uring_enter2 + io_uring_enter2.restype = ctypes.c_int32 + 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] +except AttributeError: + pass +try: + io_uring_setup = _libraries['FIXME_STUB'].io_uring_setup + io_uring_setup.restype = ctypes.c_int32 + io_uring_setup.argtypes = [ctypes.c_uint32, ctypes.POINTER(struct_io_uring_params)] +except AttributeError: + pass +try: + io_uring_register = _libraries['FIXME_STUB'].io_uring_register + io_uring_register.restype = ctypes.c_int32 + io_uring_register.argtypes = [ctypes.c_uint32, ctypes.c_uint32, ctypes.POINTER(None), ctypes.c_uint32] +except AttributeError: + pass +class struct_io_uring_buf_ring(Structure): + pass + +class union_io_uring_buf_ring_0(Union): + pass + +class struct_io_uring_buf_ring_0_0(Structure): + pass + +struct_io_uring_buf_ring_0_0._pack_ = 1 # source:False +struct_io_uring_buf_ring_0_0._fields_ = [ + ('resv1', ctypes.c_uint64), + ('resv2', ctypes.c_uint32), + ('resv3', ctypes.c_uint16), + ('tail', ctypes.c_uint16), +] + +class struct_io_uring_buf(Structure): + pass + +struct_io_uring_buf._pack_ = 1 # source:False +struct_io_uring_buf._fields_ = [ + ('addr', ctypes.c_uint64), + ('len', ctypes.c_uint32), + ('bid', ctypes.c_uint16), + ('resv', ctypes.c_uint16), +] + +union_io_uring_buf_ring_0._pack_ = 1 # source:False +union_io_uring_buf_ring_0._anonymous_ = ('_0',) +union_io_uring_buf_ring_0._fields_ = [ + ('_0', struct_io_uring_buf_ring_0_0), + ('bufs', struct_io_uring_buf * 0), + ('PADDING_0', ctypes.c_ubyte * 16), +] + +struct_io_uring_buf_ring._pack_ = 1 # source:False +struct_io_uring_buf_ring._anonymous_ = ('_0',) +struct_io_uring_buf_ring._fields_ = [ + ('_0', union_io_uring_buf_ring_0), +] + +try: + io_uring_setup_buf_ring = _libraries['FIXME_STUB'].io_uring_setup_buf_ring + io_uring_setup_buf_ring.restype = ctypes.POINTER(struct_io_uring_buf_ring) + 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)] +except AttributeError: + pass +try: + io_uring_free_buf_ring = _libraries['FIXME_STUB'].io_uring_free_buf_ring + io_uring_free_buf_ring.restype = ctypes.c_int32 + io_uring_free_buf_ring.argtypes = [ctypes.POINTER(struct_io_uring), ctypes.POINTER(struct_io_uring_buf_ring), ctypes.c_uint32, ctypes.c_int32] +except AttributeError: + pass try: __io_uring_get_cqe = _libraries['FIXME_STUB'].__io_uring_get_cqe __io_uring_get_cqe.restype = ctypes.c_int32 @@ -680,6 +919,20 @@ try: io_uring_cqe_get_data.argtypes = [ctypes.POINTER(struct_io_uring_cqe)] except AttributeError: pass +__u64 = ctypes.c_uint64 +# LIBURING_UDATA_TIMEOUT = ((__u64)-1) # macro +try: + io_uring_sqe_set_data64 = _libraries['FIXME_STUB'].io_uring_sqe_set_data64 + io_uring_sqe_set_data64.restype = None + io_uring_sqe_set_data64.argtypes = [ctypes.POINTER(struct_io_uring_sqe), __u64] +except AttributeError: + pass +try: + io_uring_cqe_get_data64 = _libraries['FIXME_STUB'].io_uring_cqe_get_data64 + io_uring_cqe_get_data64.restype = __u64 + io_uring_cqe_get_data64.argtypes = [ctypes.POINTER(struct_io_uring_cqe)] +except AttributeError: + pass try: io_uring_sqe_set_flags = _libraries['FIXME_STUB'].io_uring_sqe_set_flags io_uring_sqe_set_flags.restype = None @@ -692,8 +945,6 @@ try: __io_uring_set_target_fixed_file.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_uint32] except AttributeError: pass -__u64 = ctypes.c_uint64 -# LIBURING_UDATA_TIMEOUT = ((__u64)-1) # macro try: io_uring_prep_rw = _libraries['FIXME_STUB'].io_uring_prep_rw io_uring_prep_rw.restype = None @@ -719,6 +970,12 @@ try: io_uring_prep_readv.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.POINTER(struct_iovec), ctypes.c_uint32, __u64] except AttributeError: pass +try: + io_uring_prep_readv2 = _libraries['FIXME_STUB'].io_uring_prep_readv2 + io_uring_prep_readv2.restype = None + 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] +except AttributeError: + pass try: io_uring_prep_read_fixed = _libraries['FIXME_STUB'].io_uring_prep_read_fixed io_uring_prep_read_fixed.restype = None @@ -731,6 +988,12 @@ try: io_uring_prep_writev.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.POINTER(struct_iovec), ctypes.c_uint32, __u64] except AttributeError: pass +try: + io_uring_prep_writev2 = _libraries['FIXME_STUB'].io_uring_prep_writev2 + io_uring_prep_writev2.restype = None + 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] +except AttributeError: + pass try: io_uring_prep_write_fixed = _libraries['FIXME_STUB'].io_uring_prep_write_fixed io_uring_prep_write_fixed.restype = None @@ -759,6 +1022,12 @@ try: io_uring_prep_recvmsg.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.POINTER(struct_msghdr), ctypes.c_uint32] except AttributeError: pass +try: + io_uring_prep_recvmsg_multishot = _libraries['FIXME_STUB'].io_uring_prep_recvmsg_multishot + io_uring_prep_recvmsg_multishot.restype = None + io_uring_prep_recvmsg_multishot.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.POINTER(struct_msghdr), ctypes.c_uint32] +except AttributeError: + pass try: io_uring_prep_sendmsg = _libraries['FIXME_STUB'].io_uring_prep_sendmsg io_uring_prep_sendmsg.restype = None @@ -786,13 +1055,13 @@ except AttributeError: try: io_uring_prep_poll_remove = _libraries['FIXME_STUB'].io_uring_prep_poll_remove io_uring_prep_poll_remove.restype = None - io_uring_prep_poll_remove.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.POINTER(None)] + io_uring_prep_poll_remove.argtypes = [ctypes.POINTER(struct_io_uring_sqe), __u64] except AttributeError: pass try: io_uring_prep_poll_update = _libraries['FIXME_STUB'].io_uring_prep_poll_update io_uring_prep_poll_update.restype = None - io_uring_prep_poll_update.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.POINTER(None), ctypes.POINTER(None), ctypes.c_uint32, ctypes.c_uint32] + io_uring_prep_poll_update.argtypes = [ctypes.POINTER(struct_io_uring_sqe), __u64, __u64, ctypes.c_uint32, ctypes.c_uint32] except AttributeError: pass try: @@ -846,12 +1115,36 @@ try: 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] except AttributeError: pass +try: + io_uring_prep_multishot_accept = _libraries['FIXME_STUB'].io_uring_prep_multishot_accept + io_uring_prep_multishot_accept.restype = None + 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] +except AttributeError: + pass +try: + io_uring_prep_multishot_accept_direct = _libraries['FIXME_STUB'].io_uring_prep_multishot_accept_direct + io_uring_prep_multishot_accept_direct.restype = None + 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] +except AttributeError: + pass +try: + io_uring_prep_cancel64 = _libraries['FIXME_STUB'].io_uring_prep_cancel64 + io_uring_prep_cancel64.restype = None + io_uring_prep_cancel64.argtypes = [ctypes.POINTER(struct_io_uring_sqe), __u64, ctypes.c_int32] +except AttributeError: + pass try: io_uring_prep_cancel = _libraries['FIXME_STUB'].io_uring_prep_cancel io_uring_prep_cancel.restype = None io_uring_prep_cancel.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.POINTER(None), ctypes.c_int32] except AttributeError: pass +try: + io_uring_prep_cancel_fd = _libraries['FIXME_STUB'].io_uring_prep_cancel_fd + io_uring_prep_cancel_fd.restype = None + io_uring_prep_cancel_fd.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.c_uint32] +except AttributeError: + pass try: io_uring_prep_link_timeout = _libraries['FIXME_STUB'].io_uring_prep_link_timeout io_uring_prep_link_timeout.restype = None @@ -871,11 +1164,10 @@ try: io_uring_prep_files_update.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.POINTER(ctypes.c_int32), ctypes.c_uint32, ctypes.c_int32] except AttributeError: pass -off_t = ctypes.c_int64 try: io_uring_prep_fallocate = _libraries['FIXME_STUB'].io_uring_prep_fallocate io_uring_prep_fallocate.restype = None - io_uring_prep_fallocate.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.c_int32, off_t, off_t] + io_uring_prep_fallocate.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.c_int32, __u64, __u64] except AttributeError: pass mode_t = ctypes.c_uint32 @@ -897,6 +1189,12 @@ try: io_uring_prep_close.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32] except AttributeError: pass +try: + io_uring_prep_close_direct = _libraries['FIXME_STUB'].io_uring_prep_close_direct + io_uring_prep_close_direct.restype = None + io_uring_prep_close_direct.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_uint32] +except AttributeError: + pass try: io_uring_prep_read = _libraries['FIXME_STUB'].io_uring_prep_read io_uring_prep_read.restype = None @@ -918,6 +1216,7 @@ try: 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)] except AttributeError: pass +off_t = ctypes.c_int64 try: io_uring_prep_fadvise = _libraries['FIXME_STUB'].io_uring_prep_fadvise io_uring_prep_fadvise.restype = None @@ -936,12 +1235,107 @@ try: io_uring_prep_send.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.POINTER(None), size_t, ctypes.c_int32] except AttributeError: pass +__u16 = ctypes.c_uint16 +try: + io_uring_prep_send_set_addr = _libraries['FIXME_STUB'].io_uring_prep_send_set_addr + io_uring_prep_send_set_addr.restype = None + io_uring_prep_send_set_addr.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.POINTER(struct_sockaddr), __u16] +except AttributeError: + pass +try: + io_uring_prep_sendto = _libraries['FIXME_STUB'].io_uring_prep_sendto + io_uring_prep_sendto.restype = None + 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] +except AttributeError: + pass +try: + io_uring_prep_send_zc = _libraries['FIXME_STUB'].io_uring_prep_send_zc + io_uring_prep_send_zc.restype = None + 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] +except AttributeError: + pass +try: + io_uring_prep_send_zc_fixed = _libraries['FIXME_STUB'].io_uring_prep_send_zc_fixed + io_uring_prep_send_zc_fixed.restype = None + 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] +except AttributeError: + pass +try: + io_uring_prep_sendmsg_zc = _libraries['FIXME_STUB'].io_uring_prep_sendmsg_zc + io_uring_prep_sendmsg_zc.restype = None + io_uring_prep_sendmsg_zc.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.POINTER(struct_msghdr), ctypes.c_uint32] +except AttributeError: + pass try: io_uring_prep_recv = _libraries['FIXME_STUB'].io_uring_prep_recv io_uring_prep_recv.restype = None io_uring_prep_recv.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.POINTER(None), size_t, ctypes.c_int32] except AttributeError: pass +try: + io_uring_prep_recv_multishot = _libraries['FIXME_STUB'].io_uring_prep_recv_multishot + io_uring_prep_recv_multishot.restype = None + io_uring_prep_recv_multishot.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.POINTER(None), size_t, ctypes.c_int32] +except AttributeError: + pass +class struct_io_uring_recvmsg_out(Structure): + pass + +struct_io_uring_recvmsg_out._pack_ = 1 # source:False +struct_io_uring_recvmsg_out._fields_ = [ + ('namelen', ctypes.c_uint32), + ('controllen', ctypes.c_uint32), + ('payloadlen', ctypes.c_uint32), + ('flags', ctypes.c_uint32), +] + +try: + io_uring_recvmsg_validate = _libraries['FIXME_STUB'].io_uring_recvmsg_validate + io_uring_recvmsg_validate.restype = ctypes.POINTER(struct_io_uring_recvmsg_out) + io_uring_recvmsg_validate.argtypes = [ctypes.POINTER(None), ctypes.c_int32, ctypes.POINTER(struct_msghdr)] +except AttributeError: + pass +try: + io_uring_recvmsg_name = _libraries['FIXME_STUB'].io_uring_recvmsg_name + io_uring_recvmsg_name.restype = ctypes.POINTER(None) + io_uring_recvmsg_name.argtypes = [ctypes.POINTER(struct_io_uring_recvmsg_out)] +except AttributeError: + pass +class struct_cmsghdr(Structure): + pass + +struct_cmsghdr._pack_ = 1 # source:False +struct_cmsghdr._fields_ = [ + ('cmsg_len', ctypes.c_uint64), + ('cmsg_level', ctypes.c_int32), + ('cmsg_type', ctypes.c_int32), + ('__cmsg_data', ctypes.c_ubyte * 0), +] + +try: + io_uring_recvmsg_cmsg_firsthdr = _libraries['FIXME_STUB'].io_uring_recvmsg_cmsg_firsthdr + io_uring_recvmsg_cmsg_firsthdr.restype = ctypes.POINTER(struct_cmsghdr) + io_uring_recvmsg_cmsg_firsthdr.argtypes = [ctypes.POINTER(struct_io_uring_recvmsg_out), ctypes.POINTER(struct_msghdr)] +except AttributeError: + pass +try: + io_uring_recvmsg_cmsg_nexthdr = _libraries['FIXME_STUB'].io_uring_recvmsg_cmsg_nexthdr + io_uring_recvmsg_cmsg_nexthdr.restype = ctypes.POINTER(struct_cmsghdr) + io_uring_recvmsg_cmsg_nexthdr.argtypes = [ctypes.POINTER(struct_io_uring_recvmsg_out), ctypes.POINTER(struct_msghdr), ctypes.POINTER(struct_cmsghdr)] +except AttributeError: + pass +try: + io_uring_recvmsg_payload = _libraries['FIXME_STUB'].io_uring_recvmsg_payload + io_uring_recvmsg_payload.restype = ctypes.POINTER(None) + io_uring_recvmsg_payload.argtypes = [ctypes.POINTER(struct_io_uring_recvmsg_out), ctypes.POINTER(struct_msghdr)] +except AttributeError: + pass +try: + io_uring_recvmsg_payload_length = _libraries['FIXME_STUB'].io_uring_recvmsg_payload_length + io_uring_recvmsg_payload_length.restype = ctypes.c_uint32 + io_uring_recvmsg_payload_length.argtypes = [ctypes.POINTER(struct_io_uring_recvmsg_out), ctypes.c_int32, ctypes.POINTER(struct_msghdr)] +except AttributeError: + pass class struct_open_how(Structure): pass @@ -997,10 +1391,22 @@ try: io_uring_prep_unlinkat.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.POINTER(ctypes.c_char), ctypes.c_int32] except AttributeError: pass +try: + io_uring_prep_unlink = _libraries['FIXME_STUB'].io_uring_prep_unlink + io_uring_prep_unlink.restype = None + io_uring_prep_unlink.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.POINTER(ctypes.c_char), ctypes.c_int32] +except AttributeError: + pass try: io_uring_prep_renameat = _libraries['FIXME_STUB'].io_uring_prep_renameat io_uring_prep_renameat.restype = None - 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] + 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] +except AttributeError: + pass +try: + io_uring_prep_rename = _libraries['FIXME_STUB'].io_uring_prep_rename + io_uring_prep_rename.restype = None + io_uring_prep_rename.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.POINTER(ctypes.c_char), ctypes.POINTER(ctypes.c_char)] except AttributeError: pass try: @@ -1015,18 +1421,108 @@ try: io_uring_prep_mkdirat.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.POINTER(ctypes.c_char), mode_t] except AttributeError: pass +try: + io_uring_prep_mkdir = _libraries['FIXME_STUB'].io_uring_prep_mkdir + io_uring_prep_mkdir.restype = None + io_uring_prep_mkdir.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.POINTER(ctypes.c_char), mode_t] +except AttributeError: + pass try: io_uring_prep_symlinkat = _libraries['FIXME_STUB'].io_uring_prep_symlinkat io_uring_prep_symlinkat.restype = None io_uring_prep_symlinkat.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.POINTER(ctypes.c_char), ctypes.c_int32, ctypes.POINTER(ctypes.c_char)] except AttributeError: pass +try: + io_uring_prep_symlink = _libraries['FIXME_STUB'].io_uring_prep_symlink + io_uring_prep_symlink.restype = None + io_uring_prep_symlink.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.POINTER(ctypes.c_char), ctypes.POINTER(ctypes.c_char)] +except AttributeError: + pass try: io_uring_prep_linkat = _libraries['FIXME_STUB'].io_uring_prep_linkat io_uring_prep_linkat.restype = None 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] except AttributeError: pass +try: + io_uring_prep_link = _libraries['FIXME_STUB'].io_uring_prep_link + io_uring_prep_link.restype = None + io_uring_prep_link.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.POINTER(ctypes.c_char), ctypes.POINTER(ctypes.c_char), ctypes.c_int32] +except AttributeError: + pass +try: + io_uring_prep_msg_ring_cqe_flags = _libraries['FIXME_STUB'].io_uring_prep_msg_ring_cqe_flags + io_uring_prep_msg_ring_cqe_flags.restype = None + 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] +except AttributeError: + pass +try: + io_uring_prep_msg_ring = _libraries['FIXME_STUB'].io_uring_prep_msg_ring + io_uring_prep_msg_ring.restype = None + io_uring_prep_msg_ring.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.c_uint32, __u64, ctypes.c_uint32] +except AttributeError: + pass +try: + io_uring_prep_msg_ring_fd = _libraries['FIXME_STUB'].io_uring_prep_msg_ring_fd + io_uring_prep_msg_ring_fd.restype = None + 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] +except AttributeError: + pass +try: + io_uring_prep_msg_ring_fd_alloc = _libraries['FIXME_STUB'].io_uring_prep_msg_ring_fd_alloc + io_uring_prep_msg_ring_fd_alloc.restype = None + io_uring_prep_msg_ring_fd_alloc.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.c_int32, __u64, ctypes.c_uint32] +except AttributeError: + pass +try: + io_uring_prep_getxattr = _libraries['FIXME_STUB'].io_uring_prep_getxattr + io_uring_prep_getxattr.restype = None + 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] +except AttributeError: + pass +try: + io_uring_prep_setxattr = _libraries['FIXME_STUB'].io_uring_prep_setxattr + io_uring_prep_setxattr.restype = None + 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] +except AttributeError: + pass +try: + io_uring_prep_fgetxattr = _libraries['FIXME_STUB'].io_uring_prep_fgetxattr + io_uring_prep_fgetxattr.restype = None + 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] +except AttributeError: + pass +try: + io_uring_prep_fsetxattr = _libraries['FIXME_STUB'].io_uring_prep_fsetxattr + io_uring_prep_fsetxattr.restype = None + 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] +except AttributeError: + pass +try: + io_uring_prep_socket = _libraries['FIXME_STUB'].io_uring_prep_socket + io_uring_prep_socket.restype = None + io_uring_prep_socket.argtypes = [ctypes.POINTER(struct_io_uring_sqe), ctypes.c_int32, ctypes.c_int32, ctypes.c_int32, ctypes.c_uint32] +except AttributeError: + pass +try: + io_uring_prep_socket_direct = _libraries['FIXME_STUB'].io_uring_prep_socket_direct + io_uring_prep_socket_direct.restype = None + 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] +except AttributeError: + pass +try: + io_uring_prep_socket_direct_alloc = _libraries['FIXME_STUB'].io_uring_prep_socket_direct_alloc + io_uring_prep_socket_direct_alloc.restype = None + 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] +except AttributeError: + pass +try: + io_uring_prep_cmd_sock = _libraries['FIXME_STUB'].io_uring_prep_cmd_sock + io_uring_prep_cmd_sock.restype = None + 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] +except AttributeError: + pass try: io_uring_sq_ready = _libraries['FIXME_STUB'].io_uring_sq_ready io_uring_sq_ready.restype = ctypes.c_uint32 @@ -1051,6 +1547,12 @@ try: io_uring_cq_ready.argtypes = [ctypes.POINTER(struct_io_uring)] except AttributeError: pass +try: + io_uring_cq_has_overflow = _libraries['FIXME_STUB'].io_uring_cq_has_overflow + io_uring_cq_has_overflow.restype = ctypes.c_bool + io_uring_cq_has_overflow.argtypes = [ctypes.POINTER(struct_io_uring)] +except AttributeError: + pass try: io_uring_cq_eventfd_enabled = _libraries['FIXME_STUB'].io_uring_cq_eventfd_enabled io_uring_cq_eventfd_enabled.restype = ctypes.c_bool @@ -1069,6 +1571,12 @@ try: io_uring_wait_cqe_nr.argtypes = [ctypes.POINTER(struct_io_uring), ctypes.POINTER(ctypes.POINTER(struct_io_uring_cqe)), ctypes.c_uint32] except AttributeError: pass +try: + __io_uring_peek_cqe = _libraries['FIXME_STUB'].__io_uring_peek_cqe + __io_uring_peek_cqe.restype = ctypes.c_int32 + __io_uring_peek_cqe.argtypes = [ctypes.POINTER(struct_io_uring), ctypes.POINTER(ctypes.POINTER(struct_io_uring_cqe)), ctypes.POINTER(ctypes.c_uint32)] +except AttributeError: + pass try: io_uring_peek_cqe = _libraries['FIXME_STUB'].io_uring_peek_cqe io_uring_peek_cqe.restype = ctypes.c_int32 @@ -1081,6 +1589,55 @@ try: io_uring_wait_cqe.argtypes = [ctypes.POINTER(struct_io_uring), ctypes.POINTER(ctypes.POINTER(struct_io_uring_cqe))] except AttributeError: pass +try: + _io_uring_get_sqe = _libraries['FIXME_STUB']._io_uring_get_sqe + _io_uring_get_sqe.restype = ctypes.POINTER(struct_io_uring_sqe) + _io_uring_get_sqe.argtypes = [ctypes.POINTER(struct_io_uring)] +except AttributeError: + pass +__u32 = ctypes.c_uint32 +try: + io_uring_buf_ring_mask = _libraries['FIXME_STUB'].io_uring_buf_ring_mask + io_uring_buf_ring_mask.restype = ctypes.c_int32 + io_uring_buf_ring_mask.argtypes = [__u32] +except AttributeError: + pass +try: + io_uring_buf_ring_init = _libraries['FIXME_STUB'].io_uring_buf_ring_init + io_uring_buf_ring_init.restype = None + io_uring_buf_ring_init.argtypes = [ctypes.POINTER(struct_io_uring_buf_ring)] +except AttributeError: + pass +try: + io_uring_buf_ring_add = _libraries['FIXME_STUB'].io_uring_buf_ring_add + io_uring_buf_ring_add.restype = None + 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] +except AttributeError: + pass +try: + io_uring_buf_ring_advance = _libraries['FIXME_STUB'].io_uring_buf_ring_advance + io_uring_buf_ring_advance.restype = None + io_uring_buf_ring_advance.argtypes = [ctypes.POINTER(struct_io_uring_buf_ring), ctypes.c_int32] +except AttributeError: + pass +try: + __io_uring_buf_ring_cq_advance = _libraries['FIXME_STUB'].__io_uring_buf_ring_cq_advance + __io_uring_buf_ring_cq_advance.restype = None + __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] +except AttributeError: + pass +try: + io_uring_buf_ring_cq_advance = _libraries['FIXME_STUB'].io_uring_buf_ring_cq_advance + io_uring_buf_ring_cq_advance.restype = None + io_uring_buf_ring_cq_advance.argtypes = [ctypes.POINTER(struct_io_uring), ctypes.POINTER(struct_io_uring_buf_ring), ctypes.c_int32] +except AttributeError: + pass +try: + io_uring_get_sqe = _libraries['FIXME_STUB'].io_uring_get_sqe + io_uring_get_sqe.restype = ctypes.POINTER(struct_io_uring_sqe) + io_uring_get_sqe.argtypes = [ctypes.POINTER(struct_io_uring)] +except AttributeError: + pass ssize_t = ctypes.c_int64 try: io_uring_mlock_size = _libraries['FIXME_STUB'].io_uring_mlock_size @@ -1094,7 +1651,26 @@ try: io_uring_mlock_size_params.argtypes = [ctypes.c_uint32, ctypes.POINTER(struct_io_uring_params)] except AttributeError: pass +try: + io_uring_major_version = _libraries['FIXME_STUB'].io_uring_major_version + io_uring_major_version.restype = ctypes.c_int32 + io_uring_major_version.argtypes = [] +except AttributeError: + pass +try: + io_uring_minor_version = _libraries['FIXME_STUB'].io_uring_minor_version + io_uring_minor_version.restype = ctypes.c_int32 + io_uring_minor_version.argtypes = [] +except AttributeError: + pass +try: + io_uring_check_version = _libraries['FIXME_STUB'].io_uring_check_version + io_uring_check_version.restype = ctypes.c_bool + io_uring_check_version.argtypes = [ctypes.c_int32, ctypes.c_int32] +except AttributeError: + pass LINUX_IO_URING_H = True # macro +IORING_FILE_INDEX_ALLOC = (~0) # macro IORING_SETUP_IOPOLL = (1<<0) # macro IORING_SETUP_SQPOLL = (1<<1) # macro IORING_SETUP_SQ_AFF = (1<<2) # macro @@ -1102,30 +1678,69 @@ IORING_SETUP_CQSIZE = (1<<3) # macro IORING_SETUP_CLAMP = (1<<4) # macro IORING_SETUP_ATTACH_WQ = (1<<5) # macro IORING_SETUP_R_DISABLED = (1<<6) # macro +IORING_SETUP_SUBMIT_ALL = (1<<7) # macro +IORING_SETUP_COOP_TASKRUN = (1<<8) # macro +IORING_SETUP_TASKRUN_FLAG = (1<<9) # macro +IORING_SETUP_SQE128 = (1<<10) # macro +IORING_SETUP_CQE32 = (1<<11) # macro +# def io_uring_cqe_shift(ring): # macro +# return (!!((ring)->flags&IORING_SETUP_CQE32)) +IORING_SETUP_SINGLE_ISSUER = (1<<12) # macro +IORING_SETUP_DEFER_TASKRUN = (1<<13) # macro +IORING_SETUP_NO_MMAP = (1<<14) # macro +IORING_SETUP_REGISTERED_FD_ONLY = (1<<15) # macro +IORING_SETUP_NO_SQARRAY = (1<<16) # macro +IORING_URING_CMD_FIXED = (1<<0) # macro +IORING_URING_CMD_MASK = (1<<0) # macro IORING_FSYNC_DATASYNC = (1<<0) # macro IORING_TIMEOUT_ABS = (1<<0) # macro IORING_TIMEOUT_UPDATE = (1<<1) # macro IORING_TIMEOUT_BOOTTIME = (1<<2) # macro IORING_TIMEOUT_REALTIME = (1<<3) # macro IORING_LINK_TIMEOUT_UPDATE = (1<<4) # macro +IORING_TIMEOUT_ETIME_SUCCESS = (1<<5) # macro +IORING_TIMEOUT_MULTISHOT = (1<<6) # macro IORING_TIMEOUT_CLOCK_MASK = ((1<<2)|(1<<3)) # macro IORING_TIMEOUT_UPDATE_MASK = ((1<<1)|(1<<4)) # macro SPLICE_F_FD_IN_FIXED = (1<<31) # macro IORING_POLL_ADD_MULTI = (1<<0) # macro IORING_POLL_UPDATE_EVENTS = (1<<1) # macro IORING_POLL_UPDATE_USER_DATA = (1<<2) # macro +IORING_POLL_ADD_LEVEL = (1<<3) # macro +IORING_ASYNC_CANCEL_ALL = (1<<0) # macro +IORING_ASYNC_CANCEL_FD = (1<<1) # macro +IORING_ASYNC_CANCEL_ANY = (1<<2) # macro +IORING_ASYNC_CANCEL_FD_FIXED = (1<<3) # macro +IORING_ASYNC_CANCEL_USERDATA = (1<<4) # macro +IORING_ASYNC_CANCEL_OP = (1<<5) # macro +IORING_RECVSEND_POLL_FIRST = (1<<0) # macro +IORING_RECV_MULTISHOT = (1<<1) # macro +IORING_RECVSEND_FIXED_BUF = (1<<2) # macro +IORING_SEND_ZC_REPORT_USAGE = (1<<3) # macro +IORING_NOTIF_USAGE_ZC_COPIED = (1<<31) # macro +IORING_ACCEPT_MULTISHOT = (1<<0) # macro +IORING_MSG_RING_CQE_SKIP = (1<<0) # macro +IORING_MSG_RING_FLAGS_PASS = (1<<1) # macro +IORING_FIXED_FD_NO_CLOEXEC = (1<<0) # macro IORING_CQE_F_BUFFER = (1<<0) # macro IORING_CQE_F_MORE = (1<<1) # macro +IORING_CQE_F_SOCK_NONEMPTY = (1<<2) # macro +IORING_CQE_F_NOTIF = (1<<3) # macro IORING_OFF_SQ_RING = 0 # macro IORING_OFF_CQ_RING = 0x8000000 # macro IORING_OFF_SQES = 0x10000000 # macro +IORING_OFF_PBUF_RING = 0x80000000 # macro +IORING_OFF_PBUF_SHIFT = 16 # macro +IORING_OFF_MMAP_MASK = 0xf8000000 # macro IORING_SQ_NEED_WAKEUP = (1<<0) # macro IORING_SQ_CQ_OVERFLOW = (1<<1) # macro +IORING_SQ_TASKRUN = (1<<2) # macro IORING_CQ_EVENTFD_DISABLED = (1<<0) # macro IORING_ENTER_GETEVENTS = (1<<0) # macro IORING_ENTER_SQ_WAKEUP = (1<<1) # macro IORING_ENTER_SQ_WAIT = (1<<2) # macro IORING_ENTER_EXT_ARG = (1<<3) # macro +IORING_ENTER_REGISTERED_RING = (1<<4) # macro IORING_FEAT_SINGLE_MMAP = (1<<0) # macro IORING_FEAT_NODROP = (1<<1) # macro IORING_FEAT_SUBMIT_STABLE = (1<<2) # macro @@ -1137,6 +1752,10 @@ IORING_FEAT_SQPOLL_NONFIXED = (1<<7) # macro IORING_FEAT_EXT_ARG = (1<<8) # macro IORING_FEAT_NATIVE_WORKERS = (1<<9) # macro IORING_FEAT_RSRC_TAGS = (1<<10) # macro +IORING_FEAT_CQE_SKIP = (1<<11) # macro +IORING_FEAT_LINKED_FILE = (1<<12) # macro +IORING_FEAT_REG_REG_RING = (1<<13) # macro +IORING_RSRC_REGISTER_SPARSE = (1<<0) # macro IORING_REGISTER_FILES_SKIP = (-2) # macro IO_URING_OP_SUPPORTED = (1<<0) # macro @@ -1148,6 +1767,7 @@ c__Ea_IOSQE_FIXED_FILE_BIT__enumvalues = { 3: 'IOSQE_IO_HARDLINK_BIT', 4: 'IOSQE_ASYNC_BIT', 5: 'IOSQE_BUFFER_SELECT_BIT', + 6: 'IOSQE_CQE_SKIP_SUCCESS_BIT', } IOSQE_FIXED_FILE_BIT = 0 IOSQE_IO_DRAIN_BIT = 1 @@ -1155,6 +1775,7 @@ IOSQE_IO_LINK_BIT = 2 IOSQE_IO_HARDLINK_BIT = 3 IOSQE_ASYNC_BIT = 4 IOSQE_BUFFER_SELECT_BIT = 5 +IOSQE_CQE_SKIP_SUCCESS_BIT = 6 c__Ea_IOSQE_FIXED_FILE_BIT = ctypes.c_uint32 # enum IOSQE_FIXED_FILE = (1<EC_NONE and ecode