Files
StarPilot/tinygrad_repo/tinygrad/runtime/autogen/ib.py
T
firestar5683 d0e1db6766 StarPilot
2026-03-22 03:15:05 -05:00

3213 lines
173 KiB
Python

# mypy: disable-error-code="empty-body"
from __future__ import annotations
import ctypes
from typing import Annotated, Literal, TypeAlias
from tinygrad.runtime.support.c import _IO, _IOW, _IOR, _IOWR
from tinygrad.runtime.support import c
dll = c.DLL('ib', 'ibverbs', use_errno=True)
@c.record
class union_ibv_gid(c.Struct):
SIZE = 16
raw: Annotated[c.Array[uint8_t, Literal[16]], 0]
_global: Annotated[union_ibv_gid_global, 0]
uint8_t: TypeAlias = Annotated[int, ctypes.c_ubyte]
@c.record
class union_ibv_gid_global(c.Struct):
SIZE = 16
subnet_prefix: Annotated[Annotated[int, ctypes.c_uint64], 0]
interface_id: Annotated[Annotated[int, ctypes.c_uint64], 8]
__be64: TypeAlias = Annotated[int, ctypes.c_uint64]
class enum_ibv_gid_type(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_GID_TYPE_IB = enum_ibv_gid_type.define('IBV_GID_TYPE_IB', 0)
IBV_GID_TYPE_ROCE_V1 = enum_ibv_gid_type.define('IBV_GID_TYPE_ROCE_V1', 1)
IBV_GID_TYPE_ROCE_V2 = enum_ibv_gid_type.define('IBV_GID_TYPE_ROCE_V2', 2)
@c.record
class struct_ibv_gid_entry(c.Struct):
SIZE = 32
gid: Annotated[union_ibv_gid, 0]
gid_index: Annotated[uint32_t, 16]
port_num: Annotated[uint32_t, 20]
gid_type: Annotated[uint32_t, 24]
ndev_ifindex: Annotated[uint32_t, 28]
uint32_t: TypeAlias = Annotated[int, ctypes.c_uint32]
class enum_ibv_node_type(Annotated[int, ctypes.c_int32], c.Enum): pass
IBV_NODE_UNKNOWN = enum_ibv_node_type.define('IBV_NODE_UNKNOWN', -1)
IBV_NODE_CA = enum_ibv_node_type.define('IBV_NODE_CA', 1)
IBV_NODE_SWITCH = enum_ibv_node_type.define('IBV_NODE_SWITCH', 2)
IBV_NODE_ROUTER = enum_ibv_node_type.define('IBV_NODE_ROUTER', 3)
IBV_NODE_RNIC = enum_ibv_node_type.define('IBV_NODE_RNIC', 4)
IBV_NODE_USNIC = enum_ibv_node_type.define('IBV_NODE_USNIC', 5)
IBV_NODE_USNIC_UDP = enum_ibv_node_type.define('IBV_NODE_USNIC_UDP', 6)
IBV_NODE_UNSPECIFIED = enum_ibv_node_type.define('IBV_NODE_UNSPECIFIED', 7)
class enum_ibv_transport_type(Annotated[int, ctypes.c_int32], c.Enum): pass
IBV_TRANSPORT_UNKNOWN = enum_ibv_transport_type.define('IBV_TRANSPORT_UNKNOWN', -1)
IBV_TRANSPORT_IB = enum_ibv_transport_type.define('IBV_TRANSPORT_IB', 0)
IBV_TRANSPORT_IWARP = enum_ibv_transport_type.define('IBV_TRANSPORT_IWARP', 1)
IBV_TRANSPORT_USNIC = enum_ibv_transport_type.define('IBV_TRANSPORT_USNIC', 2)
IBV_TRANSPORT_USNIC_UDP = enum_ibv_transport_type.define('IBV_TRANSPORT_USNIC_UDP', 3)
IBV_TRANSPORT_UNSPECIFIED = enum_ibv_transport_type.define('IBV_TRANSPORT_UNSPECIFIED', 4)
class enum_ibv_device_cap_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_DEVICE_RESIZE_MAX_WR = enum_ibv_device_cap_flags.define('IBV_DEVICE_RESIZE_MAX_WR', 1)
IBV_DEVICE_BAD_PKEY_CNTR = enum_ibv_device_cap_flags.define('IBV_DEVICE_BAD_PKEY_CNTR', 2)
IBV_DEVICE_BAD_QKEY_CNTR = enum_ibv_device_cap_flags.define('IBV_DEVICE_BAD_QKEY_CNTR', 4)
IBV_DEVICE_RAW_MULTI = enum_ibv_device_cap_flags.define('IBV_DEVICE_RAW_MULTI', 8)
IBV_DEVICE_AUTO_PATH_MIG = enum_ibv_device_cap_flags.define('IBV_DEVICE_AUTO_PATH_MIG', 16)
IBV_DEVICE_CHANGE_PHY_PORT = enum_ibv_device_cap_flags.define('IBV_DEVICE_CHANGE_PHY_PORT', 32)
IBV_DEVICE_UD_AV_PORT_ENFORCE = enum_ibv_device_cap_flags.define('IBV_DEVICE_UD_AV_PORT_ENFORCE', 64)
IBV_DEVICE_CURR_QP_STATE_MOD = enum_ibv_device_cap_flags.define('IBV_DEVICE_CURR_QP_STATE_MOD', 128)
IBV_DEVICE_SHUTDOWN_PORT = enum_ibv_device_cap_flags.define('IBV_DEVICE_SHUTDOWN_PORT', 256)
IBV_DEVICE_INIT_TYPE = enum_ibv_device_cap_flags.define('IBV_DEVICE_INIT_TYPE', 512)
IBV_DEVICE_PORT_ACTIVE_EVENT = enum_ibv_device_cap_flags.define('IBV_DEVICE_PORT_ACTIVE_EVENT', 1024)
IBV_DEVICE_SYS_IMAGE_GUID = enum_ibv_device_cap_flags.define('IBV_DEVICE_SYS_IMAGE_GUID', 2048)
IBV_DEVICE_RC_RNR_NAK_GEN = enum_ibv_device_cap_flags.define('IBV_DEVICE_RC_RNR_NAK_GEN', 4096)
IBV_DEVICE_SRQ_RESIZE = enum_ibv_device_cap_flags.define('IBV_DEVICE_SRQ_RESIZE', 8192)
IBV_DEVICE_N_NOTIFY_CQ = enum_ibv_device_cap_flags.define('IBV_DEVICE_N_NOTIFY_CQ', 16384)
IBV_DEVICE_MEM_WINDOW = enum_ibv_device_cap_flags.define('IBV_DEVICE_MEM_WINDOW', 131072)
IBV_DEVICE_UD_IP_CSUM = enum_ibv_device_cap_flags.define('IBV_DEVICE_UD_IP_CSUM', 262144)
IBV_DEVICE_XRC = enum_ibv_device_cap_flags.define('IBV_DEVICE_XRC', 1048576)
IBV_DEVICE_MEM_MGT_EXTENSIONS = enum_ibv_device_cap_flags.define('IBV_DEVICE_MEM_MGT_EXTENSIONS', 2097152)
IBV_DEVICE_MEM_WINDOW_TYPE_2A = enum_ibv_device_cap_flags.define('IBV_DEVICE_MEM_WINDOW_TYPE_2A', 8388608)
IBV_DEVICE_MEM_WINDOW_TYPE_2B = enum_ibv_device_cap_flags.define('IBV_DEVICE_MEM_WINDOW_TYPE_2B', 16777216)
IBV_DEVICE_RC_IP_CSUM = enum_ibv_device_cap_flags.define('IBV_DEVICE_RC_IP_CSUM', 33554432)
IBV_DEVICE_RAW_IP_CSUM = enum_ibv_device_cap_flags.define('IBV_DEVICE_RAW_IP_CSUM', 67108864)
IBV_DEVICE_MANAGED_FLOW_STEERING = enum_ibv_device_cap_flags.define('IBV_DEVICE_MANAGED_FLOW_STEERING', 536870912)
class enum_ibv_fork_status(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_FORK_DISABLED = enum_ibv_fork_status.define('IBV_FORK_DISABLED', 0)
IBV_FORK_ENABLED = enum_ibv_fork_status.define('IBV_FORK_ENABLED', 1)
IBV_FORK_UNNEEDED = enum_ibv_fork_status.define('IBV_FORK_UNNEEDED', 2)
class enum_ibv_atomic_cap(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_ATOMIC_NONE = enum_ibv_atomic_cap.define('IBV_ATOMIC_NONE', 0)
IBV_ATOMIC_HCA = enum_ibv_atomic_cap.define('IBV_ATOMIC_HCA', 1)
IBV_ATOMIC_GLOB = enum_ibv_atomic_cap.define('IBV_ATOMIC_GLOB', 2)
@c.record
class struct_ibv_alloc_dm_attr(c.Struct):
SIZE = 16
length: Annotated[size_t, 0]
log_align_req: Annotated[uint32_t, 8]
comp_mask: Annotated[uint32_t, 12]
size_t: TypeAlias = Annotated[int, ctypes.c_uint64]
class enum_ibv_dm_mask(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_DM_MASK_HANDLE = enum_ibv_dm_mask.define('IBV_DM_MASK_HANDLE', 1)
@c.record
class struct_ibv_dm(c.Struct):
SIZE = 32
context: Annotated[c.POINTER[struct_ibv_context], 0]
memcpy_to_dm: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_dm], uint64_t, ctypes.c_void_p, size_t]], 8]
memcpy_from_dm: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [ctypes.c_void_p, c.POINTER[struct_ibv_dm], uint64_t, size_t]], 16]
comp_mask: Annotated[uint32_t, 24]
handle: Annotated[uint32_t, 28]
@c.record
class struct_ibv_context(c.Struct):
SIZE = 328
device: Annotated[c.POINTER[struct_ibv_device], 0]
ops: Annotated[struct_ibv_context_ops, 8]
cmd_fd: Annotated[Annotated[int, ctypes.c_int32], 264]
async_fd: Annotated[Annotated[int, ctypes.c_int32], 268]
num_comp_vectors: Annotated[Annotated[int, ctypes.c_int32], 272]
mutex: Annotated[pthread_mutex_t, 280]
abi_compat: Annotated[ctypes.c_void_p, 320]
@c.record
class struct_ibv_device(c.Struct):
SIZE = 664
_ops: Annotated[struct__ibv_device_ops, 0]
node_type: Annotated[enum_ibv_node_type, 16]
transport_type: Annotated[enum_ibv_transport_type, 20]
name: Annotated[c.Array[Annotated[bytes, ctypes.c_char], Literal[64]], 24]
dev_name: Annotated[c.Array[Annotated[bytes, ctypes.c_char], Literal[64]], 88]
dev_path: Annotated[c.Array[Annotated[bytes, ctypes.c_char], Literal[256]], 152]
ibdev_path: Annotated[c.Array[Annotated[bytes, ctypes.c_char], Literal[256]], 408]
@c.record
class struct__ibv_device_ops(c.Struct):
SIZE = 16
_dummy1: Annotated[c.CFUNCTYPE[c.POINTER[struct_ibv_context], [c.POINTER[struct_ibv_device], Annotated[int, ctypes.c_int32]]], 0]
_dummy2: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_context]]], 8]
@c.record
class struct_ibv_context_ops(c.Struct):
SIZE = 256
_compat_query_device: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_context], c.POINTER[struct_ibv_device_attr]]], 0]
_compat_query_port: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_context], uint8_t, c.POINTER[struct__compat_ibv_port_attr]]], 8]
_compat_alloc_pd: Annotated[c.CFUNCTYPE[ctypes.c_void_p, []], 16]
_compat_dealloc_pd: Annotated[c.CFUNCTYPE[ctypes.c_void_p, []], 24]
_compat_reg_mr: Annotated[c.CFUNCTYPE[ctypes.c_void_p, []], 32]
_compat_rereg_mr: Annotated[c.CFUNCTYPE[ctypes.c_void_p, []], 40]
_compat_dereg_mr: Annotated[c.CFUNCTYPE[ctypes.c_void_p, []], 48]
alloc_mw: Annotated[c.CFUNCTYPE[c.POINTER[struct_ibv_mw], [c.POINTER[struct_ibv_pd], enum_ibv_mw_type]], 56]
bind_mw: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_qp], c.POINTER[struct_ibv_mw], c.POINTER[struct_ibv_mw_bind]]], 64]
dealloc_mw: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_mw]]], 72]
_compat_create_cq: Annotated[c.CFUNCTYPE[ctypes.c_void_p, []], 80]
poll_cq: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_cq], Annotated[int, ctypes.c_int32], c.POINTER[struct_ibv_wc]]], 88]
req_notify_cq: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_cq], Annotated[int, ctypes.c_int32]]], 96]
_compat_cq_event: Annotated[c.CFUNCTYPE[ctypes.c_void_p, []], 104]
_compat_resize_cq: Annotated[c.CFUNCTYPE[ctypes.c_void_p, []], 112]
_compat_destroy_cq: Annotated[c.CFUNCTYPE[ctypes.c_void_p, []], 120]
_compat_create_srq: Annotated[c.CFUNCTYPE[ctypes.c_void_p, []], 128]
_compat_modify_srq: Annotated[c.CFUNCTYPE[ctypes.c_void_p, []], 136]
_compat_query_srq: Annotated[c.CFUNCTYPE[ctypes.c_void_p, []], 144]
_compat_destroy_srq: Annotated[c.CFUNCTYPE[ctypes.c_void_p, []], 152]
post_srq_recv: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_srq], c.POINTER[struct_ibv_recv_wr], c.POINTER[c.POINTER[struct_ibv_recv_wr]]]], 160]
_compat_create_qp: Annotated[c.CFUNCTYPE[ctypes.c_void_p, []], 168]
_compat_query_qp: Annotated[c.CFUNCTYPE[ctypes.c_void_p, []], 176]
_compat_modify_qp: Annotated[c.CFUNCTYPE[ctypes.c_void_p, []], 184]
_compat_destroy_qp: Annotated[c.CFUNCTYPE[ctypes.c_void_p, []], 192]
post_send: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_qp], c.POINTER[struct_ibv_send_wr], c.POINTER[c.POINTER[struct_ibv_send_wr]]]], 200]
post_recv: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_qp], c.POINTER[struct_ibv_recv_wr], c.POINTER[c.POINTER[struct_ibv_recv_wr]]]], 208]
_compat_create_ah: Annotated[c.CFUNCTYPE[ctypes.c_void_p, []], 216]
_compat_destroy_ah: Annotated[c.CFUNCTYPE[ctypes.c_void_p, []], 224]
_compat_attach_mcast: Annotated[c.CFUNCTYPE[ctypes.c_void_p, []], 232]
_compat_detach_mcast: Annotated[c.CFUNCTYPE[ctypes.c_void_p, []], 240]
_compat_async_event: Annotated[c.CFUNCTYPE[ctypes.c_void_p, []], 248]
@c.record
class struct_ibv_device_attr(c.Struct):
SIZE = 232
fw_ver: Annotated[c.Array[Annotated[bytes, ctypes.c_char], Literal[64]], 0]
node_guid: Annotated[Annotated[int, ctypes.c_uint64], 64]
sys_image_guid: Annotated[Annotated[int, ctypes.c_uint64], 72]
max_mr_size: Annotated[uint64_t, 80]
page_size_cap: Annotated[uint64_t, 88]
vendor_id: Annotated[uint32_t, 96]
vendor_part_id: Annotated[uint32_t, 100]
hw_ver: Annotated[uint32_t, 104]
max_qp: Annotated[Annotated[int, ctypes.c_int32], 108]
max_qp_wr: Annotated[Annotated[int, ctypes.c_int32], 112]
device_cap_flags: Annotated[Annotated[int, ctypes.c_uint32], 116]
max_sge: Annotated[Annotated[int, ctypes.c_int32], 120]
max_sge_rd: Annotated[Annotated[int, ctypes.c_int32], 124]
max_cq: Annotated[Annotated[int, ctypes.c_int32], 128]
max_cqe: Annotated[Annotated[int, ctypes.c_int32], 132]
max_mr: Annotated[Annotated[int, ctypes.c_int32], 136]
max_pd: Annotated[Annotated[int, ctypes.c_int32], 140]
max_qp_rd_atom: Annotated[Annotated[int, ctypes.c_int32], 144]
max_ee_rd_atom: Annotated[Annotated[int, ctypes.c_int32], 148]
max_res_rd_atom: Annotated[Annotated[int, ctypes.c_int32], 152]
max_qp_init_rd_atom: Annotated[Annotated[int, ctypes.c_int32], 156]
max_ee_init_rd_atom: Annotated[Annotated[int, ctypes.c_int32], 160]
atomic_cap: Annotated[enum_ibv_atomic_cap, 164]
max_ee: Annotated[Annotated[int, ctypes.c_int32], 168]
max_rdd: Annotated[Annotated[int, ctypes.c_int32], 172]
max_mw: Annotated[Annotated[int, ctypes.c_int32], 176]
max_raw_ipv6_qp: Annotated[Annotated[int, ctypes.c_int32], 180]
max_raw_ethy_qp: Annotated[Annotated[int, ctypes.c_int32], 184]
max_mcast_grp: Annotated[Annotated[int, ctypes.c_int32], 188]
max_mcast_qp_attach: Annotated[Annotated[int, ctypes.c_int32], 192]
max_total_mcast_qp_attach: Annotated[Annotated[int, ctypes.c_int32], 196]
max_ah: Annotated[Annotated[int, ctypes.c_int32], 200]
max_fmr: Annotated[Annotated[int, ctypes.c_int32], 204]
max_map_per_fmr: Annotated[Annotated[int, ctypes.c_int32], 208]
max_srq: Annotated[Annotated[int, ctypes.c_int32], 212]
max_srq_wr: Annotated[Annotated[int, ctypes.c_int32], 216]
max_srq_sge: Annotated[Annotated[int, ctypes.c_int32], 220]
max_pkeys: Annotated[uint16_t, 224]
local_ca_ack_delay: Annotated[uint8_t, 226]
phys_port_cnt: Annotated[uint8_t, 227]
uint64_t: TypeAlias = Annotated[int, ctypes.c_uint64]
uint16_t: TypeAlias = Annotated[int, ctypes.c_uint16]
class struct__compat_ibv_port_attr(ctypes.Structure): pass
@c.record
class struct_ibv_mw(c.Struct):
SIZE = 32
context: Annotated[c.POINTER[struct_ibv_context], 0]
pd: Annotated[c.POINTER[struct_ibv_pd], 8]
rkey: Annotated[uint32_t, 16]
handle: Annotated[uint32_t, 20]
type: Annotated[enum_ibv_mw_type, 24]
@c.record
class struct_ibv_pd(c.Struct):
SIZE = 16
context: Annotated[c.POINTER[struct_ibv_context], 0]
handle: Annotated[uint32_t, 8]
class enum_ibv_mw_type(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_MW_TYPE_1 = enum_ibv_mw_type.define('IBV_MW_TYPE_1', 1)
IBV_MW_TYPE_2 = enum_ibv_mw_type.define('IBV_MW_TYPE_2', 2)
@c.record
class struct_ibv_qp(c.Struct):
SIZE = 160
context: Annotated[c.POINTER[struct_ibv_context], 0]
qp_context: Annotated[ctypes.c_void_p, 8]
pd: Annotated[c.POINTER[struct_ibv_pd], 16]
send_cq: Annotated[c.POINTER[struct_ibv_cq], 24]
recv_cq: Annotated[c.POINTER[struct_ibv_cq], 32]
srq: Annotated[c.POINTER[struct_ibv_srq], 40]
handle: Annotated[uint32_t, 48]
qp_num: Annotated[uint32_t, 52]
state: Annotated[enum_ibv_qp_state, 56]
qp_type: Annotated[enum_ibv_qp_type, 60]
mutex: Annotated[pthread_mutex_t, 64]
cond: Annotated[pthread_cond_t, 104]
events_completed: Annotated[uint32_t, 152]
@c.record
class struct_ibv_cq(c.Struct):
SIZE = 128
context: Annotated[c.POINTER[struct_ibv_context], 0]
channel: Annotated[c.POINTER[struct_ibv_comp_channel], 8]
cq_context: Annotated[ctypes.c_void_p, 16]
handle: Annotated[uint32_t, 24]
cqe: Annotated[Annotated[int, ctypes.c_int32], 28]
mutex: Annotated[pthread_mutex_t, 32]
cond: Annotated[pthread_cond_t, 72]
comp_events_completed: Annotated[uint32_t, 120]
async_events_completed: Annotated[uint32_t, 124]
@c.record
class struct_ibv_comp_channel(c.Struct):
SIZE = 16
context: Annotated[c.POINTER[struct_ibv_context], 0]
fd: Annotated[Annotated[int, ctypes.c_int32], 8]
refcnt: Annotated[Annotated[int, ctypes.c_int32], 12]
@c.record
class pthread_mutex_t(c.Struct):
SIZE = 40
__data: Annotated[struct___pthread_mutex_s, 0]
__size: Annotated[c.Array[Annotated[bytes, ctypes.c_char], Literal[40]], 0]
__align: Annotated[Annotated[int, ctypes.c_int64], 0]
@c.record
class struct___pthread_mutex_s(c.Struct):
SIZE = 40
__lock: Annotated[Annotated[int, ctypes.c_int32], 0]
__count: Annotated[Annotated[int, ctypes.c_uint32], 4]
__owner: Annotated[Annotated[int, ctypes.c_int32], 8]
__nusers: Annotated[Annotated[int, ctypes.c_uint32], 12]
__kind: Annotated[Annotated[int, ctypes.c_int32], 16]
__spins: Annotated[Annotated[int, ctypes.c_int16], 20]
__elision: Annotated[Annotated[int, ctypes.c_int16], 22]
__list: Annotated[struct___pthread_internal_list, 24]
@c.record
class struct___pthread_internal_list(c.Struct):
SIZE = 16
__prev: Annotated[c.POINTER[struct___pthread_internal_list], 0]
__next: Annotated[c.POINTER[struct___pthread_internal_list], 8]
__pthread_list_t: TypeAlias = struct___pthread_internal_list
@c.record
class pthread_cond_t(c.Struct):
SIZE = 48
__data: Annotated[struct___pthread_cond_s, 0]
__size: Annotated[c.Array[Annotated[bytes, ctypes.c_char], Literal[48]], 0]
__align: Annotated[Annotated[int, ctypes.c_int64], 0]
@c.record
class struct___pthread_cond_s(c.Struct):
SIZE = 48
__wseq: Annotated[__atomic_wide_counter, 0]
__g1_start: Annotated[__atomic_wide_counter, 8]
__g_refs: Annotated[c.Array[Annotated[int, ctypes.c_uint32], Literal[2]], 16]
__g_size: Annotated[c.Array[Annotated[int, ctypes.c_uint32], Literal[2]], 24]
__g1_orig_size: Annotated[Annotated[int, ctypes.c_uint32], 32]
__wrefs: Annotated[Annotated[int, ctypes.c_uint32], 36]
__g_signals: Annotated[c.Array[Annotated[int, ctypes.c_uint32], Literal[2]], 40]
@c.record
class __atomic_wide_counter(c.Struct):
SIZE = 8
__value64: Annotated[Annotated[int, ctypes.c_uint64], 0]
__value32: Annotated[__atomic_wide_counter___value32, 0]
@c.record
class __atomic_wide_counter___value32(c.Struct):
SIZE = 8
__low: Annotated[Annotated[int, ctypes.c_uint32], 0]
__high: Annotated[Annotated[int, ctypes.c_uint32], 4]
@c.record
class struct_ibv_srq(c.Struct):
SIZE = 128
context: Annotated[c.POINTER[struct_ibv_context], 0]
srq_context: Annotated[ctypes.c_void_p, 8]
pd: Annotated[c.POINTER[struct_ibv_pd], 16]
handle: Annotated[uint32_t, 24]
mutex: Annotated[pthread_mutex_t, 32]
cond: Annotated[pthread_cond_t, 72]
events_completed: Annotated[uint32_t, 120]
class enum_ibv_qp_state(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_QPS_RESET = enum_ibv_qp_state.define('IBV_QPS_RESET', 0)
IBV_QPS_INIT = enum_ibv_qp_state.define('IBV_QPS_INIT', 1)
IBV_QPS_RTR = enum_ibv_qp_state.define('IBV_QPS_RTR', 2)
IBV_QPS_RTS = enum_ibv_qp_state.define('IBV_QPS_RTS', 3)
IBV_QPS_SQD = enum_ibv_qp_state.define('IBV_QPS_SQD', 4)
IBV_QPS_SQE = enum_ibv_qp_state.define('IBV_QPS_SQE', 5)
IBV_QPS_ERR = enum_ibv_qp_state.define('IBV_QPS_ERR', 6)
IBV_QPS_UNKNOWN = enum_ibv_qp_state.define('IBV_QPS_UNKNOWN', 7)
class enum_ibv_qp_type(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_QPT_RC = enum_ibv_qp_type.define('IBV_QPT_RC', 2)
IBV_QPT_UC = enum_ibv_qp_type.define('IBV_QPT_UC', 3)
IBV_QPT_UD = enum_ibv_qp_type.define('IBV_QPT_UD', 4)
IBV_QPT_RAW_PACKET = enum_ibv_qp_type.define('IBV_QPT_RAW_PACKET', 8)
IBV_QPT_XRC_SEND = enum_ibv_qp_type.define('IBV_QPT_XRC_SEND', 9)
IBV_QPT_XRC_RECV = enum_ibv_qp_type.define('IBV_QPT_XRC_RECV', 10)
IBV_QPT_DRIVER = enum_ibv_qp_type.define('IBV_QPT_DRIVER', 255)
@c.record
class struct_ibv_mw_bind(c.Struct):
SIZE = 48
wr_id: Annotated[uint64_t, 0]
send_flags: Annotated[Annotated[int, ctypes.c_uint32], 8]
bind_info: Annotated[struct_ibv_mw_bind_info, 16]
@c.record
class struct_ibv_mw_bind_info(c.Struct):
SIZE = 32
mr: Annotated[c.POINTER[struct_ibv_mr], 0]
addr: Annotated[uint64_t, 8]
length: Annotated[uint64_t, 16]
mw_access_flags: Annotated[Annotated[int, ctypes.c_uint32], 24]
@c.record
class struct_ibv_mr(c.Struct):
SIZE = 48
context: Annotated[c.POINTER[struct_ibv_context], 0]
pd: Annotated[c.POINTER[struct_ibv_pd], 8]
addr: Annotated[ctypes.c_void_p, 16]
length: Annotated[size_t, 24]
handle: Annotated[uint32_t, 32]
lkey: Annotated[uint32_t, 36]
rkey: Annotated[uint32_t, 40]
@c.record
class struct_ibv_wc(c.Struct):
SIZE = 48
wr_id: Annotated[uint64_t, 0]
status: Annotated[enum_ibv_wc_status, 8]
opcode: Annotated[enum_ibv_wc_opcode, 12]
vendor_err: Annotated[uint32_t, 16]
byte_len: Annotated[uint32_t, 20]
imm_data: Annotated[Annotated[int, ctypes.c_uint32], 24]
invalidated_rkey: Annotated[uint32_t, 24]
qp_num: Annotated[uint32_t, 28]
src_qp: Annotated[uint32_t, 32]
wc_flags: Annotated[Annotated[int, ctypes.c_uint32], 36]
pkey_index: Annotated[uint16_t, 40]
slid: Annotated[uint16_t, 42]
sl: Annotated[uint8_t, 44]
dlid_path_bits: Annotated[uint8_t, 45]
class enum_ibv_wc_status(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_WC_SUCCESS = enum_ibv_wc_status.define('IBV_WC_SUCCESS', 0)
IBV_WC_LOC_LEN_ERR = enum_ibv_wc_status.define('IBV_WC_LOC_LEN_ERR', 1)
IBV_WC_LOC_QP_OP_ERR = enum_ibv_wc_status.define('IBV_WC_LOC_QP_OP_ERR', 2)
IBV_WC_LOC_EEC_OP_ERR = enum_ibv_wc_status.define('IBV_WC_LOC_EEC_OP_ERR', 3)
IBV_WC_LOC_PROT_ERR = enum_ibv_wc_status.define('IBV_WC_LOC_PROT_ERR', 4)
IBV_WC_WR_FLUSH_ERR = enum_ibv_wc_status.define('IBV_WC_WR_FLUSH_ERR', 5)
IBV_WC_MW_BIND_ERR = enum_ibv_wc_status.define('IBV_WC_MW_BIND_ERR', 6)
IBV_WC_BAD_RESP_ERR = enum_ibv_wc_status.define('IBV_WC_BAD_RESP_ERR', 7)
IBV_WC_LOC_ACCESS_ERR = enum_ibv_wc_status.define('IBV_WC_LOC_ACCESS_ERR', 8)
IBV_WC_REM_INV_REQ_ERR = enum_ibv_wc_status.define('IBV_WC_REM_INV_REQ_ERR', 9)
IBV_WC_REM_ACCESS_ERR = enum_ibv_wc_status.define('IBV_WC_REM_ACCESS_ERR', 10)
IBV_WC_REM_OP_ERR = enum_ibv_wc_status.define('IBV_WC_REM_OP_ERR', 11)
IBV_WC_RETRY_EXC_ERR = enum_ibv_wc_status.define('IBV_WC_RETRY_EXC_ERR', 12)
IBV_WC_RNR_RETRY_EXC_ERR = enum_ibv_wc_status.define('IBV_WC_RNR_RETRY_EXC_ERR', 13)
IBV_WC_LOC_RDD_VIOL_ERR = enum_ibv_wc_status.define('IBV_WC_LOC_RDD_VIOL_ERR', 14)
IBV_WC_REM_INV_RD_REQ_ERR = enum_ibv_wc_status.define('IBV_WC_REM_INV_RD_REQ_ERR', 15)
IBV_WC_REM_ABORT_ERR = enum_ibv_wc_status.define('IBV_WC_REM_ABORT_ERR', 16)
IBV_WC_INV_EECN_ERR = enum_ibv_wc_status.define('IBV_WC_INV_EECN_ERR', 17)
IBV_WC_INV_EEC_STATE_ERR = enum_ibv_wc_status.define('IBV_WC_INV_EEC_STATE_ERR', 18)
IBV_WC_FATAL_ERR = enum_ibv_wc_status.define('IBV_WC_FATAL_ERR', 19)
IBV_WC_RESP_TIMEOUT_ERR = enum_ibv_wc_status.define('IBV_WC_RESP_TIMEOUT_ERR', 20)
IBV_WC_GENERAL_ERR = enum_ibv_wc_status.define('IBV_WC_GENERAL_ERR', 21)
IBV_WC_TM_ERR = enum_ibv_wc_status.define('IBV_WC_TM_ERR', 22)
IBV_WC_TM_RNDV_INCOMPLETE = enum_ibv_wc_status.define('IBV_WC_TM_RNDV_INCOMPLETE', 23)
class enum_ibv_wc_opcode(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_WC_SEND = enum_ibv_wc_opcode.define('IBV_WC_SEND', 0)
IBV_WC_RDMA_WRITE = enum_ibv_wc_opcode.define('IBV_WC_RDMA_WRITE', 1)
IBV_WC_RDMA_READ = enum_ibv_wc_opcode.define('IBV_WC_RDMA_READ', 2)
IBV_WC_COMP_SWAP = enum_ibv_wc_opcode.define('IBV_WC_COMP_SWAP', 3)
IBV_WC_FETCH_ADD = enum_ibv_wc_opcode.define('IBV_WC_FETCH_ADD', 4)
IBV_WC_BIND_MW = enum_ibv_wc_opcode.define('IBV_WC_BIND_MW', 5)
IBV_WC_LOCAL_INV = enum_ibv_wc_opcode.define('IBV_WC_LOCAL_INV', 6)
IBV_WC_TSO = enum_ibv_wc_opcode.define('IBV_WC_TSO', 7)
IBV_WC_FLUSH = enum_ibv_wc_opcode.define('IBV_WC_FLUSH', 8)
IBV_WC_ATOMIC_WRITE = enum_ibv_wc_opcode.define('IBV_WC_ATOMIC_WRITE', 9)
IBV_WC_RECV = enum_ibv_wc_opcode.define('IBV_WC_RECV', 128)
IBV_WC_RECV_RDMA_WITH_IMM = enum_ibv_wc_opcode.define('IBV_WC_RECV_RDMA_WITH_IMM', 129)
IBV_WC_TM_ADD = enum_ibv_wc_opcode.define('IBV_WC_TM_ADD', 130)
IBV_WC_TM_DEL = enum_ibv_wc_opcode.define('IBV_WC_TM_DEL', 131)
IBV_WC_TM_SYNC = enum_ibv_wc_opcode.define('IBV_WC_TM_SYNC', 132)
IBV_WC_TM_RECV = enum_ibv_wc_opcode.define('IBV_WC_TM_RECV', 133)
IBV_WC_TM_NO_TAG = enum_ibv_wc_opcode.define('IBV_WC_TM_NO_TAG', 134)
IBV_WC_DRIVER1 = enum_ibv_wc_opcode.define('IBV_WC_DRIVER1', 135)
IBV_WC_DRIVER2 = enum_ibv_wc_opcode.define('IBV_WC_DRIVER2', 136)
IBV_WC_DRIVER3 = enum_ibv_wc_opcode.define('IBV_WC_DRIVER3', 137)
__be32: TypeAlias = Annotated[int, ctypes.c_uint32]
@c.record
class struct_ibv_recv_wr(c.Struct):
SIZE = 32
wr_id: Annotated[uint64_t, 0]
next: Annotated[c.POINTER[struct_ibv_recv_wr], 8]
sg_list: Annotated[c.POINTER[struct_ibv_sge], 16]
num_sge: Annotated[Annotated[int, ctypes.c_int32], 24]
@c.record
class struct_ibv_sge(c.Struct):
SIZE = 16
addr: Annotated[uint64_t, 0]
length: Annotated[uint32_t, 8]
lkey: Annotated[uint32_t, 12]
@c.record
class struct_ibv_send_wr(c.Struct):
SIZE = 128
wr_id: Annotated[uint64_t, 0]
next: Annotated[c.POINTER[struct_ibv_send_wr], 8]
sg_list: Annotated[c.POINTER[struct_ibv_sge], 16]
num_sge: Annotated[Annotated[int, ctypes.c_int32], 24]
opcode: Annotated[enum_ibv_wr_opcode, 28]
send_flags: Annotated[Annotated[int, ctypes.c_uint32], 32]
imm_data: Annotated[Annotated[int, ctypes.c_uint32], 36]
invalidate_rkey: Annotated[uint32_t, 36]
wr: Annotated[struct_ibv_send_wr_wr, 40]
qp_type: Annotated[struct_ibv_send_wr_qp_type, 72]
bind_mw: Annotated[struct_ibv_send_wr_bind_mw, 80]
tso: Annotated[struct_ibv_send_wr_tso, 80]
class enum_ibv_wr_opcode(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_WR_RDMA_WRITE = enum_ibv_wr_opcode.define('IBV_WR_RDMA_WRITE', 0)
IBV_WR_RDMA_WRITE_WITH_IMM = enum_ibv_wr_opcode.define('IBV_WR_RDMA_WRITE_WITH_IMM', 1)
IBV_WR_SEND = enum_ibv_wr_opcode.define('IBV_WR_SEND', 2)
IBV_WR_SEND_WITH_IMM = enum_ibv_wr_opcode.define('IBV_WR_SEND_WITH_IMM', 3)
IBV_WR_RDMA_READ = enum_ibv_wr_opcode.define('IBV_WR_RDMA_READ', 4)
IBV_WR_ATOMIC_CMP_AND_SWP = enum_ibv_wr_opcode.define('IBV_WR_ATOMIC_CMP_AND_SWP', 5)
IBV_WR_ATOMIC_FETCH_AND_ADD = enum_ibv_wr_opcode.define('IBV_WR_ATOMIC_FETCH_AND_ADD', 6)
IBV_WR_LOCAL_INV = enum_ibv_wr_opcode.define('IBV_WR_LOCAL_INV', 7)
IBV_WR_BIND_MW = enum_ibv_wr_opcode.define('IBV_WR_BIND_MW', 8)
IBV_WR_SEND_WITH_INV = enum_ibv_wr_opcode.define('IBV_WR_SEND_WITH_INV', 9)
IBV_WR_TSO = enum_ibv_wr_opcode.define('IBV_WR_TSO', 10)
IBV_WR_DRIVER1 = enum_ibv_wr_opcode.define('IBV_WR_DRIVER1', 11)
IBV_WR_FLUSH = enum_ibv_wr_opcode.define('IBV_WR_FLUSH', 14)
IBV_WR_ATOMIC_WRITE = enum_ibv_wr_opcode.define('IBV_WR_ATOMIC_WRITE', 15)
@c.record
class struct_ibv_send_wr_wr(c.Struct):
SIZE = 32
rdma: Annotated[struct_ibv_send_wr_wr_rdma, 0]
atomic: Annotated[struct_ibv_send_wr_wr_atomic, 0]
ud: Annotated[struct_ibv_send_wr_wr_ud, 0]
@c.record
class struct_ibv_send_wr_wr_rdma(c.Struct):
SIZE = 16
remote_addr: Annotated[uint64_t, 0]
rkey: Annotated[uint32_t, 8]
@c.record
class struct_ibv_send_wr_wr_atomic(c.Struct):
SIZE = 32
remote_addr: Annotated[uint64_t, 0]
compare_add: Annotated[uint64_t, 8]
swap: Annotated[uint64_t, 16]
rkey: Annotated[uint32_t, 24]
@c.record
class struct_ibv_send_wr_wr_ud(c.Struct):
SIZE = 16
ah: Annotated[c.POINTER[struct_ibv_ah], 0]
remote_qpn: Annotated[uint32_t, 8]
remote_qkey: Annotated[uint32_t, 12]
@c.record
class struct_ibv_ah(c.Struct):
SIZE = 24
context: Annotated[c.POINTER[struct_ibv_context], 0]
pd: Annotated[c.POINTER[struct_ibv_pd], 8]
handle: Annotated[uint32_t, 16]
@c.record
class struct_ibv_send_wr_qp_type(c.Struct):
SIZE = 4
xrc: Annotated[struct_ibv_send_wr_qp_type_xrc, 0]
@c.record
class struct_ibv_send_wr_qp_type_xrc(c.Struct):
SIZE = 4
remote_srqn: Annotated[uint32_t, 0]
@c.record
class struct_ibv_send_wr_bind_mw(c.Struct):
SIZE = 48
mw: Annotated[c.POINTER[struct_ibv_mw], 0]
rkey: Annotated[uint32_t, 8]
bind_info: Annotated[struct_ibv_mw_bind_info, 16]
@c.record
class struct_ibv_send_wr_tso(c.Struct):
SIZE = 16
hdr: Annotated[ctypes.c_void_p, 0]
hdr_sz: Annotated[uint16_t, 8]
mss: Annotated[uint16_t, 10]
@c.record
class struct_ibv_query_device_ex_input(c.Struct):
SIZE = 4
comp_mask: Annotated[uint32_t, 0]
class enum_ibv_odp_transport_cap_bits(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_ODP_SUPPORT_SEND = enum_ibv_odp_transport_cap_bits.define('IBV_ODP_SUPPORT_SEND', 1)
IBV_ODP_SUPPORT_RECV = enum_ibv_odp_transport_cap_bits.define('IBV_ODP_SUPPORT_RECV', 2)
IBV_ODP_SUPPORT_WRITE = enum_ibv_odp_transport_cap_bits.define('IBV_ODP_SUPPORT_WRITE', 4)
IBV_ODP_SUPPORT_READ = enum_ibv_odp_transport_cap_bits.define('IBV_ODP_SUPPORT_READ', 8)
IBV_ODP_SUPPORT_ATOMIC = enum_ibv_odp_transport_cap_bits.define('IBV_ODP_SUPPORT_ATOMIC', 16)
IBV_ODP_SUPPORT_SRQ_RECV = enum_ibv_odp_transport_cap_bits.define('IBV_ODP_SUPPORT_SRQ_RECV', 32)
@c.record
class struct_ibv_odp_caps(c.Struct):
SIZE = 24
general_caps: Annotated[uint64_t, 0]
per_transport_caps: Annotated[struct_ibv_odp_caps_per_transport_caps, 8]
@c.record
class struct_ibv_odp_caps_per_transport_caps(c.Struct):
SIZE = 12
rc_odp_caps: Annotated[uint32_t, 0]
uc_odp_caps: Annotated[uint32_t, 4]
ud_odp_caps: Annotated[uint32_t, 8]
class enum_ibv_odp_general_caps(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_ODP_SUPPORT = enum_ibv_odp_general_caps.define('IBV_ODP_SUPPORT', 1)
IBV_ODP_SUPPORT_IMPLICIT = enum_ibv_odp_general_caps.define('IBV_ODP_SUPPORT_IMPLICIT', 2)
@c.record
class struct_ibv_tso_caps(c.Struct):
SIZE = 8
max_tso: Annotated[uint32_t, 0]
supported_qpts: Annotated[uint32_t, 4]
class enum_ibv_rx_hash_function_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_RX_HASH_FUNC_TOEPLITZ = enum_ibv_rx_hash_function_flags.define('IBV_RX_HASH_FUNC_TOEPLITZ', 1)
class enum_ibv_rx_hash_fields(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_RX_HASH_SRC_IPV4 = enum_ibv_rx_hash_fields.define('IBV_RX_HASH_SRC_IPV4', 1)
IBV_RX_HASH_DST_IPV4 = enum_ibv_rx_hash_fields.define('IBV_RX_HASH_DST_IPV4', 2)
IBV_RX_HASH_SRC_IPV6 = enum_ibv_rx_hash_fields.define('IBV_RX_HASH_SRC_IPV6', 4)
IBV_RX_HASH_DST_IPV6 = enum_ibv_rx_hash_fields.define('IBV_RX_HASH_DST_IPV6', 8)
IBV_RX_HASH_SRC_PORT_TCP = enum_ibv_rx_hash_fields.define('IBV_RX_HASH_SRC_PORT_TCP', 16)
IBV_RX_HASH_DST_PORT_TCP = enum_ibv_rx_hash_fields.define('IBV_RX_HASH_DST_PORT_TCP', 32)
IBV_RX_HASH_SRC_PORT_UDP = enum_ibv_rx_hash_fields.define('IBV_RX_HASH_SRC_PORT_UDP', 64)
IBV_RX_HASH_DST_PORT_UDP = enum_ibv_rx_hash_fields.define('IBV_RX_HASH_DST_PORT_UDP', 128)
IBV_RX_HASH_IPSEC_SPI = enum_ibv_rx_hash_fields.define('IBV_RX_HASH_IPSEC_SPI', 256)
IBV_RX_HASH_INNER = enum_ibv_rx_hash_fields.define('IBV_RX_HASH_INNER', 2147483648)
@c.record
class struct_ibv_rss_caps(c.Struct):
SIZE = 32
supported_qpts: Annotated[uint32_t, 0]
max_rwq_indirection_tables: Annotated[uint32_t, 4]
max_rwq_indirection_table_size: Annotated[uint32_t, 8]
rx_hash_fields_mask: Annotated[uint64_t, 16]
rx_hash_function: Annotated[uint8_t, 24]
@c.record
class struct_ibv_packet_pacing_caps(c.Struct):
SIZE = 12
qp_rate_limit_min: Annotated[uint32_t, 0]
qp_rate_limit_max: Annotated[uint32_t, 4]
supported_qpts: Annotated[uint32_t, 8]
class enum_ibv_raw_packet_caps(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_RAW_PACKET_CAP_CVLAN_STRIPPING = enum_ibv_raw_packet_caps.define('IBV_RAW_PACKET_CAP_CVLAN_STRIPPING', 1)
IBV_RAW_PACKET_CAP_SCATTER_FCS = enum_ibv_raw_packet_caps.define('IBV_RAW_PACKET_CAP_SCATTER_FCS', 2)
IBV_RAW_PACKET_CAP_IP_CSUM = enum_ibv_raw_packet_caps.define('IBV_RAW_PACKET_CAP_IP_CSUM', 4)
IBV_RAW_PACKET_CAP_DELAY_DROP = enum_ibv_raw_packet_caps.define('IBV_RAW_PACKET_CAP_DELAY_DROP', 8)
class enum_ibv_tm_cap_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_TM_CAP_RC = enum_ibv_tm_cap_flags.define('IBV_TM_CAP_RC', 1)
@c.record
class struct_ibv_tm_caps(c.Struct):
SIZE = 20
max_rndv_hdr_size: Annotated[uint32_t, 0]
max_num_tags: Annotated[uint32_t, 4]
flags: Annotated[uint32_t, 8]
max_ops: Annotated[uint32_t, 12]
max_sge: Annotated[uint32_t, 16]
@c.record
class struct_ibv_cq_moderation_caps(c.Struct):
SIZE = 4
max_cq_count: Annotated[uint16_t, 0]
max_cq_period: Annotated[uint16_t, 2]
class enum_ibv_pci_atomic_op_size(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_PCI_ATOMIC_OPERATION_4_BYTE_SIZE_SUP = enum_ibv_pci_atomic_op_size.define('IBV_PCI_ATOMIC_OPERATION_4_BYTE_SIZE_SUP', 1)
IBV_PCI_ATOMIC_OPERATION_8_BYTE_SIZE_SUP = enum_ibv_pci_atomic_op_size.define('IBV_PCI_ATOMIC_OPERATION_8_BYTE_SIZE_SUP', 2)
IBV_PCI_ATOMIC_OPERATION_16_BYTE_SIZE_SUP = enum_ibv_pci_atomic_op_size.define('IBV_PCI_ATOMIC_OPERATION_16_BYTE_SIZE_SUP', 4)
@c.record
class struct_ibv_pci_atomic_caps(c.Struct):
SIZE = 6
fetch_add: Annotated[uint16_t, 0]
swap: Annotated[uint16_t, 2]
compare_swap: Annotated[uint16_t, 4]
@c.record
class struct_ibv_device_attr_ex(c.Struct):
SIZE = 400
orig_attr: Annotated[struct_ibv_device_attr, 0]
comp_mask: Annotated[uint32_t, 232]
odp_caps: Annotated[struct_ibv_odp_caps, 240]
completion_timestamp_mask: Annotated[uint64_t, 264]
hca_core_clock: Annotated[uint64_t, 272]
device_cap_flags_ex: Annotated[uint64_t, 280]
tso_caps: Annotated[struct_ibv_tso_caps, 288]
rss_caps: Annotated[struct_ibv_rss_caps, 296]
max_wq_type_rq: Annotated[uint32_t, 328]
packet_pacing_caps: Annotated[struct_ibv_packet_pacing_caps, 332]
raw_packet_caps: Annotated[uint32_t, 344]
tm_caps: Annotated[struct_ibv_tm_caps, 348]
cq_mod_caps: Annotated[struct_ibv_cq_moderation_caps, 368]
max_dm_size: Annotated[uint64_t, 376]
pci_atomic_caps: Annotated[struct_ibv_pci_atomic_caps, 384]
xrc_odp_caps: Annotated[uint32_t, 392]
phys_port_cnt_ex: Annotated[uint32_t, 396]
class enum_ibv_mtu(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_MTU_256 = enum_ibv_mtu.define('IBV_MTU_256', 1)
IBV_MTU_512 = enum_ibv_mtu.define('IBV_MTU_512', 2)
IBV_MTU_1024 = enum_ibv_mtu.define('IBV_MTU_1024', 3)
IBV_MTU_2048 = enum_ibv_mtu.define('IBV_MTU_2048', 4)
IBV_MTU_4096 = enum_ibv_mtu.define('IBV_MTU_4096', 5)
class enum_ibv_port_state(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_PORT_NOP = enum_ibv_port_state.define('IBV_PORT_NOP', 0)
IBV_PORT_DOWN = enum_ibv_port_state.define('IBV_PORT_DOWN', 1)
IBV_PORT_INIT = enum_ibv_port_state.define('IBV_PORT_INIT', 2)
IBV_PORT_ARMED = enum_ibv_port_state.define('IBV_PORT_ARMED', 3)
IBV_PORT_ACTIVE = enum_ibv_port_state.define('IBV_PORT_ACTIVE', 4)
IBV_PORT_ACTIVE_DEFER = enum_ibv_port_state.define('IBV_PORT_ACTIVE_DEFER', 5)
class _anonenum0(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_LINK_LAYER_UNSPECIFIED = _anonenum0.define('IBV_LINK_LAYER_UNSPECIFIED', 0)
IBV_LINK_LAYER_INFINIBAND = _anonenum0.define('IBV_LINK_LAYER_INFINIBAND', 1)
IBV_LINK_LAYER_ETHERNET = _anonenum0.define('IBV_LINK_LAYER_ETHERNET', 2)
class enum_ibv_port_cap_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_PORT_SM = enum_ibv_port_cap_flags.define('IBV_PORT_SM', 2)
IBV_PORT_NOTICE_SUP = enum_ibv_port_cap_flags.define('IBV_PORT_NOTICE_SUP', 4)
IBV_PORT_TRAP_SUP = enum_ibv_port_cap_flags.define('IBV_PORT_TRAP_SUP', 8)
IBV_PORT_OPT_IPD_SUP = enum_ibv_port_cap_flags.define('IBV_PORT_OPT_IPD_SUP', 16)
IBV_PORT_AUTO_MIGR_SUP = enum_ibv_port_cap_flags.define('IBV_PORT_AUTO_MIGR_SUP', 32)
IBV_PORT_SL_MAP_SUP = enum_ibv_port_cap_flags.define('IBV_PORT_SL_MAP_SUP', 64)
IBV_PORT_MKEY_NVRAM = enum_ibv_port_cap_flags.define('IBV_PORT_MKEY_NVRAM', 128)
IBV_PORT_PKEY_NVRAM = enum_ibv_port_cap_flags.define('IBV_PORT_PKEY_NVRAM', 256)
IBV_PORT_LED_INFO_SUP = enum_ibv_port_cap_flags.define('IBV_PORT_LED_INFO_SUP', 512)
IBV_PORT_SYS_IMAGE_GUID_SUP = enum_ibv_port_cap_flags.define('IBV_PORT_SYS_IMAGE_GUID_SUP', 2048)
IBV_PORT_PKEY_SW_EXT_PORT_TRAP_SUP = enum_ibv_port_cap_flags.define('IBV_PORT_PKEY_SW_EXT_PORT_TRAP_SUP', 4096)
IBV_PORT_EXTENDED_SPEEDS_SUP = enum_ibv_port_cap_flags.define('IBV_PORT_EXTENDED_SPEEDS_SUP', 16384)
IBV_PORT_CAP_MASK2_SUP = enum_ibv_port_cap_flags.define('IBV_PORT_CAP_MASK2_SUP', 32768)
IBV_PORT_CM_SUP = enum_ibv_port_cap_flags.define('IBV_PORT_CM_SUP', 65536)
IBV_PORT_SNMP_TUNNEL_SUP = enum_ibv_port_cap_flags.define('IBV_PORT_SNMP_TUNNEL_SUP', 131072)
IBV_PORT_REINIT_SUP = enum_ibv_port_cap_flags.define('IBV_PORT_REINIT_SUP', 262144)
IBV_PORT_DEVICE_MGMT_SUP = enum_ibv_port_cap_flags.define('IBV_PORT_DEVICE_MGMT_SUP', 524288)
IBV_PORT_VENDOR_CLASS_SUP = enum_ibv_port_cap_flags.define('IBV_PORT_VENDOR_CLASS_SUP', 1048576)
IBV_PORT_DR_NOTICE_SUP = enum_ibv_port_cap_flags.define('IBV_PORT_DR_NOTICE_SUP', 2097152)
IBV_PORT_CAP_MASK_NOTICE_SUP = enum_ibv_port_cap_flags.define('IBV_PORT_CAP_MASK_NOTICE_SUP', 4194304)
IBV_PORT_BOOT_MGMT_SUP = enum_ibv_port_cap_flags.define('IBV_PORT_BOOT_MGMT_SUP', 8388608)
IBV_PORT_LINK_LATENCY_SUP = enum_ibv_port_cap_flags.define('IBV_PORT_LINK_LATENCY_SUP', 16777216)
IBV_PORT_CLIENT_REG_SUP = enum_ibv_port_cap_flags.define('IBV_PORT_CLIENT_REG_SUP', 33554432)
IBV_PORT_IP_BASED_GIDS = enum_ibv_port_cap_flags.define('IBV_PORT_IP_BASED_GIDS', 67108864)
class enum_ibv_port_cap_flags2(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_PORT_SET_NODE_DESC_SUP = enum_ibv_port_cap_flags2.define('IBV_PORT_SET_NODE_DESC_SUP', 1)
IBV_PORT_INFO_EXT_SUP = enum_ibv_port_cap_flags2.define('IBV_PORT_INFO_EXT_SUP', 2)
IBV_PORT_VIRT_SUP = enum_ibv_port_cap_flags2.define('IBV_PORT_VIRT_SUP', 4)
IBV_PORT_SWITCH_PORT_STATE_TABLE_SUP = enum_ibv_port_cap_flags2.define('IBV_PORT_SWITCH_PORT_STATE_TABLE_SUP', 8)
IBV_PORT_LINK_WIDTH_2X_SUP = enum_ibv_port_cap_flags2.define('IBV_PORT_LINK_WIDTH_2X_SUP', 16)
IBV_PORT_LINK_SPEED_HDR_SUP = enum_ibv_port_cap_flags2.define('IBV_PORT_LINK_SPEED_HDR_SUP', 32)
IBV_PORT_LINK_SPEED_NDR_SUP = enum_ibv_port_cap_flags2.define('IBV_PORT_LINK_SPEED_NDR_SUP', 1024)
IBV_PORT_LINK_SPEED_XDR_SUP = enum_ibv_port_cap_flags2.define('IBV_PORT_LINK_SPEED_XDR_SUP', 4096)
@c.record
class struct_ibv_port_attr(c.Struct):
SIZE = 56
state: Annotated[enum_ibv_port_state, 0]
max_mtu: Annotated[enum_ibv_mtu, 4]
active_mtu: Annotated[enum_ibv_mtu, 8]
gid_tbl_len: Annotated[Annotated[int, ctypes.c_int32], 12]
port_cap_flags: Annotated[uint32_t, 16]
max_msg_sz: Annotated[uint32_t, 20]
bad_pkey_cntr: Annotated[uint32_t, 24]
qkey_viol_cntr: Annotated[uint32_t, 28]
pkey_tbl_len: Annotated[uint16_t, 32]
lid: Annotated[uint16_t, 34]
sm_lid: Annotated[uint16_t, 36]
lmc: Annotated[uint8_t, 38]
max_vl_num: Annotated[uint8_t, 39]
sm_sl: Annotated[uint8_t, 40]
subnet_timeout: Annotated[uint8_t, 41]
init_type_reply: Annotated[uint8_t, 42]
active_width: Annotated[uint8_t, 43]
active_speed: Annotated[uint8_t, 44]
phys_state: Annotated[uint8_t, 45]
link_layer: Annotated[uint8_t, 46]
flags: Annotated[uint8_t, 47]
port_cap_flags2: Annotated[uint16_t, 48]
active_speed_ex: Annotated[uint32_t, 52]
class enum_ibv_event_type(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_EVENT_CQ_ERR = enum_ibv_event_type.define('IBV_EVENT_CQ_ERR', 0)
IBV_EVENT_QP_FATAL = enum_ibv_event_type.define('IBV_EVENT_QP_FATAL', 1)
IBV_EVENT_QP_REQ_ERR = enum_ibv_event_type.define('IBV_EVENT_QP_REQ_ERR', 2)
IBV_EVENT_QP_ACCESS_ERR = enum_ibv_event_type.define('IBV_EVENT_QP_ACCESS_ERR', 3)
IBV_EVENT_COMM_EST = enum_ibv_event_type.define('IBV_EVENT_COMM_EST', 4)
IBV_EVENT_SQ_DRAINED = enum_ibv_event_type.define('IBV_EVENT_SQ_DRAINED', 5)
IBV_EVENT_PATH_MIG = enum_ibv_event_type.define('IBV_EVENT_PATH_MIG', 6)
IBV_EVENT_PATH_MIG_ERR = enum_ibv_event_type.define('IBV_EVENT_PATH_MIG_ERR', 7)
IBV_EVENT_DEVICE_FATAL = enum_ibv_event_type.define('IBV_EVENT_DEVICE_FATAL', 8)
IBV_EVENT_PORT_ACTIVE = enum_ibv_event_type.define('IBV_EVENT_PORT_ACTIVE', 9)
IBV_EVENT_PORT_ERR = enum_ibv_event_type.define('IBV_EVENT_PORT_ERR', 10)
IBV_EVENT_LID_CHANGE = enum_ibv_event_type.define('IBV_EVENT_LID_CHANGE', 11)
IBV_EVENT_PKEY_CHANGE = enum_ibv_event_type.define('IBV_EVENT_PKEY_CHANGE', 12)
IBV_EVENT_SM_CHANGE = enum_ibv_event_type.define('IBV_EVENT_SM_CHANGE', 13)
IBV_EVENT_SRQ_ERR = enum_ibv_event_type.define('IBV_EVENT_SRQ_ERR', 14)
IBV_EVENT_SRQ_LIMIT_REACHED = enum_ibv_event_type.define('IBV_EVENT_SRQ_LIMIT_REACHED', 15)
IBV_EVENT_QP_LAST_WQE_REACHED = enum_ibv_event_type.define('IBV_EVENT_QP_LAST_WQE_REACHED', 16)
IBV_EVENT_CLIENT_REREGISTER = enum_ibv_event_type.define('IBV_EVENT_CLIENT_REREGISTER', 17)
IBV_EVENT_GID_CHANGE = enum_ibv_event_type.define('IBV_EVENT_GID_CHANGE', 18)
IBV_EVENT_WQ_FATAL = enum_ibv_event_type.define('IBV_EVENT_WQ_FATAL', 19)
@c.record
class struct_ibv_async_event(c.Struct):
SIZE = 16
element: Annotated[struct_ibv_async_event_element, 0]
event_type: Annotated[enum_ibv_event_type, 8]
@c.record
class struct_ibv_async_event_element(c.Struct):
SIZE = 8
cq: Annotated[c.POINTER[struct_ibv_cq], 0]
qp: Annotated[c.POINTER[struct_ibv_qp], 0]
srq: Annotated[c.POINTER[struct_ibv_srq], 0]
wq: Annotated[c.POINTER[struct_ibv_wq], 0]
port_num: Annotated[Annotated[int, ctypes.c_int32], 0]
@c.record
class struct_ibv_wq(c.Struct):
SIZE = 152
context: Annotated[c.POINTER[struct_ibv_context], 0]
wq_context: Annotated[ctypes.c_void_p, 8]
pd: Annotated[c.POINTER[struct_ibv_pd], 16]
cq: Annotated[c.POINTER[struct_ibv_cq], 24]
wq_num: Annotated[uint32_t, 32]
handle: Annotated[uint32_t, 36]
state: Annotated[enum_ibv_wq_state, 40]
wq_type: Annotated[enum_ibv_wq_type, 44]
post_recv: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_wq], c.POINTER[struct_ibv_recv_wr], c.POINTER[c.POINTER[struct_ibv_recv_wr]]]], 48]
mutex: Annotated[pthread_mutex_t, 56]
cond: Annotated[pthread_cond_t, 96]
events_completed: Annotated[uint32_t, 144]
comp_mask: Annotated[uint32_t, 148]
class enum_ibv_wq_state(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_WQS_RESET = enum_ibv_wq_state.define('IBV_WQS_RESET', 0)
IBV_WQS_RDY = enum_ibv_wq_state.define('IBV_WQS_RDY', 1)
IBV_WQS_ERR = enum_ibv_wq_state.define('IBV_WQS_ERR', 2)
IBV_WQS_UNKNOWN = enum_ibv_wq_state.define('IBV_WQS_UNKNOWN', 3)
class enum_ibv_wq_type(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_WQT_RQ = enum_ibv_wq_type.define('IBV_WQT_RQ', 0)
@dll.bind
def ibv_wc_status_str(status:enum_ibv_wc_status) -> c.POINTER[Annotated[bytes, ctypes.c_char]]: ...
class _anonenum1(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_WC_IP_CSUM_OK_SHIFT = _anonenum1.define('IBV_WC_IP_CSUM_OK_SHIFT', 2)
class enum_ibv_create_cq_wc_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_WC_EX_WITH_BYTE_LEN = enum_ibv_create_cq_wc_flags.define('IBV_WC_EX_WITH_BYTE_LEN', 1)
IBV_WC_EX_WITH_IMM = enum_ibv_create_cq_wc_flags.define('IBV_WC_EX_WITH_IMM', 2)
IBV_WC_EX_WITH_QP_NUM = enum_ibv_create_cq_wc_flags.define('IBV_WC_EX_WITH_QP_NUM', 4)
IBV_WC_EX_WITH_SRC_QP = enum_ibv_create_cq_wc_flags.define('IBV_WC_EX_WITH_SRC_QP', 8)
IBV_WC_EX_WITH_SLID = enum_ibv_create_cq_wc_flags.define('IBV_WC_EX_WITH_SLID', 16)
IBV_WC_EX_WITH_SL = enum_ibv_create_cq_wc_flags.define('IBV_WC_EX_WITH_SL', 32)
IBV_WC_EX_WITH_DLID_PATH_BITS = enum_ibv_create_cq_wc_flags.define('IBV_WC_EX_WITH_DLID_PATH_BITS', 64)
IBV_WC_EX_WITH_COMPLETION_TIMESTAMP = enum_ibv_create_cq_wc_flags.define('IBV_WC_EX_WITH_COMPLETION_TIMESTAMP', 128)
IBV_WC_EX_WITH_CVLAN = enum_ibv_create_cq_wc_flags.define('IBV_WC_EX_WITH_CVLAN', 256)
IBV_WC_EX_WITH_FLOW_TAG = enum_ibv_create_cq_wc_flags.define('IBV_WC_EX_WITH_FLOW_TAG', 512)
IBV_WC_EX_WITH_TM_INFO = enum_ibv_create_cq_wc_flags.define('IBV_WC_EX_WITH_TM_INFO', 1024)
IBV_WC_EX_WITH_COMPLETION_TIMESTAMP_WALLCLOCK = enum_ibv_create_cq_wc_flags.define('IBV_WC_EX_WITH_COMPLETION_TIMESTAMP_WALLCLOCK', 2048)
class _anonenum2(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_WC_STANDARD_FLAGS = _anonenum2.define('IBV_WC_STANDARD_FLAGS', 127)
class _anonenum3(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_CREATE_CQ_SUP_WC_FLAGS = _anonenum3.define('IBV_CREATE_CQ_SUP_WC_FLAGS', 4095)
class enum_ibv_wc_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_WC_GRH = enum_ibv_wc_flags.define('IBV_WC_GRH', 1)
IBV_WC_WITH_IMM = enum_ibv_wc_flags.define('IBV_WC_WITH_IMM', 2)
IBV_WC_IP_CSUM_OK = enum_ibv_wc_flags.define('IBV_WC_IP_CSUM_OK', 4)
IBV_WC_WITH_INV = enum_ibv_wc_flags.define('IBV_WC_WITH_INV', 8)
IBV_WC_TM_SYNC_REQ = enum_ibv_wc_flags.define('IBV_WC_TM_SYNC_REQ', 16)
IBV_WC_TM_MATCH = enum_ibv_wc_flags.define('IBV_WC_TM_MATCH', 32)
IBV_WC_TM_DATA_VALID = enum_ibv_wc_flags.define('IBV_WC_TM_DATA_VALID', 64)
class enum_ibv_access_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_ACCESS_LOCAL_WRITE = enum_ibv_access_flags.define('IBV_ACCESS_LOCAL_WRITE', 1)
IBV_ACCESS_REMOTE_WRITE = enum_ibv_access_flags.define('IBV_ACCESS_REMOTE_WRITE', 2)
IBV_ACCESS_REMOTE_READ = enum_ibv_access_flags.define('IBV_ACCESS_REMOTE_READ', 4)
IBV_ACCESS_REMOTE_ATOMIC = enum_ibv_access_flags.define('IBV_ACCESS_REMOTE_ATOMIC', 8)
IBV_ACCESS_MW_BIND = enum_ibv_access_flags.define('IBV_ACCESS_MW_BIND', 16)
IBV_ACCESS_ZERO_BASED = enum_ibv_access_flags.define('IBV_ACCESS_ZERO_BASED', 32)
IBV_ACCESS_ON_DEMAND = enum_ibv_access_flags.define('IBV_ACCESS_ON_DEMAND', 64)
IBV_ACCESS_HUGETLB = enum_ibv_access_flags.define('IBV_ACCESS_HUGETLB', 128)
IBV_ACCESS_FLUSH_GLOBAL = enum_ibv_access_flags.define('IBV_ACCESS_FLUSH_GLOBAL', 256)
IBV_ACCESS_FLUSH_PERSISTENT = enum_ibv_access_flags.define('IBV_ACCESS_FLUSH_PERSISTENT', 512)
IBV_ACCESS_RELAXED_ORDERING = enum_ibv_access_flags.define('IBV_ACCESS_RELAXED_ORDERING', 1048576)
@c.record
class struct_ibv_td_init_attr(c.Struct):
SIZE = 4
comp_mask: Annotated[uint32_t, 0]
@c.record
class struct_ibv_td(c.Struct):
SIZE = 8
context: Annotated[c.POINTER[struct_ibv_context], 0]
class enum_ibv_xrcd_init_attr_mask(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_XRCD_INIT_ATTR_FD = enum_ibv_xrcd_init_attr_mask.define('IBV_XRCD_INIT_ATTR_FD', 1)
IBV_XRCD_INIT_ATTR_OFLAGS = enum_ibv_xrcd_init_attr_mask.define('IBV_XRCD_INIT_ATTR_OFLAGS', 2)
IBV_XRCD_INIT_ATTR_RESERVED = enum_ibv_xrcd_init_attr_mask.define('IBV_XRCD_INIT_ATTR_RESERVED', 4)
@c.record
class struct_ibv_xrcd_init_attr(c.Struct):
SIZE = 12
comp_mask: Annotated[uint32_t, 0]
fd: Annotated[Annotated[int, ctypes.c_int32], 4]
oflags: Annotated[Annotated[int, ctypes.c_int32], 8]
@c.record
class struct_ibv_xrcd(c.Struct):
SIZE = 8
context: Annotated[c.POINTER[struct_ibv_context], 0]
class enum_ibv_rereg_mr_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_REREG_MR_CHANGE_TRANSLATION = enum_ibv_rereg_mr_flags.define('IBV_REREG_MR_CHANGE_TRANSLATION', 1)
IBV_REREG_MR_CHANGE_PD = enum_ibv_rereg_mr_flags.define('IBV_REREG_MR_CHANGE_PD', 2)
IBV_REREG_MR_CHANGE_ACCESS = enum_ibv_rereg_mr_flags.define('IBV_REREG_MR_CHANGE_ACCESS', 4)
IBV_REREG_MR_FLAGS_SUPPORTED = enum_ibv_rereg_mr_flags.define('IBV_REREG_MR_FLAGS_SUPPORTED', 7)
@c.record
class struct_ibv_global_route(c.Struct):
SIZE = 24
dgid: Annotated[union_ibv_gid, 0]
flow_label: Annotated[uint32_t, 16]
sgid_index: Annotated[uint8_t, 20]
hop_limit: Annotated[uint8_t, 21]
traffic_class: Annotated[uint8_t, 22]
@c.record
class struct_ibv_grh(c.Struct):
SIZE = 40
version_tclass_flow: Annotated[Annotated[int, ctypes.c_uint32], 0]
paylen: Annotated[Annotated[int, ctypes.c_uint16], 4]
next_hdr: Annotated[uint8_t, 6]
hop_limit: Annotated[uint8_t, 7]
sgid: Annotated[union_ibv_gid, 8]
dgid: Annotated[union_ibv_gid, 24]
__be16: TypeAlias = Annotated[int, ctypes.c_uint16]
class enum_ibv_rate(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_RATE_MAX = enum_ibv_rate.define('IBV_RATE_MAX', 0)
IBV_RATE_2_5_GBPS = enum_ibv_rate.define('IBV_RATE_2_5_GBPS', 2)
IBV_RATE_5_GBPS = enum_ibv_rate.define('IBV_RATE_5_GBPS', 5)
IBV_RATE_10_GBPS = enum_ibv_rate.define('IBV_RATE_10_GBPS', 3)
IBV_RATE_20_GBPS = enum_ibv_rate.define('IBV_RATE_20_GBPS', 6)
IBV_RATE_30_GBPS = enum_ibv_rate.define('IBV_RATE_30_GBPS', 4)
IBV_RATE_40_GBPS = enum_ibv_rate.define('IBV_RATE_40_GBPS', 7)
IBV_RATE_60_GBPS = enum_ibv_rate.define('IBV_RATE_60_GBPS', 8)
IBV_RATE_80_GBPS = enum_ibv_rate.define('IBV_RATE_80_GBPS', 9)
IBV_RATE_120_GBPS = enum_ibv_rate.define('IBV_RATE_120_GBPS', 10)
IBV_RATE_14_GBPS = enum_ibv_rate.define('IBV_RATE_14_GBPS', 11)
IBV_RATE_56_GBPS = enum_ibv_rate.define('IBV_RATE_56_GBPS', 12)
IBV_RATE_112_GBPS = enum_ibv_rate.define('IBV_RATE_112_GBPS', 13)
IBV_RATE_168_GBPS = enum_ibv_rate.define('IBV_RATE_168_GBPS', 14)
IBV_RATE_25_GBPS = enum_ibv_rate.define('IBV_RATE_25_GBPS', 15)
IBV_RATE_100_GBPS = enum_ibv_rate.define('IBV_RATE_100_GBPS', 16)
IBV_RATE_200_GBPS = enum_ibv_rate.define('IBV_RATE_200_GBPS', 17)
IBV_RATE_300_GBPS = enum_ibv_rate.define('IBV_RATE_300_GBPS', 18)
IBV_RATE_28_GBPS = enum_ibv_rate.define('IBV_RATE_28_GBPS', 19)
IBV_RATE_50_GBPS = enum_ibv_rate.define('IBV_RATE_50_GBPS', 20)
IBV_RATE_400_GBPS = enum_ibv_rate.define('IBV_RATE_400_GBPS', 21)
IBV_RATE_600_GBPS = enum_ibv_rate.define('IBV_RATE_600_GBPS', 22)
IBV_RATE_800_GBPS = enum_ibv_rate.define('IBV_RATE_800_GBPS', 23)
IBV_RATE_1200_GBPS = enum_ibv_rate.define('IBV_RATE_1200_GBPS', 24)
@dll.bind
def ibv_rate_to_mult(rate:enum_ibv_rate) -> Annotated[int, ctypes.c_int32]: ...
@dll.bind
def mult_to_ibv_rate(mult:Annotated[int, ctypes.c_int32]) -> enum_ibv_rate: ...
@dll.bind
def ibv_rate_to_mbps(rate:enum_ibv_rate) -> Annotated[int, ctypes.c_int32]: ...
@dll.bind
def mbps_to_ibv_rate(mbps:Annotated[int, ctypes.c_int32]) -> enum_ibv_rate: ...
@c.record
class struct_ibv_ah_attr(c.Struct):
SIZE = 32
grh: Annotated[struct_ibv_global_route, 0]
dlid: Annotated[uint16_t, 24]
sl: Annotated[uint8_t, 26]
src_path_bits: Annotated[uint8_t, 27]
static_rate: Annotated[uint8_t, 28]
is_global: Annotated[uint8_t, 29]
port_num: Annotated[uint8_t, 30]
class enum_ibv_srq_attr_mask(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_SRQ_MAX_WR = enum_ibv_srq_attr_mask.define('IBV_SRQ_MAX_WR', 1)
IBV_SRQ_LIMIT = enum_ibv_srq_attr_mask.define('IBV_SRQ_LIMIT', 2)
@c.record
class struct_ibv_srq_attr(c.Struct):
SIZE = 12
max_wr: Annotated[uint32_t, 0]
max_sge: Annotated[uint32_t, 4]
srq_limit: Annotated[uint32_t, 8]
@c.record
class struct_ibv_srq_init_attr(c.Struct):
SIZE = 24
srq_context: Annotated[ctypes.c_void_p, 0]
attr: Annotated[struct_ibv_srq_attr, 8]
class enum_ibv_srq_type(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_SRQT_BASIC = enum_ibv_srq_type.define('IBV_SRQT_BASIC', 0)
IBV_SRQT_XRC = enum_ibv_srq_type.define('IBV_SRQT_XRC', 1)
IBV_SRQT_TM = enum_ibv_srq_type.define('IBV_SRQT_TM', 2)
class enum_ibv_srq_init_attr_mask(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_SRQ_INIT_ATTR_TYPE = enum_ibv_srq_init_attr_mask.define('IBV_SRQ_INIT_ATTR_TYPE', 1)
IBV_SRQ_INIT_ATTR_PD = enum_ibv_srq_init_attr_mask.define('IBV_SRQ_INIT_ATTR_PD', 2)
IBV_SRQ_INIT_ATTR_XRCD = enum_ibv_srq_init_attr_mask.define('IBV_SRQ_INIT_ATTR_XRCD', 4)
IBV_SRQ_INIT_ATTR_CQ = enum_ibv_srq_init_attr_mask.define('IBV_SRQ_INIT_ATTR_CQ', 8)
IBV_SRQ_INIT_ATTR_TM = enum_ibv_srq_init_attr_mask.define('IBV_SRQ_INIT_ATTR_TM', 16)
IBV_SRQ_INIT_ATTR_RESERVED = enum_ibv_srq_init_attr_mask.define('IBV_SRQ_INIT_ATTR_RESERVED', 32)
@c.record
class struct_ibv_tm_cap(c.Struct):
SIZE = 8
max_num_tags: Annotated[uint32_t, 0]
max_ops: Annotated[uint32_t, 4]
@c.record
class struct_ibv_srq_init_attr_ex(c.Struct):
SIZE = 64
srq_context: Annotated[ctypes.c_void_p, 0]
attr: Annotated[struct_ibv_srq_attr, 8]
comp_mask: Annotated[uint32_t, 20]
srq_type: Annotated[enum_ibv_srq_type, 24]
pd: Annotated[c.POINTER[struct_ibv_pd], 32]
xrcd: Annotated[c.POINTER[struct_ibv_xrcd], 40]
cq: Annotated[c.POINTER[struct_ibv_cq], 48]
tm_cap: Annotated[struct_ibv_tm_cap, 56]
class enum_ibv_wq_init_attr_mask(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_WQ_INIT_ATTR_FLAGS = enum_ibv_wq_init_attr_mask.define('IBV_WQ_INIT_ATTR_FLAGS', 1)
IBV_WQ_INIT_ATTR_RESERVED = enum_ibv_wq_init_attr_mask.define('IBV_WQ_INIT_ATTR_RESERVED', 2)
class enum_ibv_wq_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_WQ_FLAGS_CVLAN_STRIPPING = enum_ibv_wq_flags.define('IBV_WQ_FLAGS_CVLAN_STRIPPING', 1)
IBV_WQ_FLAGS_SCATTER_FCS = enum_ibv_wq_flags.define('IBV_WQ_FLAGS_SCATTER_FCS', 2)
IBV_WQ_FLAGS_DELAY_DROP = enum_ibv_wq_flags.define('IBV_WQ_FLAGS_DELAY_DROP', 4)
IBV_WQ_FLAGS_PCI_WRITE_END_PADDING = enum_ibv_wq_flags.define('IBV_WQ_FLAGS_PCI_WRITE_END_PADDING', 8)
IBV_WQ_FLAGS_RESERVED = enum_ibv_wq_flags.define('IBV_WQ_FLAGS_RESERVED', 16)
@c.record
class struct_ibv_wq_init_attr(c.Struct):
SIZE = 48
wq_context: Annotated[ctypes.c_void_p, 0]
wq_type: Annotated[enum_ibv_wq_type, 8]
max_wr: Annotated[uint32_t, 12]
max_sge: Annotated[uint32_t, 16]
pd: Annotated[c.POINTER[struct_ibv_pd], 24]
cq: Annotated[c.POINTER[struct_ibv_cq], 32]
comp_mask: Annotated[uint32_t, 40]
create_flags: Annotated[uint32_t, 44]
class enum_ibv_wq_attr_mask(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_WQ_ATTR_STATE = enum_ibv_wq_attr_mask.define('IBV_WQ_ATTR_STATE', 1)
IBV_WQ_ATTR_CURR_STATE = enum_ibv_wq_attr_mask.define('IBV_WQ_ATTR_CURR_STATE', 2)
IBV_WQ_ATTR_FLAGS = enum_ibv_wq_attr_mask.define('IBV_WQ_ATTR_FLAGS', 4)
IBV_WQ_ATTR_RESERVED = enum_ibv_wq_attr_mask.define('IBV_WQ_ATTR_RESERVED', 8)
@c.record
class struct_ibv_wq_attr(c.Struct):
SIZE = 20
attr_mask: Annotated[uint32_t, 0]
wq_state: Annotated[enum_ibv_wq_state, 4]
curr_wq_state: Annotated[enum_ibv_wq_state, 8]
flags: Annotated[uint32_t, 12]
flags_mask: Annotated[uint32_t, 16]
@c.record
class struct_ibv_rwq_ind_table(c.Struct):
SIZE = 24
context: Annotated[c.POINTER[struct_ibv_context], 0]
ind_tbl_handle: Annotated[Annotated[int, ctypes.c_int32], 8]
ind_tbl_num: Annotated[Annotated[int, ctypes.c_int32], 12]
comp_mask: Annotated[uint32_t, 16]
class enum_ibv_ind_table_init_attr_mask(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_CREATE_IND_TABLE_RESERVED = enum_ibv_ind_table_init_attr_mask.define('IBV_CREATE_IND_TABLE_RESERVED', 1)
@c.record
class struct_ibv_rwq_ind_table_init_attr(c.Struct):
SIZE = 24
log_ind_tbl_size: Annotated[uint32_t, 0]
ind_tbl: Annotated[c.POINTER[c.POINTER[struct_ibv_wq]], 8]
comp_mask: Annotated[uint32_t, 16]
@c.record
class struct_ibv_qp_cap(c.Struct):
SIZE = 20
max_send_wr: Annotated[uint32_t, 0]
max_recv_wr: Annotated[uint32_t, 4]
max_send_sge: Annotated[uint32_t, 8]
max_recv_sge: Annotated[uint32_t, 12]
max_inline_data: Annotated[uint32_t, 16]
@c.record
class struct_ibv_qp_init_attr(c.Struct):
SIZE = 64
qp_context: Annotated[ctypes.c_void_p, 0]
send_cq: Annotated[c.POINTER[struct_ibv_cq], 8]
recv_cq: Annotated[c.POINTER[struct_ibv_cq], 16]
srq: Annotated[c.POINTER[struct_ibv_srq], 24]
cap: Annotated[struct_ibv_qp_cap, 32]
qp_type: Annotated[enum_ibv_qp_type, 52]
sq_sig_all: Annotated[Annotated[int, ctypes.c_int32], 56]
class enum_ibv_qp_init_attr_mask(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_QP_INIT_ATTR_PD = enum_ibv_qp_init_attr_mask.define('IBV_QP_INIT_ATTR_PD', 1)
IBV_QP_INIT_ATTR_XRCD = enum_ibv_qp_init_attr_mask.define('IBV_QP_INIT_ATTR_XRCD', 2)
IBV_QP_INIT_ATTR_CREATE_FLAGS = enum_ibv_qp_init_attr_mask.define('IBV_QP_INIT_ATTR_CREATE_FLAGS', 4)
IBV_QP_INIT_ATTR_MAX_TSO_HEADER = enum_ibv_qp_init_attr_mask.define('IBV_QP_INIT_ATTR_MAX_TSO_HEADER', 8)
IBV_QP_INIT_ATTR_IND_TABLE = enum_ibv_qp_init_attr_mask.define('IBV_QP_INIT_ATTR_IND_TABLE', 16)
IBV_QP_INIT_ATTR_RX_HASH = enum_ibv_qp_init_attr_mask.define('IBV_QP_INIT_ATTR_RX_HASH', 32)
IBV_QP_INIT_ATTR_SEND_OPS_FLAGS = enum_ibv_qp_init_attr_mask.define('IBV_QP_INIT_ATTR_SEND_OPS_FLAGS', 64)
class enum_ibv_qp_create_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_QP_CREATE_BLOCK_SELF_MCAST_LB = enum_ibv_qp_create_flags.define('IBV_QP_CREATE_BLOCK_SELF_MCAST_LB', 2)
IBV_QP_CREATE_SCATTER_FCS = enum_ibv_qp_create_flags.define('IBV_QP_CREATE_SCATTER_FCS', 256)
IBV_QP_CREATE_CVLAN_STRIPPING = enum_ibv_qp_create_flags.define('IBV_QP_CREATE_CVLAN_STRIPPING', 512)
IBV_QP_CREATE_SOURCE_QPN = enum_ibv_qp_create_flags.define('IBV_QP_CREATE_SOURCE_QPN', 1024)
IBV_QP_CREATE_PCI_WRITE_END_PADDING = enum_ibv_qp_create_flags.define('IBV_QP_CREATE_PCI_WRITE_END_PADDING', 2048)
class enum_ibv_qp_create_send_ops_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_QP_EX_WITH_RDMA_WRITE = enum_ibv_qp_create_send_ops_flags.define('IBV_QP_EX_WITH_RDMA_WRITE', 1)
IBV_QP_EX_WITH_RDMA_WRITE_WITH_IMM = enum_ibv_qp_create_send_ops_flags.define('IBV_QP_EX_WITH_RDMA_WRITE_WITH_IMM', 2)
IBV_QP_EX_WITH_SEND = enum_ibv_qp_create_send_ops_flags.define('IBV_QP_EX_WITH_SEND', 4)
IBV_QP_EX_WITH_SEND_WITH_IMM = enum_ibv_qp_create_send_ops_flags.define('IBV_QP_EX_WITH_SEND_WITH_IMM', 8)
IBV_QP_EX_WITH_RDMA_READ = enum_ibv_qp_create_send_ops_flags.define('IBV_QP_EX_WITH_RDMA_READ', 16)
IBV_QP_EX_WITH_ATOMIC_CMP_AND_SWP = enum_ibv_qp_create_send_ops_flags.define('IBV_QP_EX_WITH_ATOMIC_CMP_AND_SWP', 32)
IBV_QP_EX_WITH_ATOMIC_FETCH_AND_ADD = enum_ibv_qp_create_send_ops_flags.define('IBV_QP_EX_WITH_ATOMIC_FETCH_AND_ADD', 64)
IBV_QP_EX_WITH_LOCAL_INV = enum_ibv_qp_create_send_ops_flags.define('IBV_QP_EX_WITH_LOCAL_INV', 128)
IBV_QP_EX_WITH_BIND_MW = enum_ibv_qp_create_send_ops_flags.define('IBV_QP_EX_WITH_BIND_MW', 256)
IBV_QP_EX_WITH_SEND_WITH_INV = enum_ibv_qp_create_send_ops_flags.define('IBV_QP_EX_WITH_SEND_WITH_INV', 512)
IBV_QP_EX_WITH_TSO = enum_ibv_qp_create_send_ops_flags.define('IBV_QP_EX_WITH_TSO', 1024)
IBV_QP_EX_WITH_FLUSH = enum_ibv_qp_create_send_ops_flags.define('IBV_QP_EX_WITH_FLUSH', 2048)
IBV_QP_EX_WITH_ATOMIC_WRITE = enum_ibv_qp_create_send_ops_flags.define('IBV_QP_EX_WITH_ATOMIC_WRITE', 4096)
@c.record
class struct_ibv_rx_hash_conf(c.Struct):
SIZE = 24
rx_hash_function: Annotated[uint8_t, 0]
rx_hash_key_len: Annotated[uint8_t, 1]
rx_hash_key: Annotated[c.POINTER[uint8_t], 8]
rx_hash_fields_mask: Annotated[uint64_t, 16]
@c.record
class struct_ibv_qp_init_attr_ex(c.Struct):
SIZE = 136
qp_context: Annotated[ctypes.c_void_p, 0]
send_cq: Annotated[c.POINTER[struct_ibv_cq], 8]
recv_cq: Annotated[c.POINTER[struct_ibv_cq], 16]
srq: Annotated[c.POINTER[struct_ibv_srq], 24]
cap: Annotated[struct_ibv_qp_cap, 32]
qp_type: Annotated[enum_ibv_qp_type, 52]
sq_sig_all: Annotated[Annotated[int, ctypes.c_int32], 56]
comp_mask: Annotated[uint32_t, 60]
pd: Annotated[c.POINTER[struct_ibv_pd], 64]
xrcd: Annotated[c.POINTER[struct_ibv_xrcd], 72]
create_flags: Annotated[uint32_t, 80]
max_tso_header: Annotated[uint16_t, 84]
rwq_ind_tbl: Annotated[c.POINTER[struct_ibv_rwq_ind_table], 88]
rx_hash_conf: Annotated[struct_ibv_rx_hash_conf, 96]
source_qpn: Annotated[uint32_t, 120]
send_ops_flags: Annotated[uint64_t, 128]
class enum_ibv_qp_open_attr_mask(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_QP_OPEN_ATTR_NUM = enum_ibv_qp_open_attr_mask.define('IBV_QP_OPEN_ATTR_NUM', 1)
IBV_QP_OPEN_ATTR_XRCD = enum_ibv_qp_open_attr_mask.define('IBV_QP_OPEN_ATTR_XRCD', 2)
IBV_QP_OPEN_ATTR_CONTEXT = enum_ibv_qp_open_attr_mask.define('IBV_QP_OPEN_ATTR_CONTEXT', 4)
IBV_QP_OPEN_ATTR_TYPE = enum_ibv_qp_open_attr_mask.define('IBV_QP_OPEN_ATTR_TYPE', 8)
IBV_QP_OPEN_ATTR_RESERVED = enum_ibv_qp_open_attr_mask.define('IBV_QP_OPEN_ATTR_RESERVED', 16)
@c.record
class struct_ibv_qp_open_attr(c.Struct):
SIZE = 32
comp_mask: Annotated[uint32_t, 0]
qp_num: Annotated[uint32_t, 4]
xrcd: Annotated[c.POINTER[struct_ibv_xrcd], 8]
qp_context: Annotated[ctypes.c_void_p, 16]
qp_type: Annotated[enum_ibv_qp_type, 24]
class enum_ibv_qp_attr_mask(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_QP_STATE = enum_ibv_qp_attr_mask.define('IBV_QP_STATE', 1)
IBV_QP_CUR_STATE = enum_ibv_qp_attr_mask.define('IBV_QP_CUR_STATE', 2)
IBV_QP_EN_SQD_ASYNC_NOTIFY = enum_ibv_qp_attr_mask.define('IBV_QP_EN_SQD_ASYNC_NOTIFY', 4)
IBV_QP_ACCESS_FLAGS = enum_ibv_qp_attr_mask.define('IBV_QP_ACCESS_FLAGS', 8)
IBV_QP_PKEY_INDEX = enum_ibv_qp_attr_mask.define('IBV_QP_PKEY_INDEX', 16)
IBV_QP_PORT = enum_ibv_qp_attr_mask.define('IBV_QP_PORT', 32)
IBV_QP_QKEY = enum_ibv_qp_attr_mask.define('IBV_QP_QKEY', 64)
IBV_QP_AV = enum_ibv_qp_attr_mask.define('IBV_QP_AV', 128)
IBV_QP_PATH_MTU = enum_ibv_qp_attr_mask.define('IBV_QP_PATH_MTU', 256)
IBV_QP_TIMEOUT = enum_ibv_qp_attr_mask.define('IBV_QP_TIMEOUT', 512)
IBV_QP_RETRY_CNT = enum_ibv_qp_attr_mask.define('IBV_QP_RETRY_CNT', 1024)
IBV_QP_RNR_RETRY = enum_ibv_qp_attr_mask.define('IBV_QP_RNR_RETRY', 2048)
IBV_QP_RQ_PSN = enum_ibv_qp_attr_mask.define('IBV_QP_RQ_PSN', 4096)
IBV_QP_MAX_QP_RD_ATOMIC = enum_ibv_qp_attr_mask.define('IBV_QP_MAX_QP_RD_ATOMIC', 8192)
IBV_QP_ALT_PATH = enum_ibv_qp_attr_mask.define('IBV_QP_ALT_PATH', 16384)
IBV_QP_MIN_RNR_TIMER = enum_ibv_qp_attr_mask.define('IBV_QP_MIN_RNR_TIMER', 32768)
IBV_QP_SQ_PSN = enum_ibv_qp_attr_mask.define('IBV_QP_SQ_PSN', 65536)
IBV_QP_MAX_DEST_RD_ATOMIC = enum_ibv_qp_attr_mask.define('IBV_QP_MAX_DEST_RD_ATOMIC', 131072)
IBV_QP_PATH_MIG_STATE = enum_ibv_qp_attr_mask.define('IBV_QP_PATH_MIG_STATE', 262144)
IBV_QP_CAP = enum_ibv_qp_attr_mask.define('IBV_QP_CAP', 524288)
IBV_QP_DEST_QPN = enum_ibv_qp_attr_mask.define('IBV_QP_DEST_QPN', 1048576)
IBV_QP_RATE_LIMIT = enum_ibv_qp_attr_mask.define('IBV_QP_RATE_LIMIT', 33554432)
class enum_ibv_query_qp_data_in_order_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_QUERY_QP_DATA_IN_ORDER_RETURN_CAPS = enum_ibv_query_qp_data_in_order_flags.define('IBV_QUERY_QP_DATA_IN_ORDER_RETURN_CAPS', 1)
class enum_ibv_query_qp_data_in_order_caps(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_QUERY_QP_DATA_IN_ORDER_WHOLE_MSG = enum_ibv_query_qp_data_in_order_caps.define('IBV_QUERY_QP_DATA_IN_ORDER_WHOLE_MSG', 1)
IBV_QUERY_QP_DATA_IN_ORDER_ALIGNED_128_BYTES = enum_ibv_query_qp_data_in_order_caps.define('IBV_QUERY_QP_DATA_IN_ORDER_ALIGNED_128_BYTES', 2)
class enum_ibv_mig_state(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_MIG_MIGRATED = enum_ibv_mig_state.define('IBV_MIG_MIGRATED', 0)
IBV_MIG_REARM = enum_ibv_mig_state.define('IBV_MIG_REARM', 1)
IBV_MIG_ARMED = enum_ibv_mig_state.define('IBV_MIG_ARMED', 2)
@c.record
class struct_ibv_qp_attr(c.Struct):
SIZE = 144
qp_state: Annotated[enum_ibv_qp_state, 0]
cur_qp_state: Annotated[enum_ibv_qp_state, 4]
path_mtu: Annotated[enum_ibv_mtu, 8]
path_mig_state: Annotated[enum_ibv_mig_state, 12]
qkey: Annotated[uint32_t, 16]
rq_psn: Annotated[uint32_t, 20]
sq_psn: Annotated[uint32_t, 24]
dest_qp_num: Annotated[uint32_t, 28]
qp_access_flags: Annotated[Annotated[int, ctypes.c_uint32], 32]
cap: Annotated[struct_ibv_qp_cap, 36]
ah_attr: Annotated[struct_ibv_ah_attr, 56]
alt_ah_attr: Annotated[struct_ibv_ah_attr, 88]
pkey_index: Annotated[uint16_t, 120]
alt_pkey_index: Annotated[uint16_t, 122]
en_sqd_async_notify: Annotated[uint8_t, 124]
sq_draining: Annotated[uint8_t, 125]
max_rd_atomic: Annotated[uint8_t, 126]
max_dest_rd_atomic: Annotated[uint8_t, 127]
min_rnr_timer: Annotated[uint8_t, 128]
port_num: Annotated[uint8_t, 129]
timeout: Annotated[uint8_t, 130]
retry_cnt: Annotated[uint8_t, 131]
rnr_retry: Annotated[uint8_t, 132]
alt_port_num: Annotated[uint8_t, 133]
alt_timeout: Annotated[uint8_t, 134]
rate_limit: Annotated[uint32_t, 136]
@c.record
class struct_ibv_qp_rate_limit_attr(c.Struct):
SIZE = 16
rate_limit: Annotated[uint32_t, 0]
max_burst_sz: Annotated[uint32_t, 4]
typical_pkt_sz: Annotated[uint16_t, 8]
comp_mask: Annotated[uint32_t, 12]
@dll.bind
def ibv_wr_opcode_str(opcode:enum_ibv_wr_opcode) -> c.POINTER[Annotated[bytes, ctypes.c_char]]: ...
class enum_ibv_send_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_SEND_FENCE = enum_ibv_send_flags.define('IBV_SEND_FENCE', 1)
IBV_SEND_SIGNALED = enum_ibv_send_flags.define('IBV_SEND_SIGNALED', 2)
IBV_SEND_SOLICITED = enum_ibv_send_flags.define('IBV_SEND_SOLICITED', 4)
IBV_SEND_INLINE = enum_ibv_send_flags.define('IBV_SEND_INLINE', 8)
IBV_SEND_IP_CSUM = enum_ibv_send_flags.define('IBV_SEND_IP_CSUM', 16)
class enum_ibv_placement_type(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_FLUSH_GLOBAL = enum_ibv_placement_type.define('IBV_FLUSH_GLOBAL', 1)
IBV_FLUSH_PERSISTENT = enum_ibv_placement_type.define('IBV_FLUSH_PERSISTENT', 2)
class enum_ibv_selectivity_level(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_FLUSH_RANGE = enum_ibv_selectivity_level.define('IBV_FLUSH_RANGE', 0)
IBV_FLUSH_MR = enum_ibv_selectivity_level.define('IBV_FLUSH_MR', 1)
@c.record
class struct_ibv_data_buf(c.Struct):
SIZE = 16
addr: Annotated[ctypes.c_void_p, 0]
length: Annotated[size_t, 8]
class enum_ibv_ops_wr_opcode(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_WR_TAG_ADD = enum_ibv_ops_wr_opcode.define('IBV_WR_TAG_ADD', 0)
IBV_WR_TAG_DEL = enum_ibv_ops_wr_opcode.define('IBV_WR_TAG_DEL', 1)
IBV_WR_TAG_SYNC = enum_ibv_ops_wr_opcode.define('IBV_WR_TAG_SYNC', 2)
class enum_ibv_ops_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_OPS_SIGNALED = enum_ibv_ops_flags.define('IBV_OPS_SIGNALED', 1)
IBV_OPS_TM_SYNC = enum_ibv_ops_flags.define('IBV_OPS_TM_SYNC', 2)
@c.record
class struct_ibv_ops_wr(c.Struct):
SIZE = 72
wr_id: Annotated[uint64_t, 0]
next: Annotated[c.POINTER[struct_ibv_ops_wr], 8]
opcode: Annotated[enum_ibv_ops_wr_opcode, 16]
flags: Annotated[Annotated[int, ctypes.c_int32], 20]
tm: Annotated[struct_ibv_ops_wr_tm, 24]
@c.record
class struct_ibv_ops_wr_tm(c.Struct):
SIZE = 48
unexpected_cnt: Annotated[uint32_t, 0]
handle: Annotated[uint32_t, 4]
add: Annotated[struct_ibv_ops_wr_tm_add, 8]
@c.record
class struct_ibv_ops_wr_tm_add(c.Struct):
SIZE = 40
recv_wr_id: Annotated[uint64_t, 0]
sg_list: Annotated[c.POINTER[struct_ibv_sge], 8]
num_sge: Annotated[Annotated[int, ctypes.c_int32], 16]
tag: Annotated[uint64_t, 24]
mask: Annotated[uint64_t, 32]
@c.record
class struct_ibv_qp_ex(c.Struct):
SIZE = 360
qp_base: Annotated[struct_ibv_qp, 0]
comp_mask: Annotated[uint64_t, 160]
wr_id: Annotated[uint64_t, 168]
wr_flags: Annotated[Annotated[int, ctypes.c_uint32], 176]
wr_atomic_cmp_swp: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_qp_ex], uint32_t, uint64_t, uint64_t, uint64_t]], 184]
wr_atomic_fetch_add: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_qp_ex], uint32_t, uint64_t, uint64_t]], 192]
wr_bind_mw: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_qp_ex], c.POINTER[struct_ibv_mw], uint32_t, c.POINTER[struct_ibv_mw_bind_info]]], 200]
wr_local_inv: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_qp_ex], uint32_t]], 208]
wr_rdma_read: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_qp_ex], uint32_t, uint64_t]], 216]
wr_rdma_write: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_qp_ex], uint32_t, uint64_t]], 224]
wr_rdma_write_imm: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_qp_ex], uint32_t, uint64_t, Annotated[int, ctypes.c_uint32]]], 232]
wr_send: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_qp_ex]]], 240]
wr_send_imm: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_qp_ex], Annotated[int, ctypes.c_uint32]]], 248]
wr_send_inv: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_qp_ex], uint32_t]], 256]
wr_send_tso: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_qp_ex], ctypes.c_void_p, uint16_t, uint16_t]], 264]
wr_set_ud_addr: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_qp_ex], c.POINTER[struct_ibv_ah], uint32_t, uint32_t]], 272]
wr_set_xrc_srqn: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_qp_ex], uint32_t]], 280]
wr_set_inline_data: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_qp_ex], ctypes.c_void_p, size_t]], 288]
wr_set_inline_data_list: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_qp_ex], size_t, c.POINTER[struct_ibv_data_buf]]], 296]
wr_set_sge: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_qp_ex], uint32_t, uint64_t, uint32_t]], 304]
wr_set_sge_list: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_qp_ex], size_t, c.POINTER[struct_ibv_sge]]], 312]
wr_start: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_qp_ex]]], 320]
wr_complete: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_qp_ex]]], 328]
wr_abort: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_qp_ex]]], 336]
wr_atomic_write: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_qp_ex], uint32_t, uint64_t, ctypes.c_void_p]], 344]
wr_flush: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_qp_ex], uint32_t, uint64_t, size_t, uint8_t, uint8_t]], 352]
@dll.bind
def ibv_qp_to_qp_ex(qp:c.POINTER[struct_ibv_qp]) -> c.POINTER[struct_ibv_qp_ex]: ...
@c.record
class struct_ibv_ece(c.Struct):
SIZE = 12
vendor_id: Annotated[uint32_t, 0]
options: Annotated[uint32_t, 4]
comp_mask: Annotated[uint32_t, 8]
@c.record
class struct_ibv_poll_cq_attr(c.Struct):
SIZE = 4
comp_mask: Annotated[uint32_t, 0]
@c.record
class struct_ibv_wc_tm_info(c.Struct):
SIZE = 16
tag: Annotated[uint64_t, 0]
priv: Annotated[uint32_t, 8]
@c.record
class struct_ibv_cq_ex(c.Struct):
SIZE = 288
context: Annotated[c.POINTER[struct_ibv_context], 0]
channel: Annotated[c.POINTER[struct_ibv_comp_channel], 8]
cq_context: Annotated[ctypes.c_void_p, 16]
handle: Annotated[uint32_t, 24]
cqe: Annotated[Annotated[int, ctypes.c_int32], 28]
mutex: Annotated[pthread_mutex_t, 32]
cond: Annotated[pthread_cond_t, 72]
comp_events_completed: Annotated[uint32_t, 120]
async_events_completed: Annotated[uint32_t, 124]
comp_mask: Annotated[uint32_t, 128]
status: Annotated[enum_ibv_wc_status, 132]
wr_id: Annotated[uint64_t, 136]
start_poll: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_cq_ex], c.POINTER[struct_ibv_poll_cq_attr]]], 144]
next_poll: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_cq_ex]]], 152]
end_poll: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_cq_ex]]], 160]
read_opcode: Annotated[c.CFUNCTYPE[enum_ibv_wc_opcode, [c.POINTER[struct_ibv_cq_ex]]], 168]
read_vendor_err: Annotated[c.CFUNCTYPE[uint32_t, [c.POINTER[struct_ibv_cq_ex]]], 176]
read_byte_len: Annotated[c.CFUNCTYPE[uint32_t, [c.POINTER[struct_ibv_cq_ex]]], 184]
read_imm_data: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_uint32], [c.POINTER[struct_ibv_cq_ex]]], 192]
read_qp_num: Annotated[c.CFUNCTYPE[uint32_t, [c.POINTER[struct_ibv_cq_ex]]], 200]
read_src_qp: Annotated[c.CFUNCTYPE[uint32_t, [c.POINTER[struct_ibv_cq_ex]]], 208]
read_wc_flags: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_uint32], [c.POINTER[struct_ibv_cq_ex]]], 216]
read_slid: Annotated[c.CFUNCTYPE[uint32_t, [c.POINTER[struct_ibv_cq_ex]]], 224]
read_sl: Annotated[c.CFUNCTYPE[uint8_t, [c.POINTER[struct_ibv_cq_ex]]], 232]
read_dlid_path_bits: Annotated[c.CFUNCTYPE[uint8_t, [c.POINTER[struct_ibv_cq_ex]]], 240]
read_completion_ts: Annotated[c.CFUNCTYPE[uint64_t, [c.POINTER[struct_ibv_cq_ex]]], 248]
read_cvlan: Annotated[c.CFUNCTYPE[uint16_t, [c.POINTER[struct_ibv_cq_ex]]], 256]
read_flow_tag: Annotated[c.CFUNCTYPE[uint32_t, [c.POINTER[struct_ibv_cq_ex]]], 264]
read_tm_info: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_cq_ex], c.POINTER[struct_ibv_wc_tm_info]]], 272]
read_completion_wallclock_ns: Annotated[c.CFUNCTYPE[uint64_t, [c.POINTER[struct_ibv_cq_ex]]], 280]
class enum_ibv_cq_attr_mask(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_CQ_ATTR_MODERATE = enum_ibv_cq_attr_mask.define('IBV_CQ_ATTR_MODERATE', 1)
IBV_CQ_ATTR_RESERVED = enum_ibv_cq_attr_mask.define('IBV_CQ_ATTR_RESERVED', 2)
@c.record
class struct_ibv_moderate_cq(c.Struct):
SIZE = 4
cq_count: Annotated[uint16_t, 0]
cq_period: Annotated[uint16_t, 2]
@c.record
class struct_ibv_modify_cq_attr(c.Struct):
SIZE = 8
attr_mask: Annotated[uint32_t, 0]
moderate: Annotated[struct_ibv_moderate_cq, 4]
class enum_ibv_flow_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_FLOW_ATTR_FLAGS_DONT_TRAP = enum_ibv_flow_flags.define('IBV_FLOW_ATTR_FLAGS_DONT_TRAP', 2)
IBV_FLOW_ATTR_FLAGS_EGRESS = enum_ibv_flow_flags.define('IBV_FLOW_ATTR_FLAGS_EGRESS', 4)
class enum_ibv_flow_attr_type(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_FLOW_ATTR_NORMAL = enum_ibv_flow_attr_type.define('IBV_FLOW_ATTR_NORMAL', 0)
IBV_FLOW_ATTR_ALL_DEFAULT = enum_ibv_flow_attr_type.define('IBV_FLOW_ATTR_ALL_DEFAULT', 1)
IBV_FLOW_ATTR_MC_DEFAULT = enum_ibv_flow_attr_type.define('IBV_FLOW_ATTR_MC_DEFAULT', 2)
IBV_FLOW_ATTR_SNIFFER = enum_ibv_flow_attr_type.define('IBV_FLOW_ATTR_SNIFFER', 3)
class enum_ibv_flow_spec_type(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_FLOW_SPEC_ETH = enum_ibv_flow_spec_type.define('IBV_FLOW_SPEC_ETH', 32)
IBV_FLOW_SPEC_IPV4 = enum_ibv_flow_spec_type.define('IBV_FLOW_SPEC_IPV4', 48)
IBV_FLOW_SPEC_IPV6 = enum_ibv_flow_spec_type.define('IBV_FLOW_SPEC_IPV6', 49)
IBV_FLOW_SPEC_IPV4_EXT = enum_ibv_flow_spec_type.define('IBV_FLOW_SPEC_IPV4_EXT', 50)
IBV_FLOW_SPEC_ESP = enum_ibv_flow_spec_type.define('IBV_FLOW_SPEC_ESP', 52)
IBV_FLOW_SPEC_TCP = enum_ibv_flow_spec_type.define('IBV_FLOW_SPEC_TCP', 64)
IBV_FLOW_SPEC_UDP = enum_ibv_flow_spec_type.define('IBV_FLOW_SPEC_UDP', 65)
IBV_FLOW_SPEC_VXLAN_TUNNEL = enum_ibv_flow_spec_type.define('IBV_FLOW_SPEC_VXLAN_TUNNEL', 80)
IBV_FLOW_SPEC_GRE = enum_ibv_flow_spec_type.define('IBV_FLOW_SPEC_GRE', 81)
IBV_FLOW_SPEC_MPLS = enum_ibv_flow_spec_type.define('IBV_FLOW_SPEC_MPLS', 96)
IBV_FLOW_SPEC_INNER = enum_ibv_flow_spec_type.define('IBV_FLOW_SPEC_INNER', 256)
IBV_FLOW_SPEC_ACTION_TAG = enum_ibv_flow_spec_type.define('IBV_FLOW_SPEC_ACTION_TAG', 4096)
IBV_FLOW_SPEC_ACTION_DROP = enum_ibv_flow_spec_type.define('IBV_FLOW_SPEC_ACTION_DROP', 4097)
IBV_FLOW_SPEC_ACTION_HANDLE = enum_ibv_flow_spec_type.define('IBV_FLOW_SPEC_ACTION_HANDLE', 4098)
IBV_FLOW_SPEC_ACTION_COUNT = enum_ibv_flow_spec_type.define('IBV_FLOW_SPEC_ACTION_COUNT', 4099)
@c.record
class struct_ibv_flow_eth_filter(c.Struct):
SIZE = 16
dst_mac: Annotated[c.Array[uint8_t, Literal[6]], 0]
src_mac: Annotated[c.Array[uint8_t, Literal[6]], 6]
ether_type: Annotated[uint16_t, 12]
vlan_tag: Annotated[uint16_t, 14]
@c.record
class struct_ibv_flow_spec_eth(c.Struct):
SIZE = 40
type: Annotated[enum_ibv_flow_spec_type, 0]
size: Annotated[uint16_t, 4]
val: Annotated[struct_ibv_flow_eth_filter, 6]
mask: Annotated[struct_ibv_flow_eth_filter, 22]
@c.record
class struct_ibv_flow_ipv4_filter(c.Struct):
SIZE = 8
src_ip: Annotated[uint32_t, 0]
dst_ip: Annotated[uint32_t, 4]
@c.record
class struct_ibv_flow_spec_ipv4(c.Struct):
SIZE = 24
type: Annotated[enum_ibv_flow_spec_type, 0]
size: Annotated[uint16_t, 4]
val: Annotated[struct_ibv_flow_ipv4_filter, 8]
mask: Annotated[struct_ibv_flow_ipv4_filter, 16]
@c.record
class struct_ibv_flow_ipv4_ext_filter(c.Struct):
SIZE = 12
src_ip: Annotated[uint32_t, 0]
dst_ip: Annotated[uint32_t, 4]
proto: Annotated[uint8_t, 8]
tos: Annotated[uint8_t, 9]
ttl: Annotated[uint8_t, 10]
flags: Annotated[uint8_t, 11]
@c.record
class struct_ibv_flow_spec_ipv4_ext(c.Struct):
SIZE = 32
type: Annotated[enum_ibv_flow_spec_type, 0]
size: Annotated[uint16_t, 4]
val: Annotated[struct_ibv_flow_ipv4_ext_filter, 8]
mask: Annotated[struct_ibv_flow_ipv4_ext_filter, 20]
@c.record
class struct_ibv_flow_ipv6_filter(c.Struct):
SIZE = 40
src_ip: Annotated[c.Array[uint8_t, Literal[16]], 0]
dst_ip: Annotated[c.Array[uint8_t, Literal[16]], 16]
flow_label: Annotated[uint32_t, 32]
next_hdr: Annotated[uint8_t, 36]
traffic_class: Annotated[uint8_t, 37]
hop_limit: Annotated[uint8_t, 38]
@c.record
class struct_ibv_flow_spec_ipv6(c.Struct):
SIZE = 88
type: Annotated[enum_ibv_flow_spec_type, 0]
size: Annotated[uint16_t, 4]
val: Annotated[struct_ibv_flow_ipv6_filter, 8]
mask: Annotated[struct_ibv_flow_ipv6_filter, 48]
@c.record
class struct_ibv_flow_esp_filter(c.Struct):
SIZE = 8
spi: Annotated[uint32_t, 0]
seq: Annotated[uint32_t, 4]
@c.record
class struct_ibv_flow_spec_esp(c.Struct):
SIZE = 24
type: Annotated[enum_ibv_flow_spec_type, 0]
size: Annotated[uint16_t, 4]
val: Annotated[struct_ibv_flow_esp_filter, 8]
mask: Annotated[struct_ibv_flow_esp_filter, 16]
@c.record
class struct_ibv_flow_tcp_udp_filter(c.Struct):
SIZE = 4
dst_port: Annotated[uint16_t, 0]
src_port: Annotated[uint16_t, 2]
@c.record
class struct_ibv_flow_spec_tcp_udp(c.Struct):
SIZE = 16
type: Annotated[enum_ibv_flow_spec_type, 0]
size: Annotated[uint16_t, 4]
val: Annotated[struct_ibv_flow_tcp_udp_filter, 6]
mask: Annotated[struct_ibv_flow_tcp_udp_filter, 10]
@c.record
class struct_ibv_flow_gre_filter(c.Struct):
SIZE = 8
c_ks_res0_ver: Annotated[uint16_t, 0]
protocol: Annotated[uint16_t, 2]
key: Annotated[uint32_t, 4]
@c.record
class struct_ibv_flow_spec_gre(c.Struct):
SIZE = 24
type: Annotated[enum_ibv_flow_spec_type, 0]
size: Annotated[uint16_t, 4]
val: Annotated[struct_ibv_flow_gre_filter, 8]
mask: Annotated[struct_ibv_flow_gre_filter, 16]
@c.record
class struct_ibv_flow_mpls_filter(c.Struct):
SIZE = 4
label: Annotated[uint32_t, 0]
@c.record
class struct_ibv_flow_spec_mpls(c.Struct):
SIZE = 16
type: Annotated[enum_ibv_flow_spec_type, 0]
size: Annotated[uint16_t, 4]
val: Annotated[struct_ibv_flow_mpls_filter, 8]
mask: Annotated[struct_ibv_flow_mpls_filter, 12]
@c.record
class struct_ibv_flow_tunnel_filter(c.Struct):
SIZE = 4
tunnel_id: Annotated[uint32_t, 0]
@c.record
class struct_ibv_flow_spec_tunnel(c.Struct):
SIZE = 16
type: Annotated[enum_ibv_flow_spec_type, 0]
size: Annotated[uint16_t, 4]
val: Annotated[struct_ibv_flow_tunnel_filter, 8]
mask: Annotated[struct_ibv_flow_tunnel_filter, 12]
@c.record
class struct_ibv_flow_spec_action_tag(c.Struct):
SIZE = 12
type: Annotated[enum_ibv_flow_spec_type, 0]
size: Annotated[uint16_t, 4]
tag_id: Annotated[uint32_t, 8]
@c.record
class struct_ibv_flow_spec_action_drop(c.Struct):
SIZE = 8
type: Annotated[enum_ibv_flow_spec_type, 0]
size: Annotated[uint16_t, 4]
@c.record
class struct_ibv_flow_spec_action_handle(c.Struct):
SIZE = 16
type: Annotated[enum_ibv_flow_spec_type, 0]
size: Annotated[uint16_t, 4]
action: Annotated[c.POINTER[struct_ibv_flow_action], 8]
@c.record
class struct_ibv_flow_action(c.Struct):
SIZE = 8
context: Annotated[c.POINTER[struct_ibv_context], 0]
@c.record
class struct_ibv_flow_spec_counter_action(c.Struct):
SIZE = 16
type: Annotated[enum_ibv_flow_spec_type, 0]
size: Annotated[uint16_t, 4]
counters: Annotated[c.POINTER[struct_ibv_counters], 8]
@c.record
class struct_ibv_counters(c.Struct):
SIZE = 8
context: Annotated[c.POINTER[struct_ibv_context], 0]
@c.record
class struct_ibv_flow_spec(c.Struct):
SIZE = 88
hdr: Annotated[struct_ibv_flow_spec_hdr, 0]
eth: Annotated[struct_ibv_flow_spec_eth, 0]
ipv4: Annotated[struct_ibv_flow_spec_ipv4, 0]
tcp_udp: Annotated[struct_ibv_flow_spec_tcp_udp, 0]
ipv4_ext: Annotated[struct_ibv_flow_spec_ipv4_ext, 0]
ipv6: Annotated[struct_ibv_flow_spec_ipv6, 0]
esp: Annotated[struct_ibv_flow_spec_esp, 0]
tunnel: Annotated[struct_ibv_flow_spec_tunnel, 0]
gre: Annotated[struct_ibv_flow_spec_gre, 0]
mpls: Annotated[struct_ibv_flow_spec_mpls, 0]
flow_tag: Annotated[struct_ibv_flow_spec_action_tag, 0]
drop: Annotated[struct_ibv_flow_spec_action_drop, 0]
handle: Annotated[struct_ibv_flow_spec_action_handle, 0]
flow_count: Annotated[struct_ibv_flow_spec_counter_action, 0]
@c.record
class struct_ibv_flow_spec_hdr(c.Struct):
SIZE = 8
type: Annotated[enum_ibv_flow_spec_type, 0]
size: Annotated[uint16_t, 4]
@c.record
class struct_ibv_flow_attr(c.Struct):
SIZE = 20
comp_mask: Annotated[uint32_t, 0]
type: Annotated[enum_ibv_flow_attr_type, 4]
size: Annotated[uint16_t, 8]
priority: Annotated[uint16_t, 10]
num_of_specs: Annotated[uint8_t, 12]
port: Annotated[uint8_t, 13]
flags: Annotated[uint32_t, 16]
@c.record
class struct_ibv_flow(c.Struct):
SIZE = 24
comp_mask: Annotated[uint32_t, 0]
context: Annotated[c.POINTER[struct_ibv_context], 8]
handle: Annotated[uint32_t, 16]
class enum_ibv_flow_action_esp_mask(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_FLOW_ACTION_ESP_MASK_ESN = enum_ibv_flow_action_esp_mask.define('IBV_FLOW_ACTION_ESP_MASK_ESN', 1)
@c.record
class struct_ibv_flow_action_esp_attr(c.Struct):
SIZE = 56
esp_attr: Annotated[c.POINTER[struct_ib_uverbs_flow_action_esp], 0]
keymat_proto: Annotated[enum_ib_uverbs_flow_action_esp_keymat, 8]
keymat_len: Annotated[uint16_t, 12]
keymat_ptr: Annotated[ctypes.c_void_p, 16]
replay_proto: Annotated[enum_ib_uverbs_flow_action_esp_replay, 24]
replay_len: Annotated[uint16_t, 28]
replay_ptr: Annotated[ctypes.c_void_p, 32]
esp_encap: Annotated[c.POINTER[struct_ib_uverbs_flow_action_esp_encap], 40]
comp_mask: Annotated[uint32_t, 48]
esn: Annotated[uint32_t, 52]
@c.record
class struct_ib_uverbs_flow_action_esp(c.Struct):
SIZE = 24
spi: Annotated[Annotated[int, ctypes.c_uint32], 0]
seq: Annotated[Annotated[int, ctypes.c_uint32], 4]
tfc_pad: Annotated[Annotated[int, ctypes.c_uint32], 8]
flags: Annotated[Annotated[int, ctypes.c_uint32], 12]
hard_limit_pkts: Annotated[Annotated[int, ctypes.c_uint64], 16]
__u32: TypeAlias = Annotated[int, ctypes.c_uint32]
__u64: TypeAlias = Annotated[int, ctypes.c_uint64]
class enum_ib_uverbs_flow_action_esp_keymat(Annotated[int, ctypes.c_uint32], c.Enum): pass
IB_UVERBS_FLOW_ACTION_ESP_KEYMAT_AES_GCM = enum_ib_uverbs_flow_action_esp_keymat.define('IB_UVERBS_FLOW_ACTION_ESP_KEYMAT_AES_GCM', 0)
class enum_ib_uverbs_flow_action_esp_replay(Annotated[int, ctypes.c_uint32], c.Enum): pass
IB_UVERBS_FLOW_ACTION_ESP_REPLAY_NONE = enum_ib_uverbs_flow_action_esp_replay.define('IB_UVERBS_FLOW_ACTION_ESP_REPLAY_NONE', 0)
IB_UVERBS_FLOW_ACTION_ESP_REPLAY_BMP = enum_ib_uverbs_flow_action_esp_replay.define('IB_UVERBS_FLOW_ACTION_ESP_REPLAY_BMP', 1)
@c.record
class struct_ib_uverbs_flow_action_esp_encap(c.Struct):
SIZE = 24
val_ptr: Annotated[ctypes.c_void_p, 0]
val_ptr_data_u64: Annotated[Annotated[int, ctypes.c_uint64], 0]
next_ptr: Annotated[c.POINTER[struct_ib_uverbs_flow_action_esp_encap], 8]
next_ptr_data_u64: Annotated[Annotated[int, ctypes.c_uint64], 8]
len: Annotated[Annotated[int, ctypes.c_uint16], 16]
type: Annotated[Annotated[int, ctypes.c_uint16], 18]
__u16: TypeAlias = Annotated[int, ctypes.c_uint16]
class _anonenum4(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_SYSFS_NAME_MAX = _anonenum4.define('IBV_SYSFS_NAME_MAX', 64)
IBV_SYSFS_PATH_MAX = _anonenum4.define('IBV_SYSFS_PATH_MAX', 256)
class enum_ibv_cq_init_attr_mask(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_CQ_INIT_ATTR_MASK_FLAGS = enum_ibv_cq_init_attr_mask.define('IBV_CQ_INIT_ATTR_MASK_FLAGS', 1)
IBV_CQ_INIT_ATTR_MASK_PD = enum_ibv_cq_init_attr_mask.define('IBV_CQ_INIT_ATTR_MASK_PD', 2)
class enum_ibv_create_cq_attr_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_CREATE_CQ_ATTR_SINGLE_THREADED = enum_ibv_create_cq_attr_flags.define('IBV_CREATE_CQ_ATTR_SINGLE_THREADED', 1)
IBV_CREATE_CQ_ATTR_IGNORE_OVERRUN = enum_ibv_create_cq_attr_flags.define('IBV_CREATE_CQ_ATTR_IGNORE_OVERRUN', 2)
@c.record
class struct_ibv_cq_init_attr_ex(c.Struct):
SIZE = 56
cqe: Annotated[uint32_t, 0]
cq_context: Annotated[ctypes.c_void_p, 8]
channel: Annotated[c.POINTER[struct_ibv_comp_channel], 16]
comp_vector: Annotated[uint32_t, 24]
wc_flags: Annotated[uint64_t, 32]
comp_mask: Annotated[uint32_t, 40]
flags: Annotated[uint32_t, 44]
parent_domain: Annotated[c.POINTER[struct_ibv_pd], 48]
class enum_ibv_parent_domain_init_attr_mask(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_PARENT_DOMAIN_INIT_ATTR_ALLOCATORS = enum_ibv_parent_domain_init_attr_mask.define('IBV_PARENT_DOMAIN_INIT_ATTR_ALLOCATORS', 1)
IBV_PARENT_DOMAIN_INIT_ATTR_PD_CONTEXT = enum_ibv_parent_domain_init_attr_mask.define('IBV_PARENT_DOMAIN_INIT_ATTR_PD_CONTEXT', 2)
@c.record
class struct_ibv_parent_domain_init_attr(c.Struct):
SIZE = 48
pd: Annotated[c.POINTER[struct_ibv_pd], 0]
td: Annotated[c.POINTER[struct_ibv_td], 8]
comp_mask: Annotated[uint32_t, 16]
alloc: Annotated[c.CFUNCTYPE[ctypes.c_void_p, [c.POINTER[struct_ibv_pd], ctypes.c_void_p, size_t, size_t, uint64_t]], 24]
free: Annotated[c.CFUNCTYPE[None, [c.POINTER[struct_ibv_pd], ctypes.c_void_p, ctypes.c_void_p, uint64_t]], 32]
pd_context: Annotated[ctypes.c_void_p, 40]
@c.record
class struct_ibv_counters_init_attr(c.Struct):
SIZE = 4
comp_mask: Annotated[uint32_t, 0]
class enum_ibv_counter_description(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_COUNTER_PACKETS = enum_ibv_counter_description.define('IBV_COUNTER_PACKETS', 0)
IBV_COUNTER_BYTES = enum_ibv_counter_description.define('IBV_COUNTER_BYTES', 1)
@c.record
class struct_ibv_counter_attach_attr(c.Struct):
SIZE = 12
counter_desc: Annotated[enum_ibv_counter_description, 0]
index: Annotated[uint32_t, 4]
comp_mask: Annotated[uint32_t, 8]
class enum_ibv_read_counters_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_READ_COUNTERS_ATTR_PREFER_CACHED = enum_ibv_read_counters_flags.define('IBV_READ_COUNTERS_ATTR_PREFER_CACHED', 1)
class enum_ibv_values_mask(Annotated[int, ctypes.c_uint32], c.Enum): pass
IBV_VALUES_MASK_RAW_CLOCK = enum_ibv_values_mask.define('IBV_VALUES_MASK_RAW_CLOCK', 1)
IBV_VALUES_MASK_RESERVED = enum_ibv_values_mask.define('IBV_VALUES_MASK_RESERVED', 2)
@c.record
class struct_ibv_values_ex(c.Struct):
SIZE = 24
comp_mask: Annotated[uint32_t, 0]
raw_clock: Annotated[struct_timespec, 8]
@c.record
class struct_timespec(c.Struct):
SIZE = 16
tv_sec: Annotated[Annotated[int, ctypes.c_int64], 0]
tv_nsec: Annotated[Annotated[int, ctypes.c_int64], 8]
__time_t: TypeAlias = Annotated[int, ctypes.c_int64]
__syscall_slong_t: TypeAlias = Annotated[int, ctypes.c_int64]
@c.record
class struct_verbs_context(c.Struct):
SIZE = 648
query_port: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_context], uint8_t, c.POINTER[struct_ibv_port_attr], size_t]], 0]
advise_mr: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_pd], enum_ib_uverbs_advise_mr_advice, uint32_t, c.POINTER[struct_ibv_sge], uint32_t]], 8]
alloc_null_mr: Annotated[c.CFUNCTYPE[c.POINTER[struct_ibv_mr], [c.POINTER[struct_ibv_pd]]], 16]
read_counters: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_counters], c.POINTER[uint64_t], uint32_t, uint32_t]], 24]
attach_counters_point_flow: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_counters], c.POINTER[struct_ibv_counter_attach_attr], c.POINTER[struct_ibv_flow]]], 32]
create_counters: Annotated[c.CFUNCTYPE[c.POINTER[struct_ibv_counters], [c.POINTER[struct_ibv_context], c.POINTER[struct_ibv_counters_init_attr]]], 40]
destroy_counters: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_counters]]], 48]
reg_dm_mr: Annotated[c.CFUNCTYPE[c.POINTER[struct_ibv_mr], [c.POINTER[struct_ibv_pd], c.POINTER[struct_ibv_dm], uint64_t, size_t, Annotated[int, ctypes.c_uint32]]], 56]
alloc_dm: Annotated[c.CFUNCTYPE[c.POINTER[struct_ibv_dm], [c.POINTER[struct_ibv_context], c.POINTER[struct_ibv_alloc_dm_attr]]], 64]
free_dm: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_dm]]], 72]
modify_flow_action_esp: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_flow_action], c.POINTER[struct_ibv_flow_action_esp_attr]]], 80]
destroy_flow_action: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_flow_action]]], 88]
create_flow_action_esp: Annotated[c.CFUNCTYPE[c.POINTER[struct_ibv_flow_action], [c.POINTER[struct_ibv_context], c.POINTER[struct_ibv_flow_action_esp_attr]]], 96]
modify_qp_rate_limit: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_qp], c.POINTER[struct_ibv_qp_rate_limit_attr]]], 104]
alloc_parent_domain: Annotated[c.CFUNCTYPE[c.POINTER[struct_ibv_pd], [c.POINTER[struct_ibv_context], c.POINTER[struct_ibv_parent_domain_init_attr]]], 112]
dealloc_td: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_td]]], 120]
alloc_td: Annotated[c.CFUNCTYPE[c.POINTER[struct_ibv_td], [c.POINTER[struct_ibv_context], c.POINTER[struct_ibv_td_init_attr]]], 128]
modify_cq: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_cq], c.POINTER[struct_ibv_modify_cq_attr]]], 136]
post_srq_ops: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_srq], c.POINTER[struct_ibv_ops_wr], c.POINTER[c.POINTER[struct_ibv_ops_wr]]]], 144]
destroy_rwq_ind_table: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_rwq_ind_table]]], 152]
create_rwq_ind_table: Annotated[c.CFUNCTYPE[c.POINTER[struct_ibv_rwq_ind_table], [c.POINTER[struct_ibv_context], c.POINTER[struct_ibv_rwq_ind_table_init_attr]]], 160]
destroy_wq: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_wq]]], 168]
modify_wq: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_wq], c.POINTER[struct_ibv_wq_attr]]], 176]
create_wq: Annotated[c.CFUNCTYPE[c.POINTER[struct_ibv_wq], [c.POINTER[struct_ibv_context], c.POINTER[struct_ibv_wq_init_attr]]], 184]
query_rt_values: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_context], c.POINTER[struct_ibv_values_ex]]], 192]
create_cq_ex: Annotated[c.CFUNCTYPE[c.POINTER[struct_ibv_cq_ex], [c.POINTER[struct_ibv_context], c.POINTER[struct_ibv_cq_init_attr_ex]]], 200]
priv: Annotated[c.POINTER[struct_verbs_ex_private], 208]
query_device_ex: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_context], c.POINTER[struct_ibv_query_device_ex_input], c.POINTER[struct_ibv_device_attr_ex], size_t]], 216]
ibv_destroy_flow: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_flow]]], 224]
ABI_placeholder2: Annotated[c.CFUNCTYPE[None, []], 232]
ibv_create_flow: Annotated[c.CFUNCTYPE[c.POINTER[struct_ibv_flow], [c.POINTER[struct_ibv_qp], c.POINTER[struct_ibv_flow_attr]]], 240]
ABI_placeholder1: Annotated[c.CFUNCTYPE[None, []], 248]
open_qp: Annotated[c.CFUNCTYPE[c.POINTER[struct_ibv_qp], [c.POINTER[struct_ibv_context], c.POINTER[struct_ibv_qp_open_attr]]], 256]
create_qp_ex: Annotated[c.CFUNCTYPE[c.POINTER[struct_ibv_qp], [c.POINTER[struct_ibv_context], c.POINTER[struct_ibv_qp_init_attr_ex]]], 264]
get_srq_num: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_srq], c.POINTER[uint32_t]]], 272]
create_srq_ex: Annotated[c.CFUNCTYPE[c.POINTER[struct_ibv_srq], [c.POINTER[struct_ibv_context], c.POINTER[struct_ibv_srq_init_attr_ex]]], 280]
open_xrcd: Annotated[c.CFUNCTYPE[c.POINTER[struct_ibv_xrcd], [c.POINTER[struct_ibv_context], c.POINTER[struct_ibv_xrcd_init_attr]]], 288]
close_xrcd: Annotated[c.CFUNCTYPE[Annotated[int, ctypes.c_int32], [c.POINTER[struct_ibv_xrcd]]], 296]
_ABI_placeholder3: Annotated[uint64_t, 304]
sz: Annotated[size_t, 312]
context: Annotated[struct_ibv_context, 320]
class enum_ib_uverbs_advise_mr_advice(Annotated[int, ctypes.c_uint32], c.Enum): pass
IB_UVERBS_ADVISE_MR_ADVICE_PREFETCH = enum_ib_uverbs_advise_mr_advice.define('IB_UVERBS_ADVISE_MR_ADVICE_PREFETCH', 0)
IB_UVERBS_ADVISE_MR_ADVICE_PREFETCH_WRITE = enum_ib_uverbs_advise_mr_advice.define('IB_UVERBS_ADVISE_MR_ADVICE_PREFETCH_WRITE', 1)
IB_UVERBS_ADVISE_MR_ADVICE_PREFETCH_NO_FAULT = enum_ib_uverbs_advise_mr_advice.define('IB_UVERBS_ADVISE_MR_ADVICE_PREFETCH_NO_FAULT', 2)
class struct_verbs_ex_private(ctypes.Structure): pass
@dll.bind
def ibv_get_device_list(num_devices:c.POINTER[Annotated[int, ctypes.c_int32]]) -> c.POINTER[c.POINTER[struct_ibv_device]]: ...
@dll.bind
def ibv_free_device_list(list:c.POINTER[c.POINTER[struct_ibv_device]]) -> None: ...
@dll.bind
def ibv_get_device_name(device:c.POINTER[struct_ibv_device]) -> c.POINTER[Annotated[bytes, ctypes.c_char]]: ...
@dll.bind
def ibv_get_device_index(device:c.POINTER[struct_ibv_device]) -> Annotated[int, ctypes.c_int32]: ...
@dll.bind
def ibv_get_device_guid(device:c.POINTER[struct_ibv_device]) -> Annotated[int, ctypes.c_uint64]: ...
@dll.bind
def ibv_open_device(device:c.POINTER[struct_ibv_device]) -> c.POINTER[struct_ibv_context]: ...
@dll.bind
def ibv_close_device(context:c.POINTER[struct_ibv_context]) -> Annotated[int, ctypes.c_int32]: ...
@dll.bind
def ibv_import_device(cmd_fd:Annotated[int, ctypes.c_int32]) -> c.POINTER[struct_ibv_context]: ...
@dll.bind
def ibv_import_pd(context:c.POINTER[struct_ibv_context], pd_handle:uint32_t) -> c.POINTER[struct_ibv_pd]: ...
@dll.bind
def ibv_unimport_pd(pd:c.POINTER[struct_ibv_pd]) -> None: ...
@dll.bind
def ibv_import_mr(pd:c.POINTER[struct_ibv_pd], mr_handle:uint32_t) -> c.POINTER[struct_ibv_mr]: ...
@dll.bind
def ibv_unimport_mr(mr:c.POINTER[struct_ibv_mr]) -> None: ...
@dll.bind
def ibv_import_dm(context:c.POINTER[struct_ibv_context], dm_handle:uint32_t) -> c.POINTER[struct_ibv_dm]: ...
@dll.bind
def ibv_unimport_dm(dm:c.POINTER[struct_ibv_dm]) -> None: ...
@dll.bind
def ibv_get_async_event(context:c.POINTER[struct_ibv_context], event:c.POINTER[struct_ibv_async_event]) -> Annotated[int, ctypes.c_int32]: ...
@dll.bind
def ibv_ack_async_event(event:c.POINTER[struct_ibv_async_event]) -> None: ...
@dll.bind
def ibv_query_device(context:c.POINTER[struct_ibv_context], device_attr:c.POINTER[struct_ibv_device_attr]) -> Annotated[int, ctypes.c_int32]: ...
@dll.bind
def ibv_query_port(context:c.POINTER[struct_ibv_context], port_num:uint8_t, port_attr:c.POINTER[struct__compat_ibv_port_attr]) -> Annotated[int, ctypes.c_int32]: ...
@dll.bind
def ibv_query_gid(context:c.POINTER[struct_ibv_context], port_num:uint8_t, index:Annotated[int, ctypes.c_int32], gid:c.POINTER[union_ibv_gid]) -> Annotated[int, ctypes.c_int32]: ...
@dll.bind
def _ibv_query_gid_ex(context:c.POINTER[struct_ibv_context], port_num:uint32_t, gid_index:uint32_t, entry:c.POINTER[struct_ibv_gid_entry], flags:uint32_t, entry_size:size_t) -> Annotated[int, ctypes.c_int32]: ...
ssize_t: TypeAlias = Annotated[int, ctypes.c_int64]
@dll.bind
def _ibv_query_gid_table(context:c.POINTER[struct_ibv_context], entries:c.POINTER[struct_ibv_gid_entry], max_entries:size_t, flags:uint32_t, entry_size:size_t) -> ssize_t: ...
@dll.bind
def ibv_query_pkey(context:c.POINTER[struct_ibv_context], port_num:uint8_t, index:Annotated[int, ctypes.c_int32], pkey:c.POINTER[Annotated[int, ctypes.c_uint16]]) -> Annotated[int, ctypes.c_int32]: ...
@dll.bind
def ibv_get_pkey_index(context:c.POINTER[struct_ibv_context], port_num:uint8_t, pkey:Annotated[int, ctypes.c_uint16]) -> Annotated[int, ctypes.c_int32]: ...
@dll.bind
def ibv_alloc_pd(context:c.POINTER[struct_ibv_context]) -> c.POINTER[struct_ibv_pd]: ...
@dll.bind
def ibv_dealloc_pd(pd:c.POINTER[struct_ibv_pd]) -> Annotated[int, ctypes.c_int32]: ...
@dll.bind
def ibv_reg_mr_iova2(pd:c.POINTER[struct_ibv_pd], addr:ctypes.c_void_p, length:size_t, iova:uint64_t, access:Annotated[int, ctypes.c_uint32]) -> c.POINTER[struct_ibv_mr]: ...
@dll.bind
def ibv_reg_mr(pd:c.POINTER[struct_ibv_pd], addr:ctypes.c_void_p, length:size_t, access:Annotated[int, ctypes.c_int32]) -> c.POINTER[struct_ibv_mr]: ...
@dll.bind
def ibv_reg_mr_iova(pd:c.POINTER[struct_ibv_pd], addr:ctypes.c_void_p, length:size_t, iova:uint64_t, access:Annotated[int, ctypes.c_int32]) -> c.POINTER[struct_ibv_mr]: ...
@dll.bind
def ibv_reg_dmabuf_mr(pd:c.POINTER[struct_ibv_pd], offset:uint64_t, length:size_t, iova:uint64_t, fd:Annotated[int, ctypes.c_int32], access:Annotated[int, ctypes.c_int32]) -> c.POINTER[struct_ibv_mr]: ...
class enum_ibv_rereg_mr_err_code(Annotated[int, ctypes.c_int32], c.Enum): pass
IBV_REREG_MR_ERR_INPUT = enum_ibv_rereg_mr_err_code.define('IBV_REREG_MR_ERR_INPUT', -1)
IBV_REREG_MR_ERR_DONT_FORK_NEW = enum_ibv_rereg_mr_err_code.define('IBV_REREG_MR_ERR_DONT_FORK_NEW', -2)
IBV_REREG_MR_ERR_DO_FORK_OLD = enum_ibv_rereg_mr_err_code.define('IBV_REREG_MR_ERR_DO_FORK_OLD', -3)
IBV_REREG_MR_ERR_CMD = enum_ibv_rereg_mr_err_code.define('IBV_REREG_MR_ERR_CMD', -4)
IBV_REREG_MR_ERR_CMD_AND_DO_FORK_NEW = enum_ibv_rereg_mr_err_code.define('IBV_REREG_MR_ERR_CMD_AND_DO_FORK_NEW', -5)
@dll.bind
def ibv_rereg_mr(mr:c.POINTER[struct_ibv_mr], flags:Annotated[int, ctypes.c_int32], pd:c.POINTER[struct_ibv_pd], addr:ctypes.c_void_p, length:size_t, access:Annotated[int, ctypes.c_int32]) -> Annotated[int, ctypes.c_int32]: ...
@dll.bind
def ibv_dereg_mr(mr:c.POINTER[struct_ibv_mr]) -> Annotated[int, ctypes.c_int32]: ...
@dll.bind
def ibv_create_comp_channel(context:c.POINTER[struct_ibv_context]) -> c.POINTER[struct_ibv_comp_channel]: ...
@dll.bind
def ibv_destroy_comp_channel(channel:c.POINTER[struct_ibv_comp_channel]) -> Annotated[int, ctypes.c_int32]: ...
@dll.bind
def ibv_create_cq(context:c.POINTER[struct_ibv_context], cqe:Annotated[int, ctypes.c_int32], cq_context:ctypes.c_void_p, channel:c.POINTER[struct_ibv_comp_channel], comp_vector:Annotated[int, ctypes.c_int32]) -> c.POINTER[struct_ibv_cq]: ...
@dll.bind
def ibv_resize_cq(cq:c.POINTER[struct_ibv_cq], cqe:Annotated[int, ctypes.c_int32]) -> Annotated[int, ctypes.c_int32]: ...
@dll.bind
def ibv_destroy_cq(cq:c.POINTER[struct_ibv_cq]) -> Annotated[int, ctypes.c_int32]: ...
@dll.bind
def ibv_get_cq_event(channel:c.POINTER[struct_ibv_comp_channel], cq:c.POINTER[c.POINTER[struct_ibv_cq]], cq_context:c.POINTER[ctypes.c_void_p]) -> Annotated[int, ctypes.c_int32]: ...
@dll.bind
def ibv_ack_cq_events(cq:c.POINTER[struct_ibv_cq], nevents:Annotated[int, ctypes.c_uint32]) -> None: ...
@dll.bind
def ibv_create_srq(pd:c.POINTER[struct_ibv_pd], srq_init_attr:c.POINTER[struct_ibv_srq_init_attr]) -> c.POINTER[struct_ibv_srq]: ...
@dll.bind
def ibv_modify_srq(srq:c.POINTER[struct_ibv_srq], srq_attr:c.POINTER[struct_ibv_srq_attr], srq_attr_mask:Annotated[int, ctypes.c_int32]) -> Annotated[int, ctypes.c_int32]: ...
@dll.bind
def ibv_query_srq(srq:c.POINTER[struct_ibv_srq], srq_attr:c.POINTER[struct_ibv_srq_attr]) -> Annotated[int, ctypes.c_int32]: ...
@dll.bind
def ibv_destroy_srq(srq:c.POINTER[struct_ibv_srq]) -> Annotated[int, ctypes.c_int32]: ...
@dll.bind
def ibv_create_qp(pd:c.POINTER[struct_ibv_pd], qp_init_attr:c.POINTER[struct_ibv_qp_init_attr]) -> c.POINTER[struct_ibv_qp]: ...
@dll.bind
def ibv_modify_qp(qp:c.POINTER[struct_ibv_qp], attr:c.POINTER[struct_ibv_qp_attr], attr_mask:Annotated[int, ctypes.c_int32]) -> Annotated[int, ctypes.c_int32]: ...
@dll.bind
def ibv_query_qp_data_in_order(qp:c.POINTER[struct_ibv_qp], op:enum_ibv_wr_opcode, flags:uint32_t) -> Annotated[int, ctypes.c_int32]: ...
@dll.bind
def ibv_query_qp(qp:c.POINTER[struct_ibv_qp], attr:c.POINTER[struct_ibv_qp_attr], attr_mask:Annotated[int, ctypes.c_int32], init_attr:c.POINTER[struct_ibv_qp_init_attr]) -> Annotated[int, ctypes.c_int32]: ...
@dll.bind
def ibv_destroy_qp(qp:c.POINTER[struct_ibv_qp]) -> Annotated[int, ctypes.c_int32]: ...
@dll.bind
def ibv_create_ah(pd:c.POINTER[struct_ibv_pd], attr:c.POINTER[struct_ibv_ah_attr]) -> c.POINTER[struct_ibv_ah]: ...
@dll.bind
def ibv_init_ah_from_wc(context:c.POINTER[struct_ibv_context], port_num:uint8_t, wc:c.POINTER[struct_ibv_wc], grh:c.POINTER[struct_ibv_grh], ah_attr:c.POINTER[struct_ibv_ah_attr]) -> Annotated[int, ctypes.c_int32]: ...
@dll.bind
def ibv_create_ah_from_wc(pd:c.POINTER[struct_ibv_pd], wc:c.POINTER[struct_ibv_wc], grh:c.POINTER[struct_ibv_grh], port_num:uint8_t) -> c.POINTER[struct_ibv_ah]: ...
@dll.bind
def ibv_destroy_ah(ah:c.POINTER[struct_ibv_ah]) -> Annotated[int, ctypes.c_int32]: ...
@dll.bind
def ibv_attach_mcast(qp:c.POINTER[struct_ibv_qp], gid:c.POINTER[union_ibv_gid], lid:uint16_t) -> Annotated[int, ctypes.c_int32]: ...
@dll.bind
def ibv_detach_mcast(qp:c.POINTER[struct_ibv_qp], gid:c.POINTER[union_ibv_gid], lid:uint16_t) -> Annotated[int, ctypes.c_int32]: ...
@dll.bind
def ibv_fork_init() -> Annotated[int, ctypes.c_int32]: ...
@dll.bind
def ibv_is_fork_initialized() -> enum_ibv_fork_status: ...
@dll.bind
def ibv_node_type_str(node_type:enum_ibv_node_type) -> c.POINTER[Annotated[bytes, ctypes.c_char]]: ...
@dll.bind
def ibv_port_state_str(port_state:enum_ibv_port_state) -> c.POINTER[Annotated[bytes, ctypes.c_char]]: ...
@dll.bind
def ibv_event_type_str(event:enum_ibv_event_type) -> c.POINTER[Annotated[bytes, ctypes.c_char]]: ...
@dll.bind
def ibv_resolve_eth_l2_from_gid(context:c.POINTER[struct_ibv_context], attr:c.POINTER[struct_ibv_ah_attr], eth_mac:c.Array[uint8_t, Literal[6]], vid:c.POINTER[uint16_t]) -> Annotated[int, ctypes.c_int32]: ...
@dll.bind
def ibv_set_ece(qp:c.POINTER[struct_ibv_qp], ece:c.POINTER[struct_ibv_ece]) -> Annotated[int, ctypes.c_int32]: ...
@dll.bind
def ibv_query_ece(qp:c.POINTER[struct_ibv_qp], ece:c.POINTER[struct_ibv_ece]) -> Annotated[int, ctypes.c_int32]: ...
class enum_ib_uverbs_core_support(Annotated[int, ctypes.c_uint32], c.Enum): pass
IB_UVERBS_CORE_SUPPORT_OPTIONAL_MR_ACCESS = enum_ib_uverbs_core_support.define('IB_UVERBS_CORE_SUPPORT_OPTIONAL_MR_ACCESS', 1)
class enum_ib_uverbs_access_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
IB_UVERBS_ACCESS_LOCAL_WRITE = enum_ib_uverbs_access_flags.define('IB_UVERBS_ACCESS_LOCAL_WRITE', 1)
IB_UVERBS_ACCESS_REMOTE_WRITE = enum_ib_uverbs_access_flags.define('IB_UVERBS_ACCESS_REMOTE_WRITE', 2)
IB_UVERBS_ACCESS_REMOTE_READ = enum_ib_uverbs_access_flags.define('IB_UVERBS_ACCESS_REMOTE_READ', 4)
IB_UVERBS_ACCESS_REMOTE_ATOMIC = enum_ib_uverbs_access_flags.define('IB_UVERBS_ACCESS_REMOTE_ATOMIC', 8)
IB_UVERBS_ACCESS_MW_BIND = enum_ib_uverbs_access_flags.define('IB_UVERBS_ACCESS_MW_BIND', 16)
IB_UVERBS_ACCESS_ZERO_BASED = enum_ib_uverbs_access_flags.define('IB_UVERBS_ACCESS_ZERO_BASED', 32)
IB_UVERBS_ACCESS_ON_DEMAND = enum_ib_uverbs_access_flags.define('IB_UVERBS_ACCESS_ON_DEMAND', 64)
IB_UVERBS_ACCESS_HUGETLB = enum_ib_uverbs_access_flags.define('IB_UVERBS_ACCESS_HUGETLB', 128)
IB_UVERBS_ACCESS_FLUSH_GLOBAL = enum_ib_uverbs_access_flags.define('IB_UVERBS_ACCESS_FLUSH_GLOBAL', 256)
IB_UVERBS_ACCESS_FLUSH_PERSISTENT = enum_ib_uverbs_access_flags.define('IB_UVERBS_ACCESS_FLUSH_PERSISTENT', 512)
IB_UVERBS_ACCESS_RELAXED_ORDERING = enum_ib_uverbs_access_flags.define('IB_UVERBS_ACCESS_RELAXED_ORDERING', 1048576)
IB_UVERBS_ACCESS_OPTIONAL_RANGE = enum_ib_uverbs_access_flags.define('IB_UVERBS_ACCESS_OPTIONAL_RANGE', 1072693248)
class enum_ib_uverbs_srq_type(Annotated[int, ctypes.c_uint32], c.Enum): pass
IB_UVERBS_SRQT_BASIC = enum_ib_uverbs_srq_type.define('IB_UVERBS_SRQT_BASIC', 0)
IB_UVERBS_SRQT_XRC = enum_ib_uverbs_srq_type.define('IB_UVERBS_SRQT_XRC', 1)
IB_UVERBS_SRQT_TM = enum_ib_uverbs_srq_type.define('IB_UVERBS_SRQT_TM', 2)
class enum_ib_uverbs_wq_type(Annotated[int, ctypes.c_uint32], c.Enum): pass
IB_UVERBS_WQT_RQ = enum_ib_uverbs_wq_type.define('IB_UVERBS_WQT_RQ', 0)
class enum_ib_uverbs_wq_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
IB_UVERBS_WQ_FLAGS_CVLAN_STRIPPING = enum_ib_uverbs_wq_flags.define('IB_UVERBS_WQ_FLAGS_CVLAN_STRIPPING', 1)
IB_UVERBS_WQ_FLAGS_SCATTER_FCS = enum_ib_uverbs_wq_flags.define('IB_UVERBS_WQ_FLAGS_SCATTER_FCS', 2)
IB_UVERBS_WQ_FLAGS_DELAY_DROP = enum_ib_uverbs_wq_flags.define('IB_UVERBS_WQ_FLAGS_DELAY_DROP', 4)
IB_UVERBS_WQ_FLAGS_PCI_WRITE_END_PADDING = enum_ib_uverbs_wq_flags.define('IB_UVERBS_WQ_FLAGS_PCI_WRITE_END_PADDING', 8)
class enum_ib_uverbs_qp_type(Annotated[int, ctypes.c_uint32], c.Enum): pass
IB_UVERBS_QPT_RC = enum_ib_uverbs_qp_type.define('IB_UVERBS_QPT_RC', 2)
IB_UVERBS_QPT_UC = enum_ib_uverbs_qp_type.define('IB_UVERBS_QPT_UC', 3)
IB_UVERBS_QPT_UD = enum_ib_uverbs_qp_type.define('IB_UVERBS_QPT_UD', 4)
IB_UVERBS_QPT_RAW_PACKET = enum_ib_uverbs_qp_type.define('IB_UVERBS_QPT_RAW_PACKET', 8)
IB_UVERBS_QPT_XRC_INI = enum_ib_uverbs_qp_type.define('IB_UVERBS_QPT_XRC_INI', 9)
IB_UVERBS_QPT_XRC_TGT = enum_ib_uverbs_qp_type.define('IB_UVERBS_QPT_XRC_TGT', 10)
IB_UVERBS_QPT_DRIVER = enum_ib_uverbs_qp_type.define('IB_UVERBS_QPT_DRIVER', 255)
class enum_ib_uverbs_qp_create_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
IB_UVERBS_QP_CREATE_BLOCK_MULTICAST_LOOPBACK = enum_ib_uverbs_qp_create_flags.define('IB_UVERBS_QP_CREATE_BLOCK_MULTICAST_LOOPBACK', 2)
IB_UVERBS_QP_CREATE_SCATTER_FCS = enum_ib_uverbs_qp_create_flags.define('IB_UVERBS_QP_CREATE_SCATTER_FCS', 256)
IB_UVERBS_QP_CREATE_CVLAN_STRIPPING = enum_ib_uverbs_qp_create_flags.define('IB_UVERBS_QP_CREATE_CVLAN_STRIPPING', 512)
IB_UVERBS_QP_CREATE_PCI_WRITE_END_PADDING = enum_ib_uverbs_qp_create_flags.define('IB_UVERBS_QP_CREATE_PCI_WRITE_END_PADDING', 2048)
IB_UVERBS_QP_CREATE_SQ_SIG_ALL = enum_ib_uverbs_qp_create_flags.define('IB_UVERBS_QP_CREATE_SQ_SIG_ALL', 4096)
class enum_ib_uverbs_query_port_cap_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
IB_UVERBS_PCF_SM = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_SM', 2)
IB_UVERBS_PCF_NOTICE_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_NOTICE_SUP', 4)
IB_UVERBS_PCF_TRAP_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_TRAP_SUP', 8)
IB_UVERBS_PCF_OPT_IPD_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_OPT_IPD_SUP', 16)
IB_UVERBS_PCF_AUTO_MIGR_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_AUTO_MIGR_SUP', 32)
IB_UVERBS_PCF_SL_MAP_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_SL_MAP_SUP', 64)
IB_UVERBS_PCF_MKEY_NVRAM = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_MKEY_NVRAM', 128)
IB_UVERBS_PCF_PKEY_NVRAM = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_PKEY_NVRAM', 256)
IB_UVERBS_PCF_LED_INFO_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_LED_INFO_SUP', 512)
IB_UVERBS_PCF_SM_DISABLED = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_SM_DISABLED', 1024)
IB_UVERBS_PCF_SYS_IMAGE_GUID_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_SYS_IMAGE_GUID_SUP', 2048)
IB_UVERBS_PCF_PKEY_SW_EXT_PORT_TRAP_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_PKEY_SW_EXT_PORT_TRAP_SUP', 4096)
IB_UVERBS_PCF_EXTENDED_SPEEDS_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_EXTENDED_SPEEDS_SUP', 16384)
IB_UVERBS_PCF_CM_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_CM_SUP', 65536)
IB_UVERBS_PCF_SNMP_TUNNEL_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_SNMP_TUNNEL_SUP', 131072)
IB_UVERBS_PCF_REINIT_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_REINIT_SUP', 262144)
IB_UVERBS_PCF_DEVICE_MGMT_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_DEVICE_MGMT_SUP', 524288)
IB_UVERBS_PCF_VENDOR_CLASS_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_VENDOR_CLASS_SUP', 1048576)
IB_UVERBS_PCF_DR_NOTICE_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_DR_NOTICE_SUP', 2097152)
IB_UVERBS_PCF_CAP_MASK_NOTICE_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_CAP_MASK_NOTICE_SUP', 4194304)
IB_UVERBS_PCF_BOOT_MGMT_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_BOOT_MGMT_SUP', 8388608)
IB_UVERBS_PCF_LINK_LATENCY_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_LINK_LATENCY_SUP', 16777216)
IB_UVERBS_PCF_CLIENT_REG_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_CLIENT_REG_SUP', 33554432)
IB_UVERBS_PCF_LINK_SPEED_WIDTH_TABLE_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_LINK_SPEED_WIDTH_TABLE_SUP', 134217728)
IB_UVERBS_PCF_VENDOR_SPECIFIC_MADS_TABLE_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_VENDOR_SPECIFIC_MADS_TABLE_SUP', 268435456)
IB_UVERBS_PCF_MCAST_PKEY_TRAP_SUPPRESSION_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_MCAST_PKEY_TRAP_SUPPRESSION_SUP', 536870912)
IB_UVERBS_PCF_MCAST_FDB_TOP_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_MCAST_FDB_TOP_SUP', 1073741824)
IB_UVERBS_PCF_HIERARCHY_INFO_SUP = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_HIERARCHY_INFO_SUP', 2147483648)
IB_UVERBS_PCF_IP_BASED_GIDS = enum_ib_uverbs_query_port_cap_flags.define('IB_UVERBS_PCF_IP_BASED_GIDS', 67108864)
class enum_ib_uverbs_query_port_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
IB_UVERBS_QPF_GRH_REQUIRED = enum_ib_uverbs_query_port_flags.define('IB_UVERBS_QPF_GRH_REQUIRED', 1)
class enum_ib_uverbs_flow_action_esp_keymat_aes_gcm_iv_algo(Annotated[int, ctypes.c_uint32], c.Enum): pass
IB_UVERBS_FLOW_ACTION_IV_ALGO_SEQ = enum_ib_uverbs_flow_action_esp_keymat_aes_gcm_iv_algo.define('IB_UVERBS_FLOW_ACTION_IV_ALGO_SEQ', 0)
@c.record
class struct_ib_uverbs_flow_action_esp_keymat_aes_gcm(c.Struct):
SIZE = 56
iv: Annotated[Annotated[int, ctypes.c_uint64], 0]
iv_algo: Annotated[Annotated[int, ctypes.c_uint32], 8]
salt: Annotated[Annotated[int, ctypes.c_uint32], 12]
icv_len: Annotated[Annotated[int, ctypes.c_uint32], 16]
key_len: Annotated[Annotated[int, ctypes.c_uint32], 20]
aes_key: Annotated[c.Array[Annotated[int, ctypes.c_uint32], Literal[8]], 24]
@c.record
class struct_ib_uverbs_flow_action_esp_replay_bmp(c.Struct):
SIZE = 4
size: Annotated[Annotated[int, ctypes.c_uint32], 0]
class enum_ib_uverbs_flow_action_esp_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
IB_UVERBS_FLOW_ACTION_ESP_FLAGS_INLINE_CRYPTO = enum_ib_uverbs_flow_action_esp_flags.define('IB_UVERBS_FLOW_ACTION_ESP_FLAGS_INLINE_CRYPTO', 0)
IB_UVERBS_FLOW_ACTION_ESP_FLAGS_FULL_OFFLOAD = enum_ib_uverbs_flow_action_esp_flags.define('IB_UVERBS_FLOW_ACTION_ESP_FLAGS_FULL_OFFLOAD', 1)
IB_UVERBS_FLOW_ACTION_ESP_FLAGS_TUNNEL = enum_ib_uverbs_flow_action_esp_flags.define('IB_UVERBS_FLOW_ACTION_ESP_FLAGS_TUNNEL', 0)
IB_UVERBS_FLOW_ACTION_ESP_FLAGS_TRANSPORT = enum_ib_uverbs_flow_action_esp_flags.define('IB_UVERBS_FLOW_ACTION_ESP_FLAGS_TRANSPORT', 2)
IB_UVERBS_FLOW_ACTION_ESP_FLAGS_DECRYPT = enum_ib_uverbs_flow_action_esp_flags.define('IB_UVERBS_FLOW_ACTION_ESP_FLAGS_DECRYPT', 0)
IB_UVERBS_FLOW_ACTION_ESP_FLAGS_ENCRYPT = enum_ib_uverbs_flow_action_esp_flags.define('IB_UVERBS_FLOW_ACTION_ESP_FLAGS_ENCRYPT', 4)
IB_UVERBS_FLOW_ACTION_ESP_FLAGS_ESN_NEW_WINDOW = enum_ib_uverbs_flow_action_esp_flags.define('IB_UVERBS_FLOW_ACTION_ESP_FLAGS_ESN_NEW_WINDOW', 8)
class enum_ib_uverbs_read_counters_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
IB_UVERBS_READ_COUNTERS_PREFER_CACHED = enum_ib_uverbs_read_counters_flags.define('IB_UVERBS_READ_COUNTERS_PREFER_CACHED', 1)
class enum_ib_uverbs_advise_mr_flag(Annotated[int, ctypes.c_uint32], c.Enum): pass
IB_UVERBS_ADVISE_MR_FLAG_FLUSH = enum_ib_uverbs_advise_mr_flag.define('IB_UVERBS_ADVISE_MR_FLAG_FLUSH', 1)
@c.record
class struct_ib_uverbs_query_port_resp_ex(c.Struct):
SIZE = 48
legacy_resp: Annotated[struct_ib_uverbs_query_port_resp, 0]
port_cap_flags2: Annotated[Annotated[int, ctypes.c_uint16], 40]
reserved: Annotated[c.Array[Annotated[int, ctypes.c_ubyte], Literal[2]], 42]
active_speed_ex: Annotated[Annotated[int, ctypes.c_uint32], 44]
@c.record
class struct_ib_uverbs_query_port_resp(c.Struct):
SIZE = 40
port_cap_flags: Annotated[Annotated[int, ctypes.c_uint32], 0]
max_msg_sz: Annotated[Annotated[int, ctypes.c_uint32], 4]
bad_pkey_cntr: Annotated[Annotated[int, ctypes.c_uint32], 8]
qkey_viol_cntr: Annotated[Annotated[int, ctypes.c_uint32], 12]
gid_tbl_len: Annotated[Annotated[int, ctypes.c_uint32], 16]
pkey_tbl_len: Annotated[Annotated[int, ctypes.c_uint16], 20]
lid: Annotated[Annotated[int, ctypes.c_uint16], 22]
sm_lid: Annotated[Annotated[int, ctypes.c_uint16], 24]
state: Annotated[Annotated[int, ctypes.c_ubyte], 26]
max_mtu: Annotated[Annotated[int, ctypes.c_ubyte], 27]
active_mtu: Annotated[Annotated[int, ctypes.c_ubyte], 28]
lmc: Annotated[Annotated[int, ctypes.c_ubyte], 29]
max_vl_num: Annotated[Annotated[int, ctypes.c_ubyte], 30]
sm_sl: Annotated[Annotated[int, ctypes.c_ubyte], 31]
subnet_timeout: Annotated[Annotated[int, ctypes.c_ubyte], 32]
init_type_reply: Annotated[Annotated[int, ctypes.c_ubyte], 33]
active_width: Annotated[Annotated[int, ctypes.c_ubyte], 34]
active_speed: Annotated[Annotated[int, ctypes.c_ubyte], 35]
phys_state: Annotated[Annotated[int, ctypes.c_ubyte], 36]
link_layer: Annotated[Annotated[int, ctypes.c_ubyte], 37]
flags: Annotated[Annotated[int, ctypes.c_ubyte], 38]
reserved: Annotated[Annotated[int, ctypes.c_ubyte], 39]
__u8: TypeAlias = Annotated[int, ctypes.c_ubyte]
@c.record
class struct_ib_uverbs_qp_cap(c.Struct):
SIZE = 20
max_send_wr: Annotated[Annotated[int, ctypes.c_uint32], 0]
max_recv_wr: Annotated[Annotated[int, ctypes.c_uint32], 4]
max_send_sge: Annotated[Annotated[int, ctypes.c_uint32], 8]
max_recv_sge: Annotated[Annotated[int, ctypes.c_uint32], 12]
max_inline_data: Annotated[Annotated[int, ctypes.c_uint32], 16]
class enum_rdma_driver_id(Annotated[int, ctypes.c_uint32], c.Enum): pass
RDMA_DRIVER_UNKNOWN = enum_rdma_driver_id.define('RDMA_DRIVER_UNKNOWN', 0)
RDMA_DRIVER_MLX5 = enum_rdma_driver_id.define('RDMA_DRIVER_MLX5', 1)
RDMA_DRIVER_MLX4 = enum_rdma_driver_id.define('RDMA_DRIVER_MLX4', 2)
RDMA_DRIVER_CXGB3 = enum_rdma_driver_id.define('RDMA_DRIVER_CXGB3', 3)
RDMA_DRIVER_CXGB4 = enum_rdma_driver_id.define('RDMA_DRIVER_CXGB4', 4)
RDMA_DRIVER_MTHCA = enum_rdma_driver_id.define('RDMA_DRIVER_MTHCA', 5)
RDMA_DRIVER_BNXT_RE = enum_rdma_driver_id.define('RDMA_DRIVER_BNXT_RE', 6)
RDMA_DRIVER_OCRDMA = enum_rdma_driver_id.define('RDMA_DRIVER_OCRDMA', 7)
RDMA_DRIVER_NES = enum_rdma_driver_id.define('RDMA_DRIVER_NES', 8)
RDMA_DRIVER_I40IW = enum_rdma_driver_id.define('RDMA_DRIVER_I40IW', 9)
RDMA_DRIVER_IRDMA = enum_rdma_driver_id.define('RDMA_DRIVER_IRDMA', 9)
RDMA_DRIVER_VMW_PVRDMA = enum_rdma_driver_id.define('RDMA_DRIVER_VMW_PVRDMA', 10)
RDMA_DRIVER_QEDR = enum_rdma_driver_id.define('RDMA_DRIVER_QEDR', 11)
RDMA_DRIVER_HNS = enum_rdma_driver_id.define('RDMA_DRIVER_HNS', 12)
RDMA_DRIVER_USNIC = enum_rdma_driver_id.define('RDMA_DRIVER_USNIC', 13)
RDMA_DRIVER_RXE = enum_rdma_driver_id.define('RDMA_DRIVER_RXE', 14)
RDMA_DRIVER_HFI1 = enum_rdma_driver_id.define('RDMA_DRIVER_HFI1', 15)
RDMA_DRIVER_QIB = enum_rdma_driver_id.define('RDMA_DRIVER_QIB', 16)
RDMA_DRIVER_EFA = enum_rdma_driver_id.define('RDMA_DRIVER_EFA', 17)
RDMA_DRIVER_SIW = enum_rdma_driver_id.define('RDMA_DRIVER_SIW', 18)
RDMA_DRIVER_ERDMA = enum_rdma_driver_id.define('RDMA_DRIVER_ERDMA', 19)
RDMA_DRIVER_MANA = enum_rdma_driver_id.define('RDMA_DRIVER_MANA', 20)
class enum_ib_uverbs_gid_type(Annotated[int, ctypes.c_uint32], c.Enum): pass
IB_UVERBS_GID_TYPE_IB = enum_ib_uverbs_gid_type.define('IB_UVERBS_GID_TYPE_IB', 0)
IB_UVERBS_GID_TYPE_ROCE_V1 = enum_ib_uverbs_gid_type.define('IB_UVERBS_GID_TYPE_ROCE_V1', 1)
IB_UVERBS_GID_TYPE_ROCE_V2 = enum_ib_uverbs_gid_type.define('IB_UVERBS_GID_TYPE_ROCE_V2', 2)
@c.record
class struct_ib_uverbs_gid_entry(c.Struct):
SIZE = 32
gid: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[2]], 0]
gid_index: Annotated[Annotated[int, ctypes.c_uint32], 16]
port_num: Annotated[Annotated[int, ctypes.c_uint32], 20]
gid_type: Annotated[Annotated[int, ctypes.c_uint32], 24]
netdev_ifindex: Annotated[Annotated[int, ctypes.c_uint32], 28]
class enum_ib_uverbs_write_cmds(Annotated[int, ctypes.c_uint32], c.Enum): pass
IB_USER_VERBS_CMD_GET_CONTEXT = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_GET_CONTEXT', 0)
IB_USER_VERBS_CMD_QUERY_DEVICE = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_QUERY_DEVICE', 1)
IB_USER_VERBS_CMD_QUERY_PORT = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_QUERY_PORT', 2)
IB_USER_VERBS_CMD_ALLOC_PD = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_ALLOC_PD', 3)
IB_USER_VERBS_CMD_DEALLOC_PD = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_DEALLOC_PD', 4)
IB_USER_VERBS_CMD_CREATE_AH = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_CREATE_AH', 5)
IB_USER_VERBS_CMD_MODIFY_AH = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_MODIFY_AH', 6)
IB_USER_VERBS_CMD_QUERY_AH = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_QUERY_AH', 7)
IB_USER_VERBS_CMD_DESTROY_AH = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_DESTROY_AH', 8)
IB_USER_VERBS_CMD_REG_MR = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_REG_MR', 9)
IB_USER_VERBS_CMD_REG_SMR = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_REG_SMR', 10)
IB_USER_VERBS_CMD_REREG_MR = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_REREG_MR', 11)
IB_USER_VERBS_CMD_QUERY_MR = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_QUERY_MR', 12)
IB_USER_VERBS_CMD_DEREG_MR = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_DEREG_MR', 13)
IB_USER_VERBS_CMD_ALLOC_MW = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_ALLOC_MW', 14)
IB_USER_VERBS_CMD_BIND_MW = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_BIND_MW', 15)
IB_USER_VERBS_CMD_DEALLOC_MW = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_DEALLOC_MW', 16)
IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL', 17)
IB_USER_VERBS_CMD_CREATE_CQ = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_CREATE_CQ', 18)
IB_USER_VERBS_CMD_RESIZE_CQ = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_RESIZE_CQ', 19)
IB_USER_VERBS_CMD_DESTROY_CQ = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_DESTROY_CQ', 20)
IB_USER_VERBS_CMD_POLL_CQ = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_POLL_CQ', 21)
IB_USER_VERBS_CMD_PEEK_CQ = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_PEEK_CQ', 22)
IB_USER_VERBS_CMD_REQ_NOTIFY_CQ = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_REQ_NOTIFY_CQ', 23)
IB_USER_VERBS_CMD_CREATE_QP = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_CREATE_QP', 24)
IB_USER_VERBS_CMD_QUERY_QP = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_QUERY_QP', 25)
IB_USER_VERBS_CMD_MODIFY_QP = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_MODIFY_QP', 26)
IB_USER_VERBS_CMD_DESTROY_QP = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_DESTROY_QP', 27)
IB_USER_VERBS_CMD_POST_SEND = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_POST_SEND', 28)
IB_USER_VERBS_CMD_POST_RECV = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_POST_RECV', 29)
IB_USER_VERBS_CMD_ATTACH_MCAST = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_ATTACH_MCAST', 30)
IB_USER_VERBS_CMD_DETACH_MCAST = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_DETACH_MCAST', 31)
IB_USER_VERBS_CMD_CREATE_SRQ = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_CREATE_SRQ', 32)
IB_USER_VERBS_CMD_MODIFY_SRQ = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_MODIFY_SRQ', 33)
IB_USER_VERBS_CMD_QUERY_SRQ = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_QUERY_SRQ', 34)
IB_USER_VERBS_CMD_DESTROY_SRQ = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_DESTROY_SRQ', 35)
IB_USER_VERBS_CMD_POST_SRQ_RECV = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_POST_SRQ_RECV', 36)
IB_USER_VERBS_CMD_OPEN_XRCD = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_OPEN_XRCD', 37)
IB_USER_VERBS_CMD_CLOSE_XRCD = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_CLOSE_XRCD', 38)
IB_USER_VERBS_CMD_CREATE_XSRQ = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_CREATE_XSRQ', 39)
IB_USER_VERBS_CMD_OPEN_QP = enum_ib_uverbs_write_cmds.define('IB_USER_VERBS_CMD_OPEN_QP', 40)
class _anonenum5(Annotated[int, ctypes.c_uint32], c.Enum): pass
IB_USER_VERBS_EX_CMD_QUERY_DEVICE = _anonenum5.define('IB_USER_VERBS_EX_CMD_QUERY_DEVICE', 1)
IB_USER_VERBS_EX_CMD_CREATE_CQ = _anonenum5.define('IB_USER_VERBS_EX_CMD_CREATE_CQ', 18)
IB_USER_VERBS_EX_CMD_CREATE_QP = _anonenum5.define('IB_USER_VERBS_EX_CMD_CREATE_QP', 24)
IB_USER_VERBS_EX_CMD_MODIFY_QP = _anonenum5.define('IB_USER_VERBS_EX_CMD_MODIFY_QP', 26)
IB_USER_VERBS_EX_CMD_CREATE_FLOW = _anonenum5.define('IB_USER_VERBS_EX_CMD_CREATE_FLOW', 50)
IB_USER_VERBS_EX_CMD_DESTROY_FLOW = _anonenum5.define('IB_USER_VERBS_EX_CMD_DESTROY_FLOW', 51)
IB_USER_VERBS_EX_CMD_CREATE_WQ = _anonenum5.define('IB_USER_VERBS_EX_CMD_CREATE_WQ', 52)
IB_USER_VERBS_EX_CMD_MODIFY_WQ = _anonenum5.define('IB_USER_VERBS_EX_CMD_MODIFY_WQ', 53)
IB_USER_VERBS_EX_CMD_DESTROY_WQ = _anonenum5.define('IB_USER_VERBS_EX_CMD_DESTROY_WQ', 54)
IB_USER_VERBS_EX_CMD_CREATE_RWQ_IND_TBL = _anonenum5.define('IB_USER_VERBS_EX_CMD_CREATE_RWQ_IND_TBL', 55)
IB_USER_VERBS_EX_CMD_DESTROY_RWQ_IND_TBL = _anonenum5.define('IB_USER_VERBS_EX_CMD_DESTROY_RWQ_IND_TBL', 56)
IB_USER_VERBS_EX_CMD_MODIFY_CQ = _anonenum5.define('IB_USER_VERBS_EX_CMD_MODIFY_CQ', 57)
class enum_ib_placement_type(Annotated[int, ctypes.c_uint32], c.Enum): pass
IB_FLUSH_GLOBAL = enum_ib_placement_type.define('IB_FLUSH_GLOBAL', 1)
IB_FLUSH_PERSISTENT = enum_ib_placement_type.define('IB_FLUSH_PERSISTENT', 2)
class enum_ib_selectivity_level(Annotated[int, ctypes.c_uint32], c.Enum): pass
IB_FLUSH_RANGE = enum_ib_selectivity_level.define('IB_FLUSH_RANGE', 0)
IB_FLUSH_MR = enum_ib_selectivity_level.define('IB_FLUSH_MR', 1)
@c.record
class struct_ib_uverbs_async_event_desc(c.Struct):
SIZE = 16
element: Annotated[Annotated[int, ctypes.c_uint64], 0]
event_type: Annotated[Annotated[int, ctypes.c_uint32], 8]
reserved: Annotated[Annotated[int, ctypes.c_uint32], 12]
@c.record
class struct_ib_uverbs_comp_event_desc(c.Struct):
SIZE = 8
cq_handle: Annotated[Annotated[int, ctypes.c_uint64], 0]
@c.record
class struct_ib_uverbs_cq_moderation_caps(c.Struct):
SIZE = 8
max_cq_moderation_count: Annotated[Annotated[int, ctypes.c_uint16], 0]
max_cq_moderation_period: Annotated[Annotated[int, ctypes.c_uint16], 2]
reserved: Annotated[Annotated[int, ctypes.c_uint32], 4]
@c.record
class struct_ib_uverbs_cmd_hdr(c.Struct):
SIZE = 8
command: Annotated[Annotated[int, ctypes.c_uint32], 0]
in_words: Annotated[Annotated[int, ctypes.c_uint16], 4]
out_words: Annotated[Annotated[int, ctypes.c_uint16], 6]
@c.record
class struct_ib_uverbs_ex_cmd_hdr(c.Struct):
SIZE = 16
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
provider_in_words: Annotated[Annotated[int, ctypes.c_uint16], 8]
provider_out_words: Annotated[Annotated[int, ctypes.c_uint16], 10]
cmd_hdr_reserved: Annotated[Annotated[int, ctypes.c_uint32], 12]
@c.record
class struct_ib_uverbs_get_context(c.Struct):
SIZE = 8
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 8]
@c.record
class struct_ib_uverbs_get_context_resp(c.Struct):
SIZE = 8
async_fd: Annotated[Annotated[int, ctypes.c_uint32], 0]
num_comp_vectors: Annotated[Annotated[int, ctypes.c_uint32], 4]
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 8]
@c.record
class struct_ib_uverbs_query_device(c.Struct):
SIZE = 8
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 8]
@c.record
class struct_ib_uverbs_query_device_resp(c.Struct):
SIZE = 176
fw_ver: Annotated[Annotated[int, ctypes.c_uint64], 0]
node_guid: Annotated[Annotated[int, ctypes.c_uint64], 8]
sys_image_guid: Annotated[Annotated[int, ctypes.c_uint64], 16]
max_mr_size: Annotated[Annotated[int, ctypes.c_uint64], 24]
page_size_cap: Annotated[Annotated[int, ctypes.c_uint64], 32]
vendor_id: Annotated[Annotated[int, ctypes.c_uint32], 40]
vendor_part_id: Annotated[Annotated[int, ctypes.c_uint32], 44]
hw_ver: Annotated[Annotated[int, ctypes.c_uint32], 48]
max_qp: Annotated[Annotated[int, ctypes.c_uint32], 52]
max_qp_wr: Annotated[Annotated[int, ctypes.c_uint32], 56]
device_cap_flags: Annotated[Annotated[int, ctypes.c_uint32], 60]
max_sge: Annotated[Annotated[int, ctypes.c_uint32], 64]
max_sge_rd: Annotated[Annotated[int, ctypes.c_uint32], 68]
max_cq: Annotated[Annotated[int, ctypes.c_uint32], 72]
max_cqe: Annotated[Annotated[int, ctypes.c_uint32], 76]
max_mr: Annotated[Annotated[int, ctypes.c_uint32], 80]
max_pd: Annotated[Annotated[int, ctypes.c_uint32], 84]
max_qp_rd_atom: Annotated[Annotated[int, ctypes.c_uint32], 88]
max_ee_rd_atom: Annotated[Annotated[int, ctypes.c_uint32], 92]
max_res_rd_atom: Annotated[Annotated[int, ctypes.c_uint32], 96]
max_qp_init_rd_atom: Annotated[Annotated[int, ctypes.c_uint32], 100]
max_ee_init_rd_atom: Annotated[Annotated[int, ctypes.c_uint32], 104]
atomic_cap: Annotated[Annotated[int, ctypes.c_uint32], 108]
max_ee: Annotated[Annotated[int, ctypes.c_uint32], 112]
max_rdd: Annotated[Annotated[int, ctypes.c_uint32], 116]
max_mw: Annotated[Annotated[int, ctypes.c_uint32], 120]
max_raw_ipv6_qp: Annotated[Annotated[int, ctypes.c_uint32], 124]
max_raw_ethy_qp: Annotated[Annotated[int, ctypes.c_uint32], 128]
max_mcast_grp: Annotated[Annotated[int, ctypes.c_uint32], 132]
max_mcast_qp_attach: Annotated[Annotated[int, ctypes.c_uint32], 136]
max_total_mcast_qp_attach: Annotated[Annotated[int, ctypes.c_uint32], 140]
max_ah: Annotated[Annotated[int, ctypes.c_uint32], 144]
max_fmr: Annotated[Annotated[int, ctypes.c_uint32], 148]
max_map_per_fmr: Annotated[Annotated[int, ctypes.c_uint32], 152]
max_srq: Annotated[Annotated[int, ctypes.c_uint32], 156]
max_srq_wr: Annotated[Annotated[int, ctypes.c_uint32], 160]
max_srq_sge: Annotated[Annotated[int, ctypes.c_uint32], 164]
max_pkeys: Annotated[Annotated[int, ctypes.c_uint16], 168]
local_ca_ack_delay: Annotated[Annotated[int, ctypes.c_ubyte], 170]
phys_port_cnt: Annotated[Annotated[int, ctypes.c_ubyte], 171]
reserved: Annotated[c.Array[Annotated[int, ctypes.c_ubyte], Literal[4]], 172]
@c.record
class struct_ib_uverbs_ex_query_device(c.Struct):
SIZE = 8
comp_mask: Annotated[Annotated[int, ctypes.c_uint32], 0]
reserved: Annotated[Annotated[int, ctypes.c_uint32], 4]
@c.record
class struct_ib_uverbs_odp_caps(c.Struct):
SIZE = 24
general_caps: Annotated[Annotated[int, ctypes.c_uint64], 0]
per_transport_caps: Annotated[struct_ib_uverbs_odp_caps_per_transport_caps, 8]
reserved: Annotated[Annotated[int, ctypes.c_uint32], 20]
@c.record
class struct_ib_uverbs_odp_caps_per_transport_caps(c.Struct):
SIZE = 12
rc_odp_caps: Annotated[Annotated[int, ctypes.c_uint32], 0]
uc_odp_caps: Annotated[Annotated[int, ctypes.c_uint32], 4]
ud_odp_caps: Annotated[Annotated[int, ctypes.c_uint32], 8]
@c.record
class struct_ib_uverbs_rss_caps(c.Struct):
SIZE = 16
supported_qpts: Annotated[Annotated[int, ctypes.c_uint32], 0]
max_rwq_indirection_tables: Annotated[Annotated[int, ctypes.c_uint32], 4]
max_rwq_indirection_table_size: Annotated[Annotated[int, ctypes.c_uint32], 8]
reserved: Annotated[Annotated[int, ctypes.c_uint32], 12]
@c.record
class struct_ib_uverbs_tm_caps(c.Struct):
SIZE = 24
max_rndv_hdr_size: Annotated[Annotated[int, ctypes.c_uint32], 0]
max_num_tags: Annotated[Annotated[int, ctypes.c_uint32], 4]
flags: Annotated[Annotated[int, ctypes.c_uint32], 8]
max_ops: Annotated[Annotated[int, ctypes.c_uint32], 12]
max_sge: Annotated[Annotated[int, ctypes.c_uint32], 16]
reserved: Annotated[Annotated[int, ctypes.c_uint32], 20]
@c.record
class struct_ib_uverbs_ex_query_device_resp(c.Struct):
SIZE = 304
base: Annotated[struct_ib_uverbs_query_device_resp, 0]
comp_mask: Annotated[Annotated[int, ctypes.c_uint32], 176]
response_length: Annotated[Annotated[int, ctypes.c_uint32], 180]
odp_caps: Annotated[struct_ib_uverbs_odp_caps, 184]
timestamp_mask: Annotated[Annotated[int, ctypes.c_uint64], 208]
hca_core_clock: Annotated[Annotated[int, ctypes.c_uint64], 216]
device_cap_flags_ex: Annotated[Annotated[int, ctypes.c_uint64], 224]
rss_caps: Annotated[struct_ib_uverbs_rss_caps, 232]
max_wq_type_rq: Annotated[Annotated[int, ctypes.c_uint32], 248]
raw_packet_caps: Annotated[Annotated[int, ctypes.c_uint32], 252]
tm_caps: Annotated[struct_ib_uverbs_tm_caps, 256]
cq_moderation_caps: Annotated[struct_ib_uverbs_cq_moderation_caps, 280]
max_dm_size: Annotated[Annotated[int, ctypes.c_uint64], 288]
xrc_odp_caps: Annotated[Annotated[int, ctypes.c_uint32], 296]
reserved: Annotated[Annotated[int, ctypes.c_uint32], 300]
@c.record
class struct_ib_uverbs_query_port(c.Struct):
SIZE = 16
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
port_num: Annotated[Annotated[int, ctypes.c_ubyte], 8]
reserved: Annotated[c.Array[Annotated[int, ctypes.c_ubyte], Literal[7]], 9]
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 16]
@c.record
class struct_ib_uverbs_alloc_pd(c.Struct):
SIZE = 8
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 8]
@c.record
class struct_ib_uverbs_alloc_pd_resp(c.Struct):
SIZE = 4
pd_handle: Annotated[Annotated[int, ctypes.c_uint32], 0]
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint32], Literal[0]], 4]
@c.record
class struct_ib_uverbs_dealloc_pd(c.Struct):
SIZE = 4
pd_handle: Annotated[Annotated[int, ctypes.c_uint32], 0]
@c.record
class struct_ib_uverbs_open_xrcd(c.Struct):
SIZE = 16
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
fd: Annotated[Annotated[int, ctypes.c_uint32], 8]
oflags: Annotated[Annotated[int, ctypes.c_uint32], 12]
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 16]
@c.record
class struct_ib_uverbs_open_xrcd_resp(c.Struct):
SIZE = 4
xrcd_handle: Annotated[Annotated[int, ctypes.c_uint32], 0]
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint32], Literal[0]], 4]
@c.record
class struct_ib_uverbs_close_xrcd(c.Struct):
SIZE = 4
xrcd_handle: Annotated[Annotated[int, ctypes.c_uint32], 0]
@c.record
class struct_ib_uverbs_reg_mr(c.Struct):
SIZE = 40
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
start: Annotated[Annotated[int, ctypes.c_uint64], 8]
length: Annotated[Annotated[int, ctypes.c_uint64], 16]
hca_va: Annotated[Annotated[int, ctypes.c_uint64], 24]
pd_handle: Annotated[Annotated[int, ctypes.c_uint32], 32]
access_flags: Annotated[Annotated[int, ctypes.c_uint32], 36]
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 40]
@c.record
class struct_ib_uverbs_reg_mr_resp(c.Struct):
SIZE = 12
mr_handle: Annotated[Annotated[int, ctypes.c_uint32], 0]
lkey: Annotated[Annotated[int, ctypes.c_uint32], 4]
rkey: Annotated[Annotated[int, ctypes.c_uint32], 8]
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint32], Literal[0]], 12]
@c.record
class struct_ib_uverbs_rereg_mr(c.Struct):
SIZE = 48
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
mr_handle: Annotated[Annotated[int, ctypes.c_uint32], 8]
flags: Annotated[Annotated[int, ctypes.c_uint32], 12]
start: Annotated[Annotated[int, ctypes.c_uint64], 16]
length: Annotated[Annotated[int, ctypes.c_uint64], 24]
hca_va: Annotated[Annotated[int, ctypes.c_uint64], 32]
pd_handle: Annotated[Annotated[int, ctypes.c_uint32], 40]
access_flags: Annotated[Annotated[int, ctypes.c_uint32], 44]
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 48]
@c.record
class struct_ib_uverbs_rereg_mr_resp(c.Struct):
SIZE = 8
lkey: Annotated[Annotated[int, ctypes.c_uint32], 0]
rkey: Annotated[Annotated[int, ctypes.c_uint32], 4]
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 8]
@c.record
class struct_ib_uverbs_dereg_mr(c.Struct):
SIZE = 4
mr_handle: Annotated[Annotated[int, ctypes.c_uint32], 0]
@c.record
class struct_ib_uverbs_alloc_mw(c.Struct):
SIZE = 16
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
pd_handle: Annotated[Annotated[int, ctypes.c_uint32], 8]
mw_type: Annotated[Annotated[int, ctypes.c_ubyte], 12]
reserved: Annotated[c.Array[Annotated[int, ctypes.c_ubyte], Literal[3]], 13]
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 16]
@c.record
class struct_ib_uverbs_alloc_mw_resp(c.Struct):
SIZE = 8
mw_handle: Annotated[Annotated[int, ctypes.c_uint32], 0]
rkey: Annotated[Annotated[int, ctypes.c_uint32], 4]
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 8]
@c.record
class struct_ib_uverbs_dealloc_mw(c.Struct):
SIZE = 4
mw_handle: Annotated[Annotated[int, ctypes.c_uint32], 0]
@c.record
class struct_ib_uverbs_create_comp_channel(c.Struct):
SIZE = 8
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
@c.record
class struct_ib_uverbs_create_comp_channel_resp(c.Struct):
SIZE = 4
fd: Annotated[Annotated[int, ctypes.c_uint32], 0]
@c.record
class struct_ib_uverbs_create_cq(c.Struct):
SIZE = 32
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
user_handle: Annotated[Annotated[int, ctypes.c_uint64], 8]
cqe: Annotated[Annotated[int, ctypes.c_uint32], 16]
comp_vector: Annotated[Annotated[int, ctypes.c_uint32], 20]
comp_channel: Annotated[Annotated[int, ctypes.c_int32], 24]
reserved: Annotated[Annotated[int, ctypes.c_uint32], 28]
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 32]
__s32: TypeAlias = Annotated[int, ctypes.c_int32]
class enum_ib_uverbs_ex_create_cq_flags(Annotated[int, ctypes.c_uint32], c.Enum): pass
IB_UVERBS_CQ_FLAGS_TIMESTAMP_COMPLETION = enum_ib_uverbs_ex_create_cq_flags.define('IB_UVERBS_CQ_FLAGS_TIMESTAMP_COMPLETION', 1)
IB_UVERBS_CQ_FLAGS_IGNORE_OVERRUN = enum_ib_uverbs_ex_create_cq_flags.define('IB_UVERBS_CQ_FLAGS_IGNORE_OVERRUN', 2)
@c.record
class struct_ib_uverbs_ex_create_cq(c.Struct):
SIZE = 32
user_handle: Annotated[Annotated[int, ctypes.c_uint64], 0]
cqe: Annotated[Annotated[int, ctypes.c_uint32], 8]
comp_vector: Annotated[Annotated[int, ctypes.c_uint32], 12]
comp_channel: Annotated[Annotated[int, ctypes.c_int32], 16]
comp_mask: Annotated[Annotated[int, ctypes.c_uint32], 20]
flags: Annotated[Annotated[int, ctypes.c_uint32], 24]
reserved: Annotated[Annotated[int, ctypes.c_uint32], 28]
@c.record
class struct_ib_uverbs_create_cq_resp(c.Struct):
SIZE = 8
cq_handle: Annotated[Annotated[int, ctypes.c_uint32], 0]
cqe: Annotated[Annotated[int, ctypes.c_uint32], 4]
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 8]
@c.record
class struct_ib_uverbs_ex_create_cq_resp(c.Struct):
SIZE = 16
base: Annotated[struct_ib_uverbs_create_cq_resp, 0]
comp_mask: Annotated[Annotated[int, ctypes.c_uint32], 8]
response_length: Annotated[Annotated[int, ctypes.c_uint32], 12]
@c.record
class struct_ib_uverbs_resize_cq(c.Struct):
SIZE = 16
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
cq_handle: Annotated[Annotated[int, ctypes.c_uint32], 8]
cqe: Annotated[Annotated[int, ctypes.c_uint32], 12]
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 16]
@c.record
class struct_ib_uverbs_resize_cq_resp(c.Struct):
SIZE = 8
cqe: Annotated[Annotated[int, ctypes.c_uint32], 0]
reserved: Annotated[Annotated[int, ctypes.c_uint32], 4]
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 8]
@c.record
class struct_ib_uverbs_poll_cq(c.Struct):
SIZE = 16
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
cq_handle: Annotated[Annotated[int, ctypes.c_uint32], 8]
ne: Annotated[Annotated[int, ctypes.c_uint32], 12]
class enum_ib_uverbs_wc_opcode(Annotated[int, ctypes.c_uint32], c.Enum): pass
IB_UVERBS_WC_SEND = enum_ib_uverbs_wc_opcode.define('IB_UVERBS_WC_SEND', 0)
IB_UVERBS_WC_RDMA_WRITE = enum_ib_uverbs_wc_opcode.define('IB_UVERBS_WC_RDMA_WRITE', 1)
IB_UVERBS_WC_RDMA_READ = enum_ib_uverbs_wc_opcode.define('IB_UVERBS_WC_RDMA_READ', 2)
IB_UVERBS_WC_COMP_SWAP = enum_ib_uverbs_wc_opcode.define('IB_UVERBS_WC_COMP_SWAP', 3)
IB_UVERBS_WC_FETCH_ADD = enum_ib_uverbs_wc_opcode.define('IB_UVERBS_WC_FETCH_ADD', 4)
IB_UVERBS_WC_BIND_MW = enum_ib_uverbs_wc_opcode.define('IB_UVERBS_WC_BIND_MW', 5)
IB_UVERBS_WC_LOCAL_INV = enum_ib_uverbs_wc_opcode.define('IB_UVERBS_WC_LOCAL_INV', 6)
IB_UVERBS_WC_TSO = enum_ib_uverbs_wc_opcode.define('IB_UVERBS_WC_TSO', 7)
IB_UVERBS_WC_FLUSH = enum_ib_uverbs_wc_opcode.define('IB_UVERBS_WC_FLUSH', 8)
IB_UVERBS_WC_ATOMIC_WRITE = enum_ib_uverbs_wc_opcode.define('IB_UVERBS_WC_ATOMIC_WRITE', 9)
@c.record
class struct_ib_uverbs_wc(c.Struct):
SIZE = 48
wr_id: Annotated[Annotated[int, ctypes.c_uint64], 0]
status: Annotated[Annotated[int, ctypes.c_uint32], 8]
opcode: Annotated[Annotated[int, ctypes.c_uint32], 12]
vendor_err: Annotated[Annotated[int, ctypes.c_uint32], 16]
byte_len: Annotated[Annotated[int, ctypes.c_uint32], 20]
ex: Annotated[struct_ib_uverbs_wc_ex, 24]
qp_num: Annotated[Annotated[int, ctypes.c_uint32], 28]
src_qp: Annotated[Annotated[int, ctypes.c_uint32], 32]
wc_flags: Annotated[Annotated[int, ctypes.c_uint32], 36]
pkey_index: Annotated[Annotated[int, ctypes.c_uint16], 40]
slid: Annotated[Annotated[int, ctypes.c_uint16], 42]
sl: Annotated[Annotated[int, ctypes.c_ubyte], 44]
dlid_path_bits: Annotated[Annotated[int, ctypes.c_ubyte], 45]
port_num: Annotated[Annotated[int, ctypes.c_ubyte], 46]
reserved: Annotated[Annotated[int, ctypes.c_ubyte], 47]
@c.record
class struct_ib_uverbs_wc_ex(c.Struct):
SIZE = 4
imm_data: Annotated[Annotated[int, ctypes.c_uint32], 0]
invalidate_rkey: Annotated[Annotated[int, ctypes.c_uint32], 0]
@c.record
class struct_ib_uverbs_poll_cq_resp(c.Struct):
SIZE = 8
count: Annotated[Annotated[int, ctypes.c_uint32], 0]
reserved: Annotated[Annotated[int, ctypes.c_uint32], 4]
wc: Annotated[c.Array[struct_ib_uverbs_wc, Literal[0]], 8]
@c.record
class struct_ib_uverbs_req_notify_cq(c.Struct):
SIZE = 8
cq_handle: Annotated[Annotated[int, ctypes.c_uint32], 0]
solicited_only: Annotated[Annotated[int, ctypes.c_uint32], 4]
@c.record
class struct_ib_uverbs_destroy_cq(c.Struct):
SIZE = 16
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
cq_handle: Annotated[Annotated[int, ctypes.c_uint32], 8]
reserved: Annotated[Annotated[int, ctypes.c_uint32], 12]
@c.record
class struct_ib_uverbs_destroy_cq_resp(c.Struct):
SIZE = 8
comp_events_reported: Annotated[Annotated[int, ctypes.c_uint32], 0]
async_events_reported: Annotated[Annotated[int, ctypes.c_uint32], 4]
@c.record
class struct_ib_uverbs_global_route(c.Struct):
SIZE = 24
dgid: Annotated[c.Array[Annotated[int, ctypes.c_ubyte], Literal[16]], 0]
flow_label: Annotated[Annotated[int, ctypes.c_uint32], 16]
sgid_index: Annotated[Annotated[int, ctypes.c_ubyte], 20]
hop_limit: Annotated[Annotated[int, ctypes.c_ubyte], 21]
traffic_class: Annotated[Annotated[int, ctypes.c_ubyte], 22]
reserved: Annotated[Annotated[int, ctypes.c_ubyte], 23]
@c.record
class struct_ib_uverbs_ah_attr(c.Struct):
SIZE = 32
grh: Annotated[struct_ib_uverbs_global_route, 0]
dlid: Annotated[Annotated[int, ctypes.c_uint16], 24]
sl: Annotated[Annotated[int, ctypes.c_ubyte], 26]
src_path_bits: Annotated[Annotated[int, ctypes.c_ubyte], 27]
static_rate: Annotated[Annotated[int, ctypes.c_ubyte], 28]
is_global: Annotated[Annotated[int, ctypes.c_ubyte], 29]
port_num: Annotated[Annotated[int, ctypes.c_ubyte], 30]
reserved: Annotated[Annotated[int, ctypes.c_ubyte], 31]
@c.record
class struct_ib_uverbs_qp_attr(c.Struct):
SIZE = 144
qp_attr_mask: Annotated[Annotated[int, ctypes.c_uint32], 0]
qp_state: Annotated[Annotated[int, ctypes.c_uint32], 4]
cur_qp_state: Annotated[Annotated[int, ctypes.c_uint32], 8]
path_mtu: Annotated[Annotated[int, ctypes.c_uint32], 12]
path_mig_state: Annotated[Annotated[int, ctypes.c_uint32], 16]
qkey: Annotated[Annotated[int, ctypes.c_uint32], 20]
rq_psn: Annotated[Annotated[int, ctypes.c_uint32], 24]
sq_psn: Annotated[Annotated[int, ctypes.c_uint32], 28]
dest_qp_num: Annotated[Annotated[int, ctypes.c_uint32], 32]
qp_access_flags: Annotated[Annotated[int, ctypes.c_uint32], 36]
ah_attr: Annotated[struct_ib_uverbs_ah_attr, 40]
alt_ah_attr: Annotated[struct_ib_uverbs_ah_attr, 72]
max_send_wr: Annotated[Annotated[int, ctypes.c_uint32], 104]
max_recv_wr: Annotated[Annotated[int, ctypes.c_uint32], 108]
max_send_sge: Annotated[Annotated[int, ctypes.c_uint32], 112]
max_recv_sge: Annotated[Annotated[int, ctypes.c_uint32], 116]
max_inline_data: Annotated[Annotated[int, ctypes.c_uint32], 120]
pkey_index: Annotated[Annotated[int, ctypes.c_uint16], 124]
alt_pkey_index: Annotated[Annotated[int, ctypes.c_uint16], 126]
en_sqd_async_notify: Annotated[Annotated[int, ctypes.c_ubyte], 128]
sq_draining: Annotated[Annotated[int, ctypes.c_ubyte], 129]
max_rd_atomic: Annotated[Annotated[int, ctypes.c_ubyte], 130]
max_dest_rd_atomic: Annotated[Annotated[int, ctypes.c_ubyte], 131]
min_rnr_timer: Annotated[Annotated[int, ctypes.c_ubyte], 132]
port_num: Annotated[Annotated[int, ctypes.c_ubyte], 133]
timeout: Annotated[Annotated[int, ctypes.c_ubyte], 134]
retry_cnt: Annotated[Annotated[int, ctypes.c_ubyte], 135]
rnr_retry: Annotated[Annotated[int, ctypes.c_ubyte], 136]
alt_port_num: Annotated[Annotated[int, ctypes.c_ubyte], 137]
alt_timeout: Annotated[Annotated[int, ctypes.c_ubyte], 138]
reserved: Annotated[c.Array[Annotated[int, ctypes.c_ubyte], Literal[5]], 139]
@c.record
class struct_ib_uverbs_create_qp(c.Struct):
SIZE = 56
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
user_handle: Annotated[Annotated[int, ctypes.c_uint64], 8]
pd_handle: Annotated[Annotated[int, ctypes.c_uint32], 16]
send_cq_handle: Annotated[Annotated[int, ctypes.c_uint32], 20]
recv_cq_handle: Annotated[Annotated[int, ctypes.c_uint32], 24]
srq_handle: Annotated[Annotated[int, ctypes.c_uint32], 28]
max_send_wr: Annotated[Annotated[int, ctypes.c_uint32], 32]
max_recv_wr: Annotated[Annotated[int, ctypes.c_uint32], 36]
max_send_sge: Annotated[Annotated[int, ctypes.c_uint32], 40]
max_recv_sge: Annotated[Annotated[int, ctypes.c_uint32], 44]
max_inline_data: Annotated[Annotated[int, ctypes.c_uint32], 48]
sq_sig_all: Annotated[Annotated[int, ctypes.c_ubyte], 52]
qp_type: Annotated[Annotated[int, ctypes.c_ubyte], 53]
is_srq: Annotated[Annotated[int, ctypes.c_ubyte], 54]
reserved: Annotated[Annotated[int, ctypes.c_ubyte], 55]
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 56]
class enum_ib_uverbs_create_qp_mask(Annotated[int, ctypes.c_uint32], c.Enum): pass
IB_UVERBS_CREATE_QP_MASK_IND_TABLE = enum_ib_uverbs_create_qp_mask.define('IB_UVERBS_CREATE_QP_MASK_IND_TABLE', 1)
class _anonenum6(Annotated[int, ctypes.c_uint32], c.Enum): pass
IB_UVERBS_CREATE_QP_SUP_COMP_MASK = _anonenum6.define('IB_UVERBS_CREATE_QP_SUP_COMP_MASK', 1)
@c.record
class struct_ib_uverbs_ex_create_qp(c.Struct):
SIZE = 64
user_handle: Annotated[Annotated[int, ctypes.c_uint64], 0]
pd_handle: Annotated[Annotated[int, ctypes.c_uint32], 8]
send_cq_handle: Annotated[Annotated[int, ctypes.c_uint32], 12]
recv_cq_handle: Annotated[Annotated[int, ctypes.c_uint32], 16]
srq_handle: Annotated[Annotated[int, ctypes.c_uint32], 20]
max_send_wr: Annotated[Annotated[int, ctypes.c_uint32], 24]
max_recv_wr: Annotated[Annotated[int, ctypes.c_uint32], 28]
max_send_sge: Annotated[Annotated[int, ctypes.c_uint32], 32]
max_recv_sge: Annotated[Annotated[int, ctypes.c_uint32], 36]
max_inline_data: Annotated[Annotated[int, ctypes.c_uint32], 40]
sq_sig_all: Annotated[Annotated[int, ctypes.c_ubyte], 44]
qp_type: Annotated[Annotated[int, ctypes.c_ubyte], 45]
is_srq: Annotated[Annotated[int, ctypes.c_ubyte], 46]
reserved: Annotated[Annotated[int, ctypes.c_ubyte], 47]
comp_mask: Annotated[Annotated[int, ctypes.c_uint32], 48]
create_flags: Annotated[Annotated[int, ctypes.c_uint32], 52]
rwq_ind_tbl_handle: Annotated[Annotated[int, ctypes.c_uint32], 56]
source_qpn: Annotated[Annotated[int, ctypes.c_uint32], 60]
@c.record
class struct_ib_uverbs_open_qp(c.Struct):
SIZE = 32
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
user_handle: Annotated[Annotated[int, ctypes.c_uint64], 8]
pd_handle: Annotated[Annotated[int, ctypes.c_uint32], 16]
qpn: Annotated[Annotated[int, ctypes.c_uint32], 20]
qp_type: Annotated[Annotated[int, ctypes.c_ubyte], 24]
reserved: Annotated[c.Array[Annotated[int, ctypes.c_ubyte], Literal[7]], 25]
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 32]
@c.record
class struct_ib_uverbs_create_qp_resp(c.Struct):
SIZE = 32
qp_handle: Annotated[Annotated[int, ctypes.c_uint32], 0]
qpn: Annotated[Annotated[int, ctypes.c_uint32], 4]
max_send_wr: Annotated[Annotated[int, ctypes.c_uint32], 8]
max_recv_wr: Annotated[Annotated[int, ctypes.c_uint32], 12]
max_send_sge: Annotated[Annotated[int, ctypes.c_uint32], 16]
max_recv_sge: Annotated[Annotated[int, ctypes.c_uint32], 20]
max_inline_data: Annotated[Annotated[int, ctypes.c_uint32], 24]
reserved: Annotated[Annotated[int, ctypes.c_uint32], 28]
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint32], Literal[0]], 32]
@c.record
class struct_ib_uverbs_ex_create_qp_resp(c.Struct):
SIZE = 40
base: Annotated[struct_ib_uverbs_create_qp_resp, 0]
comp_mask: Annotated[Annotated[int, ctypes.c_uint32], 32]
response_length: Annotated[Annotated[int, ctypes.c_uint32], 36]
@c.record
class struct_ib_uverbs_qp_dest(c.Struct):
SIZE = 32
dgid: Annotated[c.Array[Annotated[int, ctypes.c_ubyte], Literal[16]], 0]
flow_label: Annotated[Annotated[int, ctypes.c_uint32], 16]
dlid: Annotated[Annotated[int, ctypes.c_uint16], 20]
reserved: Annotated[Annotated[int, ctypes.c_uint16], 22]
sgid_index: Annotated[Annotated[int, ctypes.c_ubyte], 24]
hop_limit: Annotated[Annotated[int, ctypes.c_ubyte], 25]
traffic_class: Annotated[Annotated[int, ctypes.c_ubyte], 26]
sl: Annotated[Annotated[int, ctypes.c_ubyte], 27]
src_path_bits: Annotated[Annotated[int, ctypes.c_ubyte], 28]
static_rate: Annotated[Annotated[int, ctypes.c_ubyte], 29]
is_global: Annotated[Annotated[int, ctypes.c_ubyte], 30]
port_num: Annotated[Annotated[int, ctypes.c_ubyte], 31]
@c.record
class struct_ib_uverbs_query_qp(c.Struct):
SIZE = 16
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
qp_handle: Annotated[Annotated[int, ctypes.c_uint32], 8]
attr_mask: Annotated[Annotated[int, ctypes.c_uint32], 12]
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 16]
@c.record
class struct_ib_uverbs_query_qp_resp(c.Struct):
SIZE = 128
dest: Annotated[struct_ib_uverbs_qp_dest, 0]
alt_dest: Annotated[struct_ib_uverbs_qp_dest, 32]
max_send_wr: Annotated[Annotated[int, ctypes.c_uint32], 64]
max_recv_wr: Annotated[Annotated[int, ctypes.c_uint32], 68]
max_send_sge: Annotated[Annotated[int, ctypes.c_uint32], 72]
max_recv_sge: Annotated[Annotated[int, ctypes.c_uint32], 76]
max_inline_data: Annotated[Annotated[int, ctypes.c_uint32], 80]
qkey: Annotated[Annotated[int, ctypes.c_uint32], 84]
rq_psn: Annotated[Annotated[int, ctypes.c_uint32], 88]
sq_psn: Annotated[Annotated[int, ctypes.c_uint32], 92]
dest_qp_num: Annotated[Annotated[int, ctypes.c_uint32], 96]
qp_access_flags: Annotated[Annotated[int, ctypes.c_uint32], 100]
pkey_index: Annotated[Annotated[int, ctypes.c_uint16], 104]
alt_pkey_index: Annotated[Annotated[int, ctypes.c_uint16], 106]
qp_state: Annotated[Annotated[int, ctypes.c_ubyte], 108]
cur_qp_state: Annotated[Annotated[int, ctypes.c_ubyte], 109]
path_mtu: Annotated[Annotated[int, ctypes.c_ubyte], 110]
path_mig_state: Annotated[Annotated[int, ctypes.c_ubyte], 111]
sq_draining: Annotated[Annotated[int, ctypes.c_ubyte], 112]
max_rd_atomic: Annotated[Annotated[int, ctypes.c_ubyte], 113]
max_dest_rd_atomic: Annotated[Annotated[int, ctypes.c_ubyte], 114]
min_rnr_timer: Annotated[Annotated[int, ctypes.c_ubyte], 115]
port_num: Annotated[Annotated[int, ctypes.c_ubyte], 116]
timeout: Annotated[Annotated[int, ctypes.c_ubyte], 117]
retry_cnt: Annotated[Annotated[int, ctypes.c_ubyte], 118]
rnr_retry: Annotated[Annotated[int, ctypes.c_ubyte], 119]
alt_port_num: Annotated[Annotated[int, ctypes.c_ubyte], 120]
alt_timeout: Annotated[Annotated[int, ctypes.c_ubyte], 121]
sq_sig_all: Annotated[Annotated[int, ctypes.c_ubyte], 122]
reserved: Annotated[c.Array[Annotated[int, ctypes.c_ubyte], Literal[5]], 123]
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 128]
@c.record
class struct_ib_uverbs_modify_qp(c.Struct):
SIZE = 112
dest: Annotated[struct_ib_uverbs_qp_dest, 0]
alt_dest: Annotated[struct_ib_uverbs_qp_dest, 32]
qp_handle: Annotated[Annotated[int, ctypes.c_uint32], 64]
attr_mask: Annotated[Annotated[int, ctypes.c_uint32], 68]
qkey: Annotated[Annotated[int, ctypes.c_uint32], 72]
rq_psn: Annotated[Annotated[int, ctypes.c_uint32], 76]
sq_psn: Annotated[Annotated[int, ctypes.c_uint32], 80]
dest_qp_num: Annotated[Annotated[int, ctypes.c_uint32], 84]
qp_access_flags: Annotated[Annotated[int, ctypes.c_uint32], 88]
pkey_index: Annotated[Annotated[int, ctypes.c_uint16], 92]
alt_pkey_index: Annotated[Annotated[int, ctypes.c_uint16], 94]
qp_state: Annotated[Annotated[int, ctypes.c_ubyte], 96]
cur_qp_state: Annotated[Annotated[int, ctypes.c_ubyte], 97]
path_mtu: Annotated[Annotated[int, ctypes.c_ubyte], 98]
path_mig_state: Annotated[Annotated[int, ctypes.c_ubyte], 99]
en_sqd_async_notify: Annotated[Annotated[int, ctypes.c_ubyte], 100]
max_rd_atomic: Annotated[Annotated[int, ctypes.c_ubyte], 101]
max_dest_rd_atomic: Annotated[Annotated[int, ctypes.c_ubyte], 102]
min_rnr_timer: Annotated[Annotated[int, ctypes.c_ubyte], 103]
port_num: Annotated[Annotated[int, ctypes.c_ubyte], 104]
timeout: Annotated[Annotated[int, ctypes.c_ubyte], 105]
retry_cnt: Annotated[Annotated[int, ctypes.c_ubyte], 106]
rnr_retry: Annotated[Annotated[int, ctypes.c_ubyte], 107]
alt_port_num: Annotated[Annotated[int, ctypes.c_ubyte], 108]
alt_timeout: Annotated[Annotated[int, ctypes.c_ubyte], 109]
reserved: Annotated[c.Array[Annotated[int, ctypes.c_ubyte], Literal[2]], 110]
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 112]
@c.record
class struct_ib_uverbs_ex_modify_qp(c.Struct):
SIZE = 120
base: Annotated[struct_ib_uverbs_modify_qp, 0]
rate_limit: Annotated[Annotated[int, ctypes.c_uint32], 112]
reserved: Annotated[Annotated[int, ctypes.c_uint32], 116]
@c.record
class struct_ib_uverbs_ex_modify_qp_resp(c.Struct):
SIZE = 8
comp_mask: Annotated[Annotated[int, ctypes.c_uint32], 0]
response_length: Annotated[Annotated[int, ctypes.c_uint32], 4]
@c.record
class struct_ib_uverbs_destroy_qp(c.Struct):
SIZE = 16
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
qp_handle: Annotated[Annotated[int, ctypes.c_uint32], 8]
reserved: Annotated[Annotated[int, ctypes.c_uint32], 12]
@c.record
class struct_ib_uverbs_destroy_qp_resp(c.Struct):
SIZE = 4
events_reported: Annotated[Annotated[int, ctypes.c_uint32], 0]
@c.record
class struct_ib_uverbs_sge(c.Struct):
SIZE = 16
addr: Annotated[Annotated[int, ctypes.c_uint64], 0]
length: Annotated[Annotated[int, ctypes.c_uint32], 8]
lkey: Annotated[Annotated[int, ctypes.c_uint32], 12]
class enum_ib_uverbs_wr_opcode(Annotated[int, ctypes.c_uint32], c.Enum): pass
IB_UVERBS_WR_RDMA_WRITE = enum_ib_uverbs_wr_opcode.define('IB_UVERBS_WR_RDMA_WRITE', 0)
IB_UVERBS_WR_RDMA_WRITE_WITH_IMM = enum_ib_uverbs_wr_opcode.define('IB_UVERBS_WR_RDMA_WRITE_WITH_IMM', 1)
IB_UVERBS_WR_SEND = enum_ib_uverbs_wr_opcode.define('IB_UVERBS_WR_SEND', 2)
IB_UVERBS_WR_SEND_WITH_IMM = enum_ib_uverbs_wr_opcode.define('IB_UVERBS_WR_SEND_WITH_IMM', 3)
IB_UVERBS_WR_RDMA_READ = enum_ib_uverbs_wr_opcode.define('IB_UVERBS_WR_RDMA_READ', 4)
IB_UVERBS_WR_ATOMIC_CMP_AND_SWP = enum_ib_uverbs_wr_opcode.define('IB_UVERBS_WR_ATOMIC_CMP_AND_SWP', 5)
IB_UVERBS_WR_ATOMIC_FETCH_AND_ADD = enum_ib_uverbs_wr_opcode.define('IB_UVERBS_WR_ATOMIC_FETCH_AND_ADD', 6)
IB_UVERBS_WR_LOCAL_INV = enum_ib_uverbs_wr_opcode.define('IB_UVERBS_WR_LOCAL_INV', 7)
IB_UVERBS_WR_BIND_MW = enum_ib_uverbs_wr_opcode.define('IB_UVERBS_WR_BIND_MW', 8)
IB_UVERBS_WR_SEND_WITH_INV = enum_ib_uverbs_wr_opcode.define('IB_UVERBS_WR_SEND_WITH_INV', 9)
IB_UVERBS_WR_TSO = enum_ib_uverbs_wr_opcode.define('IB_UVERBS_WR_TSO', 10)
IB_UVERBS_WR_RDMA_READ_WITH_INV = enum_ib_uverbs_wr_opcode.define('IB_UVERBS_WR_RDMA_READ_WITH_INV', 11)
IB_UVERBS_WR_MASKED_ATOMIC_CMP_AND_SWP = enum_ib_uverbs_wr_opcode.define('IB_UVERBS_WR_MASKED_ATOMIC_CMP_AND_SWP', 12)
IB_UVERBS_WR_MASKED_ATOMIC_FETCH_AND_ADD = enum_ib_uverbs_wr_opcode.define('IB_UVERBS_WR_MASKED_ATOMIC_FETCH_AND_ADD', 13)
IB_UVERBS_WR_FLUSH = enum_ib_uverbs_wr_opcode.define('IB_UVERBS_WR_FLUSH', 14)
IB_UVERBS_WR_ATOMIC_WRITE = enum_ib_uverbs_wr_opcode.define('IB_UVERBS_WR_ATOMIC_WRITE', 15)
@c.record
class struct_ib_uverbs_send_wr(c.Struct):
SIZE = 56
wr_id: Annotated[Annotated[int, ctypes.c_uint64], 0]
num_sge: Annotated[Annotated[int, ctypes.c_uint32], 8]
opcode: Annotated[Annotated[int, ctypes.c_uint32], 12]
send_flags: Annotated[Annotated[int, ctypes.c_uint32], 16]
ex: Annotated[struct_ib_uverbs_send_wr_ex, 20]
wr: Annotated[struct_ib_uverbs_send_wr_wr, 24]
@c.record
class struct_ib_uverbs_send_wr_ex(c.Struct):
SIZE = 4
imm_data: Annotated[Annotated[int, ctypes.c_uint32], 0]
invalidate_rkey: Annotated[Annotated[int, ctypes.c_uint32], 0]
@c.record
class struct_ib_uverbs_send_wr_wr(c.Struct):
SIZE = 32
rdma: Annotated[struct_ib_uverbs_send_wr_wr_rdma, 0]
atomic: Annotated[struct_ib_uverbs_send_wr_wr_atomic, 0]
ud: Annotated[struct_ib_uverbs_send_wr_wr_ud, 0]
@c.record
class struct_ib_uverbs_send_wr_wr_rdma(c.Struct):
SIZE = 16
remote_addr: Annotated[Annotated[int, ctypes.c_uint64], 0]
rkey: Annotated[Annotated[int, ctypes.c_uint32], 8]
reserved: Annotated[Annotated[int, ctypes.c_uint32], 12]
@c.record
class struct_ib_uverbs_send_wr_wr_atomic(c.Struct):
SIZE = 32
remote_addr: Annotated[Annotated[int, ctypes.c_uint64], 0]
compare_add: Annotated[Annotated[int, ctypes.c_uint64], 8]
swap: Annotated[Annotated[int, ctypes.c_uint64], 16]
rkey: Annotated[Annotated[int, ctypes.c_uint32], 24]
reserved: Annotated[Annotated[int, ctypes.c_uint32], 28]
@c.record
class struct_ib_uverbs_send_wr_wr_ud(c.Struct):
SIZE = 16
ah: Annotated[Annotated[int, ctypes.c_uint32], 0]
remote_qpn: Annotated[Annotated[int, ctypes.c_uint32], 4]
remote_qkey: Annotated[Annotated[int, ctypes.c_uint32], 8]
reserved: Annotated[Annotated[int, ctypes.c_uint32], 12]
@c.record
class struct_ib_uverbs_post_send(c.Struct):
SIZE = 24
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
qp_handle: Annotated[Annotated[int, ctypes.c_uint32], 8]
wr_count: Annotated[Annotated[int, ctypes.c_uint32], 12]
sge_count: Annotated[Annotated[int, ctypes.c_uint32], 16]
wqe_size: Annotated[Annotated[int, ctypes.c_uint32], 20]
send_wr: Annotated[c.Array[struct_ib_uverbs_send_wr, Literal[0]], 24]
@c.record
class struct_ib_uverbs_post_send_resp(c.Struct):
SIZE = 4
bad_wr: Annotated[Annotated[int, ctypes.c_uint32], 0]
@c.record
class struct_ib_uverbs_recv_wr(c.Struct):
SIZE = 16
wr_id: Annotated[Annotated[int, ctypes.c_uint64], 0]
num_sge: Annotated[Annotated[int, ctypes.c_uint32], 8]
reserved: Annotated[Annotated[int, ctypes.c_uint32], 12]
@c.record
class struct_ib_uverbs_post_recv(c.Struct):
SIZE = 24
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
qp_handle: Annotated[Annotated[int, ctypes.c_uint32], 8]
wr_count: Annotated[Annotated[int, ctypes.c_uint32], 12]
sge_count: Annotated[Annotated[int, ctypes.c_uint32], 16]
wqe_size: Annotated[Annotated[int, ctypes.c_uint32], 20]
recv_wr: Annotated[c.Array[struct_ib_uverbs_recv_wr, Literal[0]], 24]
@c.record
class struct_ib_uverbs_post_recv_resp(c.Struct):
SIZE = 4
bad_wr: Annotated[Annotated[int, ctypes.c_uint32], 0]
@c.record
class struct_ib_uverbs_post_srq_recv(c.Struct):
SIZE = 24
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
srq_handle: Annotated[Annotated[int, ctypes.c_uint32], 8]
wr_count: Annotated[Annotated[int, ctypes.c_uint32], 12]
sge_count: Annotated[Annotated[int, ctypes.c_uint32], 16]
wqe_size: Annotated[Annotated[int, ctypes.c_uint32], 20]
recv: Annotated[c.Array[struct_ib_uverbs_recv_wr, Literal[0]], 24]
@c.record
class struct_ib_uverbs_post_srq_recv_resp(c.Struct):
SIZE = 4
bad_wr: Annotated[Annotated[int, ctypes.c_uint32], 0]
@c.record
class struct_ib_uverbs_create_ah(c.Struct):
SIZE = 56
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
user_handle: Annotated[Annotated[int, ctypes.c_uint64], 8]
pd_handle: Annotated[Annotated[int, ctypes.c_uint32], 16]
reserved: Annotated[Annotated[int, ctypes.c_uint32], 20]
attr: Annotated[struct_ib_uverbs_ah_attr, 24]
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 56]
@c.record
class struct_ib_uverbs_create_ah_resp(c.Struct):
SIZE = 4
ah_handle: Annotated[Annotated[int, ctypes.c_uint32], 0]
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint32], Literal[0]], 4]
@c.record
class struct_ib_uverbs_destroy_ah(c.Struct):
SIZE = 4
ah_handle: Annotated[Annotated[int, ctypes.c_uint32], 0]
@c.record
class struct_ib_uverbs_attach_mcast(c.Struct):
SIZE = 24
gid: Annotated[c.Array[Annotated[int, ctypes.c_ubyte], Literal[16]], 0]
qp_handle: Annotated[Annotated[int, ctypes.c_uint32], 16]
mlid: Annotated[Annotated[int, ctypes.c_uint16], 20]
reserved: Annotated[Annotated[int, ctypes.c_uint16], 22]
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 24]
@c.record
class struct_ib_uverbs_detach_mcast(c.Struct):
SIZE = 24
gid: Annotated[c.Array[Annotated[int, ctypes.c_ubyte], Literal[16]], 0]
qp_handle: Annotated[Annotated[int, ctypes.c_uint32], 16]
mlid: Annotated[Annotated[int, ctypes.c_uint16], 20]
reserved: Annotated[Annotated[int, ctypes.c_uint16], 22]
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 24]
@c.record
class struct_ib_uverbs_flow_spec_hdr(c.Struct):
SIZE = 8
type: Annotated[Annotated[int, ctypes.c_uint32], 0]
size: Annotated[Annotated[int, ctypes.c_uint16], 4]
reserved: Annotated[Annotated[int, ctypes.c_uint16], 6]
flow_spec_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 8]
@c.record
class struct_ib_uverbs_flow_eth_filter(c.Struct):
SIZE = 16
dst_mac: Annotated[c.Array[Annotated[int, ctypes.c_ubyte], Literal[6]], 0]
src_mac: Annotated[c.Array[Annotated[int, ctypes.c_ubyte], Literal[6]], 6]
ether_type: Annotated[Annotated[int, ctypes.c_uint16], 12]
vlan_tag: Annotated[Annotated[int, ctypes.c_uint16], 14]
@c.record
class struct_ib_uverbs_flow_spec_eth(c.Struct):
SIZE = 40
hdr: Annotated[struct_ib_uverbs_flow_spec_hdr, 0]
type: Annotated[Annotated[int, ctypes.c_uint32], 0]
size: Annotated[Annotated[int, ctypes.c_uint16], 4]
reserved: Annotated[Annotated[int, ctypes.c_uint16], 6]
val: Annotated[struct_ib_uverbs_flow_eth_filter, 8]
mask: Annotated[struct_ib_uverbs_flow_eth_filter, 24]
@c.record
class struct_ib_uverbs_flow_ipv4_filter(c.Struct):
SIZE = 12
src_ip: Annotated[Annotated[int, ctypes.c_uint32], 0]
dst_ip: Annotated[Annotated[int, ctypes.c_uint32], 4]
proto: Annotated[Annotated[int, ctypes.c_ubyte], 8]
tos: Annotated[Annotated[int, ctypes.c_ubyte], 9]
ttl: Annotated[Annotated[int, ctypes.c_ubyte], 10]
flags: Annotated[Annotated[int, ctypes.c_ubyte], 11]
@c.record
class struct_ib_uverbs_flow_spec_ipv4(c.Struct):
SIZE = 32
hdr: Annotated[struct_ib_uverbs_flow_spec_hdr, 0]
type: Annotated[Annotated[int, ctypes.c_uint32], 0]
size: Annotated[Annotated[int, ctypes.c_uint16], 4]
reserved: Annotated[Annotated[int, ctypes.c_uint16], 6]
val: Annotated[struct_ib_uverbs_flow_ipv4_filter, 8]
mask: Annotated[struct_ib_uverbs_flow_ipv4_filter, 20]
@c.record
class struct_ib_uverbs_flow_tcp_udp_filter(c.Struct):
SIZE = 4
dst_port: Annotated[Annotated[int, ctypes.c_uint16], 0]
src_port: Annotated[Annotated[int, ctypes.c_uint16], 2]
@c.record
class struct_ib_uverbs_flow_spec_tcp_udp(c.Struct):
SIZE = 16
hdr: Annotated[struct_ib_uverbs_flow_spec_hdr, 0]
type: Annotated[Annotated[int, ctypes.c_uint32], 0]
size: Annotated[Annotated[int, ctypes.c_uint16], 4]
reserved: Annotated[Annotated[int, ctypes.c_uint16], 6]
val: Annotated[struct_ib_uverbs_flow_tcp_udp_filter, 8]
mask: Annotated[struct_ib_uverbs_flow_tcp_udp_filter, 12]
@c.record
class struct_ib_uverbs_flow_ipv6_filter(c.Struct):
SIZE = 40
src_ip: Annotated[c.Array[Annotated[int, ctypes.c_ubyte], Literal[16]], 0]
dst_ip: Annotated[c.Array[Annotated[int, ctypes.c_ubyte], Literal[16]], 16]
flow_label: Annotated[Annotated[int, ctypes.c_uint32], 32]
next_hdr: Annotated[Annotated[int, ctypes.c_ubyte], 36]
traffic_class: Annotated[Annotated[int, ctypes.c_ubyte], 37]
hop_limit: Annotated[Annotated[int, ctypes.c_ubyte], 38]
reserved: Annotated[Annotated[int, ctypes.c_ubyte], 39]
@c.record
class struct_ib_uverbs_flow_spec_ipv6(c.Struct):
SIZE = 88
hdr: Annotated[struct_ib_uverbs_flow_spec_hdr, 0]
type: Annotated[Annotated[int, ctypes.c_uint32], 0]
size: Annotated[Annotated[int, ctypes.c_uint16], 4]
reserved: Annotated[Annotated[int, ctypes.c_uint16], 6]
val: Annotated[struct_ib_uverbs_flow_ipv6_filter, 8]
mask: Annotated[struct_ib_uverbs_flow_ipv6_filter, 48]
@c.record
class struct_ib_uverbs_flow_spec_action_tag(c.Struct):
SIZE = 16
hdr: Annotated[struct_ib_uverbs_flow_spec_hdr, 0]
type: Annotated[Annotated[int, ctypes.c_uint32], 0]
size: Annotated[Annotated[int, ctypes.c_uint16], 4]
reserved: Annotated[Annotated[int, ctypes.c_uint16], 6]
tag_id: Annotated[Annotated[int, ctypes.c_uint32], 8]
reserved1: Annotated[Annotated[int, ctypes.c_uint32], 12]
@c.record
class struct_ib_uverbs_flow_spec_action_drop(c.Struct):
SIZE = 8
hdr: Annotated[struct_ib_uverbs_flow_spec_hdr, 0]
type: Annotated[Annotated[int, ctypes.c_uint32], 0]
size: Annotated[Annotated[int, ctypes.c_uint16], 4]
reserved: Annotated[Annotated[int, ctypes.c_uint16], 6]
@c.record
class struct_ib_uverbs_flow_spec_action_handle(c.Struct):
SIZE = 16
hdr: Annotated[struct_ib_uverbs_flow_spec_hdr, 0]
type: Annotated[Annotated[int, ctypes.c_uint32], 0]
size: Annotated[Annotated[int, ctypes.c_uint16], 4]
reserved: Annotated[Annotated[int, ctypes.c_uint16], 6]
handle: Annotated[Annotated[int, ctypes.c_uint32], 8]
reserved1: Annotated[Annotated[int, ctypes.c_uint32], 12]
@c.record
class struct_ib_uverbs_flow_spec_action_count(c.Struct):
SIZE = 16
hdr: Annotated[struct_ib_uverbs_flow_spec_hdr, 0]
type: Annotated[Annotated[int, ctypes.c_uint32], 0]
size: Annotated[Annotated[int, ctypes.c_uint16], 4]
reserved: Annotated[Annotated[int, ctypes.c_uint16], 6]
handle: Annotated[Annotated[int, ctypes.c_uint32], 8]
reserved1: Annotated[Annotated[int, ctypes.c_uint32], 12]
@c.record
class struct_ib_uverbs_flow_tunnel_filter(c.Struct):
SIZE = 4
tunnel_id: Annotated[Annotated[int, ctypes.c_uint32], 0]
@c.record
class struct_ib_uverbs_flow_spec_tunnel(c.Struct):
SIZE = 16
hdr: Annotated[struct_ib_uverbs_flow_spec_hdr, 0]
type: Annotated[Annotated[int, ctypes.c_uint32], 0]
size: Annotated[Annotated[int, ctypes.c_uint16], 4]
reserved: Annotated[Annotated[int, ctypes.c_uint16], 6]
val: Annotated[struct_ib_uverbs_flow_tunnel_filter, 8]
mask: Annotated[struct_ib_uverbs_flow_tunnel_filter, 12]
@c.record
class struct_ib_uverbs_flow_spec_esp_filter(c.Struct):
SIZE = 8
spi: Annotated[Annotated[int, ctypes.c_uint32], 0]
seq: Annotated[Annotated[int, ctypes.c_uint32], 4]
@c.record
class struct_ib_uverbs_flow_spec_esp(c.Struct):
SIZE = 24
hdr: Annotated[struct_ib_uverbs_flow_spec_hdr, 0]
type: Annotated[Annotated[int, ctypes.c_uint32], 0]
size: Annotated[Annotated[int, ctypes.c_uint16], 4]
reserved: Annotated[Annotated[int, ctypes.c_uint16], 6]
val: Annotated[struct_ib_uverbs_flow_spec_esp_filter, 8]
mask: Annotated[struct_ib_uverbs_flow_spec_esp_filter, 16]
@c.record
class struct_ib_uverbs_flow_gre_filter(c.Struct):
SIZE = 8
c_ks_res0_ver: Annotated[Annotated[int, ctypes.c_uint16], 0]
protocol: Annotated[Annotated[int, ctypes.c_uint16], 2]
key: Annotated[Annotated[int, ctypes.c_uint32], 4]
@c.record
class struct_ib_uverbs_flow_spec_gre(c.Struct):
SIZE = 24
hdr: Annotated[struct_ib_uverbs_flow_spec_hdr, 0]
type: Annotated[Annotated[int, ctypes.c_uint32], 0]
size: Annotated[Annotated[int, ctypes.c_uint16], 4]
reserved: Annotated[Annotated[int, ctypes.c_uint16], 6]
val: Annotated[struct_ib_uverbs_flow_gre_filter, 8]
mask: Annotated[struct_ib_uverbs_flow_gre_filter, 16]
@c.record
class struct_ib_uverbs_flow_mpls_filter(c.Struct):
SIZE = 4
label: Annotated[Annotated[int, ctypes.c_uint32], 0]
@c.record
class struct_ib_uverbs_flow_spec_mpls(c.Struct):
SIZE = 16
hdr: Annotated[struct_ib_uverbs_flow_spec_hdr, 0]
type: Annotated[Annotated[int, ctypes.c_uint32], 0]
size: Annotated[Annotated[int, ctypes.c_uint16], 4]
reserved: Annotated[Annotated[int, ctypes.c_uint16], 6]
val: Annotated[struct_ib_uverbs_flow_mpls_filter, 8]
mask: Annotated[struct_ib_uverbs_flow_mpls_filter, 12]
@c.record
class struct_ib_uverbs_flow_attr(c.Struct):
SIZE = 16
type: Annotated[Annotated[int, ctypes.c_uint32], 0]
size: Annotated[Annotated[int, ctypes.c_uint16], 4]
priority: Annotated[Annotated[int, ctypes.c_uint16], 6]
num_of_specs: Annotated[Annotated[int, ctypes.c_ubyte], 8]
reserved: Annotated[c.Array[Annotated[int, ctypes.c_ubyte], Literal[2]], 9]
port: Annotated[Annotated[int, ctypes.c_ubyte], 11]
flags: Annotated[Annotated[int, ctypes.c_uint32], 12]
flow_specs: Annotated[c.Array[struct_ib_uverbs_flow_spec_hdr, Literal[0]], 16]
@c.record
class struct_ib_uverbs_create_flow(c.Struct):
SIZE = 24
comp_mask: Annotated[Annotated[int, ctypes.c_uint32], 0]
qp_handle: Annotated[Annotated[int, ctypes.c_uint32], 4]
flow_attr: Annotated[struct_ib_uverbs_flow_attr, 8]
@c.record
class struct_ib_uverbs_create_flow_resp(c.Struct):
SIZE = 8
comp_mask: Annotated[Annotated[int, ctypes.c_uint32], 0]
flow_handle: Annotated[Annotated[int, ctypes.c_uint32], 4]
@c.record
class struct_ib_uverbs_destroy_flow(c.Struct):
SIZE = 8
comp_mask: Annotated[Annotated[int, ctypes.c_uint32], 0]
flow_handle: Annotated[Annotated[int, ctypes.c_uint32], 4]
@c.record
class struct_ib_uverbs_create_srq(c.Struct):
SIZE = 32
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
user_handle: Annotated[Annotated[int, ctypes.c_uint64], 8]
pd_handle: Annotated[Annotated[int, ctypes.c_uint32], 16]
max_wr: Annotated[Annotated[int, ctypes.c_uint32], 20]
max_sge: Annotated[Annotated[int, ctypes.c_uint32], 24]
srq_limit: Annotated[Annotated[int, ctypes.c_uint32], 28]
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 32]
@c.record
class struct_ib_uverbs_create_xsrq(c.Struct):
SIZE = 48
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
user_handle: Annotated[Annotated[int, ctypes.c_uint64], 8]
srq_type: Annotated[Annotated[int, ctypes.c_uint32], 16]
pd_handle: Annotated[Annotated[int, ctypes.c_uint32], 20]
max_wr: Annotated[Annotated[int, ctypes.c_uint32], 24]
max_sge: Annotated[Annotated[int, ctypes.c_uint32], 28]
srq_limit: Annotated[Annotated[int, ctypes.c_uint32], 32]
max_num_tags: Annotated[Annotated[int, ctypes.c_uint32], 36]
xrcd_handle: Annotated[Annotated[int, ctypes.c_uint32], 40]
cq_handle: Annotated[Annotated[int, ctypes.c_uint32], 44]
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 48]
@c.record
class struct_ib_uverbs_create_srq_resp(c.Struct):
SIZE = 16
srq_handle: Annotated[Annotated[int, ctypes.c_uint32], 0]
max_wr: Annotated[Annotated[int, ctypes.c_uint32], 4]
max_sge: Annotated[Annotated[int, ctypes.c_uint32], 8]
srqn: Annotated[Annotated[int, ctypes.c_uint32], 12]
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint32], Literal[0]], 16]
@c.record
class struct_ib_uverbs_modify_srq(c.Struct):
SIZE = 16
srq_handle: Annotated[Annotated[int, ctypes.c_uint32], 0]
attr_mask: Annotated[Annotated[int, ctypes.c_uint32], 4]
max_wr: Annotated[Annotated[int, ctypes.c_uint32], 8]
srq_limit: Annotated[Annotated[int, ctypes.c_uint32], 12]
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 16]
@c.record
class struct_ib_uverbs_query_srq(c.Struct):
SIZE = 16
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
srq_handle: Annotated[Annotated[int, ctypes.c_uint32], 8]
reserved: Annotated[Annotated[int, ctypes.c_uint32], 12]
driver_data: Annotated[c.Array[Annotated[int, ctypes.c_uint64], Literal[0]], 16]
@c.record
class struct_ib_uverbs_query_srq_resp(c.Struct):
SIZE = 16
max_wr: Annotated[Annotated[int, ctypes.c_uint32], 0]
max_sge: Annotated[Annotated[int, ctypes.c_uint32], 4]
srq_limit: Annotated[Annotated[int, ctypes.c_uint32], 8]
reserved: Annotated[Annotated[int, ctypes.c_uint32], 12]
@c.record
class struct_ib_uverbs_destroy_srq(c.Struct):
SIZE = 16
response: Annotated[Annotated[int, ctypes.c_uint64], 0]
srq_handle: Annotated[Annotated[int, ctypes.c_uint32], 8]
reserved: Annotated[Annotated[int, ctypes.c_uint32], 12]
@c.record
class struct_ib_uverbs_destroy_srq_resp(c.Struct):
SIZE = 4
events_reported: Annotated[Annotated[int, ctypes.c_uint32], 0]
@c.record
class struct_ib_uverbs_ex_create_wq(c.Struct):
SIZE = 40
comp_mask: Annotated[Annotated[int, ctypes.c_uint32], 0]
wq_type: Annotated[Annotated[int, ctypes.c_uint32], 4]
user_handle: Annotated[Annotated[int, ctypes.c_uint64], 8]
pd_handle: Annotated[Annotated[int, ctypes.c_uint32], 16]
cq_handle: Annotated[Annotated[int, ctypes.c_uint32], 20]
max_wr: Annotated[Annotated[int, ctypes.c_uint32], 24]
max_sge: Annotated[Annotated[int, ctypes.c_uint32], 28]
create_flags: Annotated[Annotated[int, ctypes.c_uint32], 32]
reserved: Annotated[Annotated[int, ctypes.c_uint32], 36]
@c.record
class struct_ib_uverbs_ex_create_wq_resp(c.Struct):
SIZE = 24
comp_mask: Annotated[Annotated[int, ctypes.c_uint32], 0]
response_length: Annotated[Annotated[int, ctypes.c_uint32], 4]
wq_handle: Annotated[Annotated[int, ctypes.c_uint32], 8]
max_wr: Annotated[Annotated[int, ctypes.c_uint32], 12]
max_sge: Annotated[Annotated[int, ctypes.c_uint32], 16]
wqn: Annotated[Annotated[int, ctypes.c_uint32], 20]
@c.record
class struct_ib_uverbs_ex_destroy_wq(c.Struct):
SIZE = 8
comp_mask: Annotated[Annotated[int, ctypes.c_uint32], 0]
wq_handle: Annotated[Annotated[int, ctypes.c_uint32], 4]
@c.record
class struct_ib_uverbs_ex_destroy_wq_resp(c.Struct):
SIZE = 16
comp_mask: Annotated[Annotated[int, ctypes.c_uint32], 0]
response_length: Annotated[Annotated[int, ctypes.c_uint32], 4]
events_reported: Annotated[Annotated[int, ctypes.c_uint32], 8]
reserved: Annotated[Annotated[int, ctypes.c_uint32], 12]
@c.record
class struct_ib_uverbs_ex_modify_wq(c.Struct):
SIZE = 24
attr_mask: Annotated[Annotated[int, ctypes.c_uint32], 0]
wq_handle: Annotated[Annotated[int, ctypes.c_uint32], 4]
wq_state: Annotated[Annotated[int, ctypes.c_uint32], 8]
curr_wq_state: Annotated[Annotated[int, ctypes.c_uint32], 12]
flags: Annotated[Annotated[int, ctypes.c_uint32], 16]
flags_mask: Annotated[Annotated[int, ctypes.c_uint32], 20]
@c.record
class struct_ib_uverbs_ex_create_rwq_ind_table(c.Struct):
SIZE = 8
comp_mask: Annotated[Annotated[int, ctypes.c_uint32], 0]
log_ind_tbl_size: Annotated[Annotated[int, ctypes.c_uint32], 4]
wq_handles: Annotated[c.Array[Annotated[int, ctypes.c_uint32], Literal[0]], 8]
@c.record
class struct_ib_uverbs_ex_create_rwq_ind_table_resp(c.Struct):
SIZE = 16
comp_mask: Annotated[Annotated[int, ctypes.c_uint32], 0]
response_length: Annotated[Annotated[int, ctypes.c_uint32], 4]
ind_tbl_handle: Annotated[Annotated[int, ctypes.c_uint32], 8]
ind_tbl_num: Annotated[Annotated[int, ctypes.c_uint32], 12]
@c.record
class struct_ib_uverbs_ex_destroy_rwq_ind_table(c.Struct):
SIZE = 8
comp_mask: Annotated[Annotated[int, ctypes.c_uint32], 0]
ind_tbl_handle: Annotated[Annotated[int, ctypes.c_uint32], 4]
@c.record
class struct_ib_uverbs_cq_moderation(c.Struct):
SIZE = 4
cq_count: Annotated[Annotated[int, ctypes.c_uint16], 0]
cq_period: Annotated[Annotated[int, ctypes.c_uint16], 2]
@c.record
class struct_ib_uverbs_ex_modify_cq(c.Struct):
SIZE = 16
cq_handle: Annotated[Annotated[int, ctypes.c_uint32], 0]
attr_mask: Annotated[Annotated[int, ctypes.c_uint32], 4]
attr: Annotated[struct_ib_uverbs_cq_moderation, 8]
reserved: Annotated[Annotated[int, ctypes.c_uint32], 12]
class enum_ib_uverbs_device_cap_flags(Annotated[int, ctypes.c_uint64], c.Enum): pass
IB_UVERBS_DEVICE_RESIZE_MAX_WR = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_RESIZE_MAX_WR', 1)
IB_UVERBS_DEVICE_BAD_PKEY_CNTR = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_BAD_PKEY_CNTR', 2)
IB_UVERBS_DEVICE_BAD_QKEY_CNTR = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_BAD_QKEY_CNTR', 4)
IB_UVERBS_DEVICE_RAW_MULTI = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_RAW_MULTI', 8)
IB_UVERBS_DEVICE_AUTO_PATH_MIG = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_AUTO_PATH_MIG', 16)
IB_UVERBS_DEVICE_CHANGE_PHY_PORT = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_CHANGE_PHY_PORT', 32)
IB_UVERBS_DEVICE_UD_AV_PORT_ENFORCE = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_UD_AV_PORT_ENFORCE', 64)
IB_UVERBS_DEVICE_CURR_QP_STATE_MOD = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_CURR_QP_STATE_MOD', 128)
IB_UVERBS_DEVICE_SHUTDOWN_PORT = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_SHUTDOWN_PORT', 256)
IB_UVERBS_DEVICE_PORT_ACTIVE_EVENT = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_PORT_ACTIVE_EVENT', 1024)
IB_UVERBS_DEVICE_SYS_IMAGE_GUID = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_SYS_IMAGE_GUID', 2048)
IB_UVERBS_DEVICE_RC_RNR_NAK_GEN = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_RC_RNR_NAK_GEN', 4096)
IB_UVERBS_DEVICE_SRQ_RESIZE = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_SRQ_RESIZE', 8192)
IB_UVERBS_DEVICE_N_NOTIFY_CQ = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_N_NOTIFY_CQ', 16384)
IB_UVERBS_DEVICE_MEM_WINDOW = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_MEM_WINDOW', 131072)
IB_UVERBS_DEVICE_UD_IP_CSUM = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_UD_IP_CSUM', 262144)
IB_UVERBS_DEVICE_XRC = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_XRC', 1048576)
IB_UVERBS_DEVICE_MEM_MGT_EXTENSIONS = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_MEM_MGT_EXTENSIONS', 2097152)
IB_UVERBS_DEVICE_MEM_WINDOW_TYPE_2A = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_MEM_WINDOW_TYPE_2A', 8388608)
IB_UVERBS_DEVICE_MEM_WINDOW_TYPE_2B = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_MEM_WINDOW_TYPE_2B', 16777216)
IB_UVERBS_DEVICE_RC_IP_CSUM = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_RC_IP_CSUM', 33554432)
IB_UVERBS_DEVICE_RAW_IP_CSUM = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_RAW_IP_CSUM', 67108864)
IB_UVERBS_DEVICE_MANAGED_FLOW_STEERING = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_MANAGED_FLOW_STEERING', 536870912)
IB_UVERBS_DEVICE_RAW_SCATTER_FCS = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_RAW_SCATTER_FCS', 17179869184)
IB_UVERBS_DEVICE_PCI_WRITE_END_PADDING = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_PCI_WRITE_END_PADDING', 68719476736)
IB_UVERBS_DEVICE_FLUSH_GLOBAL = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_FLUSH_GLOBAL', 274877906944)
IB_UVERBS_DEVICE_FLUSH_PERSISTENT = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_FLUSH_PERSISTENT', 549755813888)
IB_UVERBS_DEVICE_ATOMIC_WRITE = enum_ib_uverbs_device_cap_flags.define('IB_UVERBS_DEVICE_ATOMIC_WRITE', 1099511627776)
class enum_ib_uverbs_raw_packet_caps(Annotated[int, ctypes.c_uint32], c.Enum): pass
IB_UVERBS_RAW_PACKET_CAP_CVLAN_STRIPPING = enum_ib_uverbs_raw_packet_caps.define('IB_UVERBS_RAW_PACKET_CAP_CVLAN_STRIPPING', 1)
IB_UVERBS_RAW_PACKET_CAP_SCATTER_FCS = enum_ib_uverbs_raw_packet_caps.define('IB_UVERBS_RAW_PACKET_CAP_SCATTER_FCS', 2)
IB_UVERBS_RAW_PACKET_CAP_IP_CSUM = enum_ib_uverbs_raw_packet_caps.define('IB_UVERBS_RAW_PACKET_CAP_IP_CSUM', 4)
IB_UVERBS_RAW_PACKET_CAP_DELAY_DROP = enum_ib_uverbs_raw_packet_caps.define('IB_UVERBS_RAW_PACKET_CAP_DELAY_DROP', 8)
c.init_records()
vext_field_avail = lambda type,fld,sz: (offsetof(type, fld) < (sz)) # type: ignore
IBV_DEVICE_RAW_SCATTER_FCS = (1 << 34) # type: ignore
IBV_DEVICE_PCI_WRITE_END_PADDING = (1 << 36) # type: ignore
ibv_query_port = lambda context,port_num,port_attr: ___ibv_query_port(context, port_num, port_attr) # type: ignore
ibv_reg_mr = lambda pd,addr,length,access: __ibv_reg_mr(pd, addr, length, access, __builtin_constant_p( ((int)(access) & IBV_ACCESS_OPTIONAL_RANGE) == 0)) # type: ignore
ibv_reg_mr_iova = lambda pd,addr,length,iova,access: __ibv_reg_mr_iova(pd, addr, length, iova, access, __builtin_constant_p( ((access) & IBV_ACCESS_OPTIONAL_RANGE) == 0)) # type: ignore
ETHERNET_LL_SIZE = 6 # type: ignore
IB_ROCE_UDP_ENCAP_VALID_PORT_MIN = (0xC000) # type: ignore
IB_ROCE_UDP_ENCAP_VALID_PORT_MAX = (0xFFFF) # type: ignore
IB_GRH_FLOWLABEL_MASK = (0x000FFFFF) # type: ignore
IBV_FLOW_ACTION_ESP_KEYMAT_AES_GCM = IB_UVERBS_FLOW_ACTION_ESP_KEYMAT_AES_GCM # type: ignore
IBV_FLOW_ACTION_IV_ALGO_SEQ = IB_UVERBS_FLOW_ACTION_IV_ALGO_SEQ # type: ignore
IBV_FLOW_ACTION_ESP_REPLAY_NONE = IB_UVERBS_FLOW_ACTION_ESP_REPLAY_NONE # type: ignore
IBV_FLOW_ACTION_ESP_REPLAY_BMP = IB_UVERBS_FLOW_ACTION_ESP_REPLAY_BMP # type: ignore
IBV_FLOW_ACTION_ESP_FLAGS_INLINE_CRYPTO = IB_UVERBS_FLOW_ACTION_ESP_FLAGS_INLINE_CRYPTO # type: ignore
IBV_FLOW_ACTION_ESP_FLAGS_FULL_OFFLOAD = IB_UVERBS_FLOW_ACTION_ESP_FLAGS_FULL_OFFLOAD # type: ignore
IBV_FLOW_ACTION_ESP_FLAGS_TUNNEL = IB_UVERBS_FLOW_ACTION_ESP_FLAGS_TUNNEL # type: ignore
IBV_FLOW_ACTION_ESP_FLAGS_TRANSPORT = IB_UVERBS_FLOW_ACTION_ESP_FLAGS_TRANSPORT # type: ignore
IBV_FLOW_ACTION_ESP_FLAGS_DECRYPT = IB_UVERBS_FLOW_ACTION_ESP_FLAGS_DECRYPT # type: ignore
IBV_FLOW_ACTION_ESP_FLAGS_ENCRYPT = IB_UVERBS_FLOW_ACTION_ESP_FLAGS_ENCRYPT # type: ignore
IBV_FLOW_ACTION_ESP_FLAGS_ESN_NEW_WINDOW = IB_UVERBS_FLOW_ACTION_ESP_FLAGS_ESN_NEW_WINDOW # type: ignore
IBV_ADVISE_MR_ADVICE_PREFETCH = IB_UVERBS_ADVISE_MR_ADVICE_PREFETCH # type: ignore
IBV_ADVISE_MR_ADVICE_PREFETCH_WRITE = IB_UVERBS_ADVISE_MR_ADVICE_PREFETCH_WRITE # type: ignore
IBV_ADVISE_MR_ADVICE_PREFETCH_NO_FAULT = IB_UVERBS_ADVISE_MR_ADVICE_PREFETCH_NO_FAULT # type: ignore
IBV_ADVISE_MR_FLAG_FLUSH = IB_UVERBS_ADVISE_MR_FLAG_FLUSH # type: ignore
IBV_QPF_GRH_REQUIRED = IB_UVERBS_QPF_GRH_REQUIRED # type: ignore
IBV_ACCESS_OPTIONAL_RANGE = IB_UVERBS_ACCESS_OPTIONAL_RANGE # type: ignore
IB_UVERBS_ACCESS_OPTIONAL_FIRST = (1 << 20) # type: ignore
IB_UVERBS_ACCESS_OPTIONAL_LAST = (1 << 29) # type: ignore
IB_USER_VERBS_ABI_VERSION = 6 # type: ignore
IB_USER_VERBS_CMD_THRESHOLD = 50 # type: ignore
IB_USER_VERBS_CMD_COMMAND_MASK = 0xff # type: ignore
IB_USER_VERBS_CMD_FLAG_EXTENDED = 0x80000000 # type: ignore
IB_USER_VERBS_MAX_LOG_IND_TBL_SIZE = 0x0d # type: ignore
IB_DEVICE_NAME_MAX = 64 # type: ignore