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

# mlx5dv\_devx\_create\_event\_channel(3)

Create an event channel to be used for DEVX asynchronous events. mlx5dv\_devx\_destroy\_event\_channel - Destroy a DEVX event channel.

## NAME

mlx5dv\_devx\_create\_event\_channel - Create an event channel to be used for DEVX asynchronous events.

mlx5dv\_devx\_destroy\_event\_channel - Destroy a DEVX event channel.

## SYNOPSIS

-

  ```
  #include <infiniband/mlx5dv.h>
  struct mlx5dv_devx_event_channel {
      int fd;
  };
  struct mlx5dv_devx_event_channel *
  mlx5dv_devx_create_event_channel(struct ibv_context *context,
                                   enum mlx5dv_devx_create_event_channel_flags flags)
  void mlx5dv_devx_destroy_event_channel(struct mlx5dv_devx_event_channel *event_channel)
  ```

## DESCRIPTION

Create or destroy a channel to be used for DEVX asynchronous events.

The create verb exposes an mlx5dv\_devx\_event\_channel object that can be used to read asynchronous DEVX events. This lets an application to subscribe to get device events and once an event occurred read it from this object.

## ARGUMENTS

- *context*

  -

  ```
    RDMA device context to create the channel on.
  ```

- *flags*

  MLX5DV\_DEVX\_CREATE\_EVENT\_CHANNEL\_FLAGS\_OMIT\_EV\_DATA: omit the event data on this channel.

## RETURN VALUE

Upon success *mlx5dv\_devx\_create\_event\_channel* will return a new *struct mlx5dv\_devx\_event\_channel* object, on error NULL will be returned and errno will be set.

## SEE ALSO

*[mlx5dv\_open\_device(3)](/mlx5dv_open_device/3.md)*, *[mlx5dv\_devx\_obj\_create(3)](/mlx5dv_devx_obj_create/3.md)*

\#AUTHOR

Yishai Hadas ⟨yishaih@mellanox.com⟩\\c
