.B #include <infiniband/verbs.h>
.sp
.BI "struct ibv_pd *ibv_alloc_pd(struct ibv_context " "*context" );
-.nl
+.sp
.BI "int ibv_dealloc_pd(struct ibv_pd " "*pd" );
.fi
.SH "DESCRIPTION"
.sp
.BI "int ibv_attach_mcast(struct ibv_qp " "*qp" ", union ibv_gid " "*gid" ",
.BI " uint16_t " "lid" ");
-.nl
+.sp
.BI "int ibv_detach_mcast(struct ibv_qp " "*qp" ", union ibv_gid " "*gid" ",
.BI " uint16_t " "lid" ");
.fi
.sp
.BI "struct ibv_ah *ibv_create_ah(struct ibv_pd " "*pd" ",
.BI " struct ibv_ah_attr " "*attr" ");
-.nl
+.sp
.BI "int ibv_destroy_ah(struct ibv_ah " "*ah" ");
.fi
.SH "DESCRIPTION"
.BI "int ibv_init_ah_from_wc(struct ibv_context " "*context" ", uint8_t " "port_num" ,
.BI " struct ibv_wc " "*wc" ", struct ibv_grh " "*grh" ,
.BI " struct ibv_ah_attr " "*ah_attr" );
-.nl
+.sp
.BI "struct ibv_ah *ibv_create_ah_from_wc(struct ibv_pd " "*pd" ,
.BI " struct ibv_wc " "*wc" ,
.BI " struct ibv_grh " "*grh" ,
.sp
.BI "struct ibv_comp_channel *ibv_create_comp_channel(struct ibv_context
.BI " " "*context" );
-.nl
+.sp
.BI "int ibv_destroy_comp_channel(struct ibv_comp_channel " "*channel" );
.fi
.SH "DESCRIPTION"
.BI " void " "*cq_context" ,
.BI " struct ibv_comp_channel " "*channel" ,
.BI " int " "comp_vector" );
-.nl
+.sp
.BI "int ibv_destroy_cq(struct ibv_cq " "*cq" );
.fi
.SH "DESCRIPTION"
.sp
.BI "struct ibv_qp *ibv_create_qp(struct ibv_pd " "*pd" ,
.BI " struct ibv_qp_init_attr " "*qp_init_attr" );
-.nl
+.sp
.BI "int ibv_destroy_qp(struct ibv_qp " "*qp" );
.fi
.SH "DESCRIPTION"
.sp
.BI "struct ibv_srq *ibv_create_srq(struct ibv_pd " "*pd" ", struct "
.BI " ibv_srq_init_attr " "*srq_init_attr" );
-.nl
+.sp
.BI "int ibv_destroy_srq(struct ibv_srq " "*srq" );
.fi
.SH "DESCRIPTION"
.SH "NAME"
.nf
ibv_event_type_str \- Return string describing event_type enum value
-.nl
+.sp
ibv_node_type_str \- Return string describing node_type enum value
-.nl
+.sp
ibv_port_state_str \- Return string describing port_state enum value
.SH "SYNOPSIS"
.nf
.B #include <infiniband/verbs.h>
.sp
.BI "const char *ibv_event_type_str(enum ibv_event_type " "event_type");
-.nl
+.sp
.BI "const char *ibv_node_type_str(enum ibv_node_type " "node_type");
-.nl
+.sp
.BI "const char *ibv_port_state_str(enum ibv_port_state " "port_state");
.fi
.SH "DESCRIPTION"
.sp
.BI "int ibv_get_async_event(struct ibv_context " "*context" ,
.BI " struct ibv_async_event " "*event" );
-.nl
+.sp
.BI "void ibv_ack_async_event(struct ibv_async_event " "*event" );
.fi
.SH "DESCRIPTION"
.sp
.BI "int ibv_get_cq_event(struct ibv_comp_channel " "*channel" ,
.BI " struct ibv_cq " "**cq" ", void " "**cq_context" );
-.nl
+.sp
.BI "void ibv_ack_cq_events(struct ibv_cq " "*cq" ", unsigned int " "nevents" );
.fi
.B #include <infiniband/verbs.h>
.sp
.BI "struct ibv_device **ibv_get_device_list(int " "*num_devices" );
-.nl
+.sp
.BI "void ibv_free_device_list(struct ibv_device " "**list" );
.fi
.SH "DESCRIPTION"
.B #include <infiniband/verbs.h>
.sp
.BI "struct ibv_context *ibv_open_device(struct ibv_device " "*device" ");
-.nl
+.sp
.BI "int ibv_close_device(struct ibv_context " "*context" ");
.fi
.SH "DESCRIPTION"
.SH "NAME"
.nf
ibv_rate_to_mult \- convert IB rate enumeration to multiplier of 2.5 Gbit/sec
-.nl
+.sp
mult_to_ibv_rate \- convert multiplier of 2.5 Gbit/sec to an IB rate enumeration
.SH "SYNOPSIS"
.nf
.B #include <infiniband/verbs.h>
.sp
.BI "int ibv_rate_to_mult(enum ibv_rate " "rate" ");
-.nl
+.sp
.BI "enum ibv_rate mult_to_ibv_rate(int " "mult" ");
.fi
.SH "DESCRIPTION"
.BI "struct ibv_mr *ibv_reg_mr(struct ibv_pd " "*pd" ", void " "*addr" ,
.BI " size_t " "length" ,
.BI " enum ibv_access_flags " "access" );
-.nl
+.sp
.BI "int ibv_dereg_mr(struct ibv_mr " "*mr" );
.fi
.SH "DESCRIPTION"