---
name: "io_uring_queue_mmap"
section: "3"
platform: "linux"
package: "liburing"
version: "2.15-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/io_uring_queue_mmap"
---

# io\_uring\_queue\_mmap(3)

mmap io\_uring ring after setup

## NAME

io\_uring\_queue\_mmap - mmap io\_uring ring after setup

## SYNOPSIS

```
#include <liburing.h>
```

**int io\_uring\_queue\_mmap(int** *fd***, struct io\_uring\_params \****p***,**                         **struct io\_uring \****ring***);**

## DESCRIPTION

The [**io\_uring\_queue\_mmap**(3)](/io_uring_queue_mmap/3.md) function maps the io\_uring ring file descriptor *fd* into memory using the parameters in *p*. The resulting ring is stored in *ring*.

This function is a helper for applications that need to customize the ring setup process. Most applications should use [**io\_uring\_queue\_init**(3)](/io_uring_queue_init/3.md) or [**io\_uring\_queue\_init\_params**(3)](/io_uring_queue_init_params/3.md) instead, which call [**io\_uring\_setup**(2)](/io_uring_setup/2.md) and this function automatically.

The *fd* argument should be a file descriptor returned by [**io\_uring\_setup**(2)](/io_uring_setup/2.md), and *p* should contain the parameters returned by the setup call.

## RETURN VALUE

Returns 0 on success, or a negative errno value on error.

## SEE ALSO

[**io\_uring\_setup**(2)](/io_uring_setup/2.md), [**io\_uring\_queue\_init**(3)](/io_uring_queue_init/3.md), [**io\_uring\_queue\_init\_params**(3)](/io_uring_queue_init_params/3.md), [**io\_uring\_queue\_exit**(3)](/io_uring_queue_exit/3.md)
