#![allow(non_snake_case)]
#![allow(non_camel_case_types)]
#![allow(non_upper_case_globals)]
#![allow(deref_nullptr)]
#![allow(clippy::missing_safety_doc)]
#![allow(clippy::too_many_arguments)]
#![allow(unused)]
mod common;
#[cfg(mlnx4)]
mod mlnx4;
#[cfg(mlnx5)]
mod mlnx5;
mod private {
use libc::*;
include!(concat!(env!("OUT_DIR"), "/verbs_bindings.rs"));
#[cfg(mlnx4)]
pub use super::mlnx4::*;
#[cfg(mlnx5)]
pub use super::mlnx5::*;
}
pub(crate) use self::private::*;
#[cfg(not(manual_mlx5))]
mod __ibv_get_device_list_mod {
use super::ibv_device;
extern "C" {
pub fn ibv_get_device_list(num_devices: *mut ::std::os::raw::c_int)
-> *mut *mut ibv_device;
}
}
#[cfg(manual_mlx5)]
mod __ibv_get_device_list_mod {
use super::ibv_device;
#[repr(C)]
struct verbs_device_ops {
_private: [u8; 0],
}
extern "C" {
#[no_mangle]
static mut verbs_provider_mlx5: verbs_device_ops;
}
mod external {
extern "C" {
pub(super) fn ibv_get_device_list(
num_devices: *mut ::std::os::raw::c_int,
) -> *mut *mut super::ibv_device;
}
extern "C" {
pub(super) fn ibv_static_providers(unused: *mut ::std::os::raw::c_void, ...);
}
}
pub unsafe fn ibv_get_device_list(
num_devices: *mut ::std::os::raw::c_int,
) -> *mut *mut ibv_device {
self::external::ibv_static_providers(
std::ptr::null_mut(),
&mut verbs_provider_mlx5 as *mut verbs_device_ops,
0,
);
self::external::ibv_get_device_list(num_devices)
}
}
pub use self::__ibv_get_device_list_mod::ibv_get_device_list;
pub use self::private::ibv_free_device_list;
pub use self::private::ibv_get_device_name;
pub use self::private::ibv_device;
pub use self::private::ibv_open_device;
pub use self::private::ibv_close_device;
pub use self::private::ibv_context;
pub use self::private::ibv_query_device;
pub use self::private::ibv_device_attr;
pub use self::private::ibv_query_port;
pub use self::private::ibv_port_attr;
pub use self::private::ibv_gid;
pub use self::private::ibv_alloc_pd;
pub use self::private::ibv_dealloc_pd;
pub use self::private::ibv_pd;
pub use self::private::ibv_create_cq;
pub use self::private::ibv_destroy_cq;
pub use self::private::ibv_cq;
pub use self::private::ibv_poll_cq;
pub use self::private::ibv_wc;
pub use self::private::ibv_reg_mr;
pub use self::private::ibv_dereg_mr;
pub use self::private::ibv_mr;
pub use self::private::ibv_access_flags;
pub use self::private::ibv_create_qp;
pub use self::private::ibv_destroy_qp;
pub use self::private::ibv_qp;
pub use self::private::ibv_qp_init_attr;
pub use self::private::ibv_qp_cap;
pub use self::private::ibv_qp_type;
pub use self::private::ibv_modify_qp;
pub use self::private::ibv_query_qp;
pub use self::private::ibv_qp_attr;
pub use self::private::ibv_qp_state;
pub use self::private::ibv_post_send;
pub use self::private::ibv_send_wr;
pub use self::private::ibv_sge;
pub use self::private::ibv_send_flags;
pub use self::private::ibv_wr_opcode;
pub use self::private::ibv_post_recv;
pub use self::private::ibv_recv_wr;
pub use self::private::ibv_create_ah;
pub use self::private::ibv_destroy_ah;
pub use self::private::ibv_ah;
#[cfg(mlnx4)]
pub use self::private::ibv_exp_create_qp;
#[cfg(mlnx4)]
pub use self::private::ibv_exp_modify_qp;
#[cfg(mlnx4)]
pub use self::private::ibv_exp_post_send;
#[cfg(mlnx4)]
pub use self::private::ibv_exp_qp_attr;
#[cfg(mlnx4)]
pub use self::private::ibv_exp_qp_init_attr;
#[cfg(mlnx4)]
pub use self::private::ibv_exp_send_flags;
#[cfg(mlnx4)]
pub use self::private::ibv_exp_send_wr;
#[cfg(mlnx4)]
pub use self::private::ibv_exp_wr_opcode;