Provided by: libibverbs-dev_50.0-2build2_amd64 bug

NAME

       ibv_create_counters, ibv_destroy_counters - Create or destroy a counters handle

SYNOPSIS

              #include <infiniband/verbs.h>

              struct ibv_counters *
              ibv_create_counters(struct ibv_context *context,
                                  struct ibv_counters_init_attr *init_attr);

              int ibv_destroy_counters(struct ibv_counters *counters);

DESCRIPTION

       ibv_create_counters() creates a new counters handle for the RDMA device context.

       An ibv_counters handle can be attached to a verbs resource (e.g.: QP, WQ, Flow) statically
       when these are created.

       For example attach an ibv_counters statically to a Flow (struct ibv_flow) during  creation
       of a new Flow by calling ibv_create_flow().

       Counters are cleared upon creation and values will be monotonically increasing.

       ibv_destroy_counters()  releases  the  counters  handle,  user  should detach the counters
       object before destroying it.

ARGUMENTS

       context
              RDMA device context to create the counters on.

       init_attr
              Is an ibv_counters_init_attr struct, as defined in verbs.h.

   init_attr Argument
              struct ibv_counters_init_attr {
                  int comp_mask;
              };

       comp_mask
              Bitmask specifying what fields in the structure are valid.

RETURN VALUE

       ibv_create_counters() returns a pointer to the allocated ibv_counters object, or  NULL  if
       the request fails (and sets errno to indicate the failure reason)

       ibv_destroy_counters()  returns  0  on  success,  or  the value of errno on failure (which
       indicates the failure reason)

ERRORS

       EOPNOTSUPP
              ibv_create_counters() is  not  currently  supported  on  this  device  (ENOSYS  may
              sometimes be returned by old versions of libibverbs).

       ENOMEM ibv_create_counters() could not create ibv_counters object, not enough memory

       EINVAL invalid parameter supplied ibv_destroy_counters()

EXAMPLE

       An example of use of ibv_counters is shown in ibv_read_counters

SEE ALSO

       ibv_attach_counters_point_flow, ibv_read_counters, ibv_create_flow

AUTHORS

       Raed Salem <raeds@mellanox.com>

       Alex Rosenbaum <alexr@mellanox.com>