---
name: "libssh2_session_block_directions"
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_session_block_directions"
---

# libssh2\_session\_block\_directions(3)

get directions to wait for

## NAME

libssh2\_session\_block\_directions - get directions to wait for

## SYNOPSIS

```
#include <libssh2.h>
int
libssh2_session_block_directions(LIBSSH2_SESSION *session);
```

## DESCRIPTION

*session* - Session instance as returned by **[libssh2\_session\_init\_ex(3)](/libssh2_session_init_ex/3.md)**

When any of libssh2 functions return **LIBSSH2\_ERROR\_EAGAIN** an application should wait for the socket to have data available for reading or writing. Depending on the return value of *[libssh2\_session\_block\_directions(3)](/libssh2_session_block_directions/3.md)* an application should wait for read, write or both.

## RETURN VALUE

Returns the set of directions as a binary mask. Can be a combination of:

LIBSSH2\_SESSION\_BLOCK\_INBOUND: Inbound direction blocked.

LIBSSH2\_SESSION\_BLOCK\_OUTBOUND: Outbound direction blocked.

Application should wait for data to be available for socket prior to calling a libssh2 function again. If **LIBSSH2\_SESSION\_BLOCK\_INBOUND** is set select should contain the session socket in readfds set. Correspondingly in case of **LIBSSH2\_SESSION\_BLOCK\_OUTBOUND** writefds set should contain the socket.

## AVAILABILITY

Added in 1.0
