---
name: "libssh2_channel_request_pty_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_request_pty_ex"
---

# libssh2\_channel\_request\_pty\_ex(3)

short function description

## NAME

libssh2\_channel\_request\_pty\_ex - short function description

## SYNOPSIS

```
#include <libssh2.h>
int
libssh2_channel_request_pty_ex(LIBSSH2_CHANNEL *channel, const char *term,
                               unsigned int term_len,
                               const char *modes, unsigned int modes_len,
                               int width, int height,
                               int width_px, int height_px);
int
libssh2_channel_request_pty(LIBSSH2_CHANNEL *channel, const char *term);
```

## DESCRIPTION

*channel* - Previously opened channel instance such as returned by **[libssh2\_channel\_open\_ex(3)](/libssh2_channel_open_ex/3.md)**

*term* - Terminal emulation (e.g. vt102, ansi, etc...)

*term\_len* - Length of term parameter

*modes* - Terminal mode modifier values

*modes\_len* - Length of modes parameter.

*width* - Width of pty in characters

*height* - Height of pty in characters

*width\_px* - Width of pty in pixels

*height\_px* - Height of pty in pixels

Request a PTY on an established channel. Note that this does not make sense for all channel types and may be ignored by the server despite returning success.

## RETURN VALUE

Return 0 on success 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.

## ERRORS

*LIBSSH2\_ERROR\_ALLOC* - An internal memory allocation call failed.

*LIBSSH2\_ERROR\_SOCKET\_SEND* - Unable to send data on socket.

*LIBSSH2\_ERROR\_CHANNEL\_REQUEST\_DENIED* -

## SEE ALSO

**[libssh2\_channel\_open\_ex(3)](/libssh2_channel_open_ex/3.md)**
