.\" Automatically generated by Pandoc 2.17.1.1
.\"
.\" Define V font for inline verbatim, using C font in formats
.\" that render this, and otherwise B font.
.ie "\f[CB]x\f[]"x" \{\
. ftr V B
. ftr VI BI
. ftr VB B
. ftr VBI BI
.\}
.el \{\
. ftr V CR
. ftr VI CI
. ftr VB CB
. ftr VBI CBI
.\}
.TH "mlx4dv_set_context_attr" "3" "" "" ""
.hy
.SH NAME
.PP
mlx4dv_set_context_attr - Set context attributes
.SH SYNOPSIS
.IP
.nf
\f[C]
#include <infiniband/mlx4dv.h>

int mlx4dv_set_context_attr(struct ibv_context *context,
                            enum mlx4dv_set_ctx_attr_type attr_type,
                            void *attr);
\f[R]
.fi
.SH DESCRIPTION
.PP
mlx4dv_set_context_attr gives the ability to set vendor specific
attributes on the RDMA context.
.SH ARGUMENTS
.TP
\f[I]context\f[R]
RDMA device context to work on.
.TP
\f[I]attr_type\f[R]
The type of the provided attribute.
.TP
\f[I]attr\f[R]
Pointer to the attribute to be set.
## attr_type
.IP
.nf
\f[C]
enum mlx4dv_set_ctx_attr_type {
    /* Attribute type uint8_t */
    MLX4DV_SET_CTX_ATTR_LOG_WQS_RANGE_SZ    = 0,
    MLX4DV_SET_CTX_ATTR_BUF_ALLOCATORS  = 1,
};
\f[R]
.fi
.TP
\f[I]MLX4DV_SET_CTX_ATTR_LOG_WQS_RANGE_SZ\f[R]
Change the LOG WQs Range size for RSS
.TP
\f[I]MLX4DV_SET_CTX_ATTR_BUF_ALLOCATORS\f[R]
Provide an external buffer allocator
.IP
.nf
\f[C]
struct mlx4dv_ctx_allocators {
    void *(*alloc)(size_t size, void *priv_data);
    void (*free)(void *ptr, void *priv_data);
    void *data;
};
\f[R]
.fi
.TP
\f[I]alloc\f[R]
Function used for buffer allocation instead of libmlx4 internal method
.TP
\f[I]free\f[R]
Function used to free buffers allocated by alloc function
.TP
\f[I]data\f[R]
Metadata that can be used by alloc and free functions
.SH RETURN VALUE
.PP
Returns 0 on success, or the value of errno on failure (which indicates
the failure reason).
.PP
#AUTHOR
.PP
Majd Dibbiny <majd@mellanox.com>
