---
name: "rpma_srq_cfg_new"
section: "3"
platform: "linux"
package: "librpma-dev"
version: "1.3.0-2+b3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/rpma_srq_cfg_new"
---

# rpma\_srq\_cfg\_new(3)

create a new shared RQ configuration object

## NAME

**rpma\_srq\_cfg\_new** - create a new shared RQ configuration object

## SYNOPSIS

```
      #include <librpma.h>
      struct rpma_srq_cfg;
      int rpma_srq_cfg_new(struct rpma_srq_cfg **cfg_ptr);
```

## DESCRIPTION

**rpma\_srq\_cfg\_new**() creates a new shared RQ configuration object and fills it with the default values:

```
        .rcq_size = 100
        .rq_size = 100
```

Note that [**rpma\_srq\_new**(3)](/rpma_srq_new/3.md) with the default rcq\_size creates its own receive CQ.

## RETURN VALUE

The **rpma\_srq\_cfg\_new**() function returns 0 on success or a negative error code on failure. **rpma\_srq\_cfg\_new**() does not set \*cfg\_ptr value on failure.

## ERRORS

**rpma\_srq\_cfg\_new**() can fail with the following error:

- •

  RPMA\_E\_INVAL - cfg\_ptr is NULL

- •

  RPMA\_E\_NOMEM - out of memory

## SEE ALSO

[**rpma\_srq\_cfg\_delete**(3)](/rpma_srq_cfg_delete/3.md), [**rpma\_srq\_cfg\_get\_rcq\_size**(3)](/rpma_srq_cfg_get_rcq_size/3.md), [**rpma\_srq\_cfg\_get\_rq\_size**(3)](/rpma_srq_cfg_get_rq_size/3.md), [**rpma\_srq\_cfg\_set\_rcq\_size**(3)](/rpma_srq_cfg_set_rcq_size/3.md), [**rpma\_srq\_cfg\_set\_rq\_size**(3)](/rpma_srq_cfg_set_rq_size/3.md), [**rpma\_srq\_new**(3)](/rpma_srq_new/3.md), [**librpma**(7)](/librpma/7.md) and https://pmem.io/rpma/
