---
name: "ibv_create_ah_from_wc"
section: "3"
platform: "linux"
package: "rdma-core"
version: "65.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux", "freebsd"]
url: "https://new.carta.tech/ibv_create_ah_from_wc"
---

# ibv\_create\_ah\_from\_wc(3)

initialize or create an address handle (AH) from a work completion

## NAME

ibv\_init\_ah\_from\_wc, ibv\_create\_ah\_from\_wc - initialize or create an address handle (AH) from a work completion

## SYNOPSIS

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

int ibv_init_ah_from_wc(struct ibv_context *context, uint8_t port_num,
                        struct ibv_wc *wc, struct ibv_grh *grh,
                        struct ibv_ah_attr *ah_attr);

struct ibv_ah *ibv_create_ah_from_wc(struct ibv_pd *pd,
                                     struct ibv_wc *wc,
                                     struct ibv_grh *grh,
                                     uint8_t port_num);
```

## DESCRIPTION

**ibv\_init\_ah\_from\_wc()** initializes the address handle (AH) attribute structure *ah\_attr* for the RDMA device context *context* using the port number *port\_num,* using attributes from the work completion *wc* and the Global Routing Header (GRH) structure *grh.*

**ibv\_create\_ah\_from\_wc()** creates an AH associated with the protection domain *pd* using the port number *port\_num,* using attributes from the work completion *wc* and the Global Routing Header (GRH) structure *grh.*

## RETURN VALUE

**ibv\_init\_ah\_from\_wc()** returns 0 on success, and -1 on error.

**ibv\_create\_ah\_from\_wc()** returns a pointer to the created AH, or NULL if the request fails, and errno is set to indicate the reason.

## NOTES

The filled structure *ah\_attr* returned from **ibv\_init\_ah\_from\_wc()** can be used to create a new AH using **ibv\_create\_ah().**

## SEE ALSO

[**ibv\_open\_device**(3)](/ibv_open_device/3.md), [**ibv\_alloc\_pd**(3)](/ibv_alloc_pd/3.md), [**ibv\_create\_ah**(3)](/ibv_create_ah/3.md), [**ibv\_destroy\_ah**(3)](/ibv_destroy_ah/3.md), [**ibv\_poll\_cq**(3)](/ibv_poll_cq/3.md)

## AUTHORS

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