manadv_init_obj(3) — Linux manual page

NAME | SYNOPSIS” | DESCRIPTION | ARGUMENTS | RETURN VALUE | AUTHORS | COLOPHON

manadv_init_obj(3)                                     manadv_init_obj(3)

NAME         top

       manadv_init_obj - Initialize mana direct verbs object from ibv_xxx
       structures

SYNOPSIS”         top

              #include <infiniband/manadv.h>

              int manadv_init_obj(struct manadv_obj *obj, uint64_t obj_type);

DESCRIPTION         top

       manadv_init_obj() This function will initialize manadv_xxx structs
       based on supplied type.  The information for initialization is
       taken from ibv_xx structs supplied as part of input.

ARGUMENTS         top

       obj    The manadv_xxx structs be to returned.

              struct manadv_qp {
                  void        *sq_buf;
                  uint32_t    sq_count;
                  uint32_t    sq_size;
                  uint32_t    sq_id;
                  uint32_t    tx_vp_offset;
                  void        *db_page;
              };

              struct manadv_cq {
                  void        *buf;
                  uint32_t    count;
                  uint32_t    cq_id;
              };

              struct manadv_rwq {
                  void        *buf;
                  uint32_t    count;
                  uint32_t    size;
                  uint32_t    wq_id;
                  void        *db_page;
              };

              struct manadv_obj {
                  struct {
                      struct ibv_qp       *in;
                      struct manadv_qp    *out;
                  } qp;

                  struct {
                      struct ibv_cq       *in;
                      struct manadv_cq    *out;
                  } cq;

                  struct {
                      struct ibv_wq       *in;
                      struct manadv_rwq   *out;
                  } rwq;
              };

       obj_type
              The types of the manadv_xxx structs to be returned.

              enum manadv_obj_type {
                  MANADV_OBJ_QP   = 1 << 0,
                  MANADV_OBJ_CQ   = 1 << 1,
                  MANADV_OBJ_RWQ  = 1 << 2,
              };

RETURN VALUE         top

       0 on success or the value of errno on failure (which indicates the
       failure reason).

AUTHORS         top

       Long Li ⟨longli@microsoft.com⟩

COLOPHON         top

       This page is part of the rdma-core (RDMA Core Userspace Libraries
       and Daemons) project.  Information about the project can be found
       at ⟨https://github.com/linux-rdma/rdma-core⟩.  If you have a bug
       report for this manual page, send it to
       linux-rdma@vger.kernel.org.  This page was obtained from the
       project's upstream Git repository
       ⟨https://github.com/linux-rdma/rdma-core.git⟩ on 2025-08-11.  (At
       that time, the date of the most recent commit that was found in
       the repository was 2025-08-04.)  If you discover any rendering
       problems in this HTML version of the page, or you believe there is
       a better or more up-to-date source for the page, or you have
       corrections or improvements to the information in this COLOPHON
       (which is not part of the original manual page), send a mail to
       man-pages@man7.org

                                                       manadv_init_obj(3)