---
name: "libssh2_channel_flush_ex"
section: "3"
platform: "linux"
package: "libssh2"
version: "1.11.1-7"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/libssh2_channel_flush_ex"
---

# libssh2\_channel\_flush\_ex(3)

flush a channel

## NAME

libssh2\_channel\_flush\_ex - flush a channel

## SYNOPSIS

```
#include <libssh2.h>
int
libssh2_channel_flush_ex(LIBSSH2_CHANNEL *channel, int streamid);
int
libssh2_channel_flush(LIBSSH2_CHANNEL *channel);
int
libssh2_channel_flush_stderr(LIBSSH2_CHANNEL *channel);
```

## DESCRIPTION

*channel* - Active channel stream to flush.

*streamid* - Specific substream number to flush. Groups of substreams may be flushed by passing on of the following Constants.\
 **LIBSSH2\_CHANNEL\_FLUSH\_EXTENDED\_DATA**: Flush all extended data substreams\
 **LIBSSH2\_CHANNEL\_FLUSH\_ALL**: Flush all substreams

Flush the read buffer for a given channel instance. Individual substreams may be flushed by number or using one of the provided macros.

## RETURN VALUE

Return the number of bytes flushed or negative on failure. It returns LIBSSH2\_ERROR\_EAGAIN when it would otherwise block. While LIBSSH2\_ERROR\_EAGAIN is a negative number, it is not really a failure per se.
