.\" Automatically generated by Pandoc 3.8.2.1
.\"
.TH "manadv_init_obj" "3" "" ""
.SH NAME
manadv_init_obj \- Initialize mana direct verbs object from ibv_xxx
structures
.SH SYNOPSIS\(rq
.IP
.EX
#include \f[B]<infiniband/manadv.h>\f[R]

int manadv_init_obj(\f[B]struct\f[R] manadv_obj *obj, uint64_t obj_type);
.EE
.SH DESCRIPTION
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.
.SH ARGUMENTS
.TP
\f[I]obj\f[R]
The manadv_xxx structs be to returned.
.IP
.EX
\f[B]struct\f[R] 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;
};

\f[B]struct\f[R] manadv_cq {
    void        *buf;
    uint32_t    count;
    uint32_t    cq_id;
};

\f[B]struct\f[R] manadv_rwq {
    void        *buf;
    uint32_t    count;
    uint32_t    size;
    uint32_t    wq_id;
    void        *db_page;
};

\f[B]struct\f[R] manadv_obj {
    \f[B]struct\f[R] {
        \f[B]struct\f[R] ibv_qp       *in;
        \f[B]struct\f[R] manadv_qp    *out;
    } qp;

    \f[B]struct\f[R] {
        \f[B]struct\f[R] ibv_cq       *in;
        \f[B]struct\f[R] manadv_cq    *out;
    } cq;

    \f[B]struct\f[R] {
        \f[B]struct\f[R] ibv_wq       *in;
        \f[B]struct\f[R] manadv_rwq   *out;
    } rwq;
};
.EE
.TP
\f[I]obj_type\f[R]
The types of the manadv_xxx structs to be returned.
.IP
.EX
\f[B]enum\f[R] manadv_obj_type {
    MANADV_OBJ_QP   = 1 << 0,
    MANADV_OBJ_CQ   = 1 << 1,
    MANADV_OBJ_RWQ  = 1 << 2,
};
.EE
.SH RETURN VALUE
0 on success or the value of errno on failure (which indicates the
failure reason).
.SH AUTHORS
Long Li \c
.MT longli@microsoft.com
.ME \c
