# mlx5dv_devx_qp_query

## NAME



           mlx5dv_devx_qp_modify - Modifies a verbs QP via DEVX
    
           mlx5dv_devx_qp_query - Queries a verbs QP via DEVX
    
           mlx5dv_devx_cq_modify - Modifies a verbs CQ via DEVX
    
           mlx5dv_devx_cq_query - Queries a verbs CQ via DEVX
    
           mlx5dv_devx_srq_modify - Modifies a verbs SRQ via DEVX
    
           mlx5dv_devx_srq_query - Queries a verbs SRQ via DEVX
    
           mlx5dv_devx_wq_modify - Modifies a verbs WQ via DEVX
    
           mlx5dv_devx_wq_query - Queries a verbs WQ via DEVX
    
           mlx5dv_devx_ind_tbl_modify - Modifies a verbs indirection table
           via DEVX
    
           mlx5dv_devx_ind_tbl_query - Queries a verbs indirection table via
           DEVX
    


## SYNOPSIS



                  #include <infiniband/mlx5dv.h>
                  int mlx5dv_devx_qp_modify(struct ibv_qp *qp, const void *in, size_t inlen,
                                            void *out, size_t outlen);
                  int mlx5dv_devx_qp_query(struct ibv_qp *qp, const void *in, size_t inlen,
                                           void *out, size_t outlen);
                  int mlx5dv_devx_cq_modify(struct ibv_cq *cq, const void *in, size_t inlen,
                                            void *out, size_t outlen);
                  int mlx5dv_devx_cq_query(struct ibv_cq *cq, const void *in, size_t inlen,
                                           void *out, size_t outlen);
                  int mlx5dv_devx_srq_modify(struct ibv_srq *srq, const void *in, size_t inlen,
                                             void *out, size_t outlen);
                  int mlx5dv_devx_srq_query(struct ibv_srq *srq, const void *in, size_t inlen,
                                            void *out, size_t outlen);
                  int mlx5dv_devx_wq_modify(struct ibv_wq *wq, const void *in, size_t inlen,
                                            void *out, size_t outlen);
                  int mlx5dv_devx_wq_query(struct ibv_wq *wq, const void *in, size_t inlen,
                                           void *out, size_t outlen);
                  int mlx5dv_devx_ind_tbl_modify(struct ibv_rwq_ind_table *ind_tbl,
                                                 const void *in, size_t inlen,
                                                 void *out, size_t outlen);
                  int mlx5dv_devx_ind_tbl_query(struct ibv_rwq_ind_table *ind_tbl,
                                                const void *in, size_t inlen,
                                                void *out, size_t outlen);
    


## DESCRIPTION



           Modify / query a verb object over the DEVX interface.
    
           The DEVX API enables direct access from the user space area to the
           mlx5 device driver by using the KABI mechanism.  The main purpose
           is to make the user space driver as independent as possible from
           the kernel so that future device functionality and commands can be
           activated with minimal to none kernel changes.
    
           The above APIs enables modifying/querying a verb object via the
           DEVX interface.  This enables interoperability between verbs and
           DEVX.  As such an application can use the create method from verbs
           (e.g. ibv_create_qp) and modify and query the created object via
           DEVX (e.g. mlx5dv_devx_qp_modify).
    


## ARGUMENTS



           _qp/cq/wq/srq/ind_tbl_
                  The ibv_xxx object to issue the action on.
    
           _in_     A buffer which contains the command’s input data provided
                  in a device specification format.
    
           _inlen_  The size of _in_ buffer in bytes.
    
           _out_    A buffer which contains the command’s output data according
                  to the device specification format.
    
           _outlen_ The size of _out_ buffer in bytes.
    


## RETURN VALUE



           Upon success 0 is returned or the value of errno on a failure.
    
           If the error value is EREMOTEIO, outbox.status outbox.syndrome
           will contain the command failure details.
    


* * *