---
name: "ibv_query_srq"
section: "3"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/ibv_query_srq"
---

# ibv\_query\_srq(3)

get the attributes of a shared receive queue (SRQ)

## NAME

ibv\_query\_srq - get the attributes of a shared receive queue (SRQ)

## SYNOPSIS

```
#include <infiniband/verbs.h>

int ibv_query_srq(struct ibv_srq *srq, struct ibv_srq_attr *srq_attr);
```

## DESCRIPTION

**ibv\_query\_srq()** gets the attributes of the SRQ *srq* and returns them through the pointer *srq\_attr.* The argument *srq\_attr* is an ibv\_srq\_attr struct, as defined in \<infiniband/verbs.h\>.

```
struct ibv_srq_attr {
uint32_t                max_wr;         /* maximum number of outstanding work requests (WRs) in the SRQ */
uint32_t                max_sge;        /* maximum number of scatter elements per WR */
uint32_t                srq_limit;      /* the limit value of the SRQ */
};
```

## RETURN VALUE

**ibv\_query\_srq()** returns 0 on success, or the value of errno on failure (which indicates the failure reason).

## NOTES

If the value returned for srq\_limit is 0, then the SRQ limit reached ("low watermark") event is not (or no longer) armed, and no asynchronous events will be generated until the event is rearmed.

## SEE ALSO

[**ibv\_create\_srq**(3)](/ibv_create_srq/3.md), [**ibv\_destroy\_srq**(3)](/ibv_destroy_srq/3.md), [**ibv\_modify\_srq**(3)](/ibv_modify_srq/3.md)

## AUTHORS

- Dotan Barak \<dotanba@gmail.com\>
