.\" Automatically generated by Pandoc 3.1.11.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 <infiniband/manadv.h>

int manadv_init_obj(struct 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
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;
};
.EE
.TP
\f[I]obj_type\f[R]
The types of the manadv_xxx structs to be returned.
.IP
.EX
enum 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
