---
name: "io_uring_submit_and_get_events"
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_submit_and_get_events"
---

# io\_uring\_submit\_and\_get\_events(3)

submit requests to the submission queue and flush completions

## NAME

io\_uring\_submit\_and\_get\_events - submit requests to the submission queue and flush completions

## SYNOPSIS

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

**int io\_uring\_submit\_and\_get\_events(struct io\_uring \****ring***);**

## DESCRIPTION

The [**io\_uring\_submit\_and\_get\_events**(3)](/io_uring_submit_and_get_events/3.md) function submits the next events to the submission queue as with [**io\_uring\_submit**(3)](/io_uring_submit/3.md)**.** After submission it will flush CQEs as with [**io\_uring\_get\_events**(3)](/io_uring_get_events/3.md)**.**

The benefit of this function is that it does both with only one system call.

## RETURN VALUE

On success [**io\_uring\_submit\_and\_get\_events**(3)](/io_uring_submit_and_get_events/3.md) returns the number of submitted submission queue entries. On failure it returns **-errno**.

## SEE ALSO

[**io\_uring\_submit**(3)](/io_uring_submit/3.md), [**io\_uring\_get\_events**(3)](/io_uring_get_events/3.md)
