libssh2_channel_setenv_ex(3)

libssh2_channel_setenv_ex3

Set an environment variable on the channel

Usage

#include <libssh2.h>
int
libssh2_channel_setenv_ex(LIBSSH2_CHANNEL *channel,
                          char *varname, unsigned int varname_len,
                          const char *value, unsigned int value_len);
int
libssh2_channel_setenv(LIBSSH2_CHANNEL *channel,
                       char *varname, const char *value);

Overview

channel - Previously opened channel instance such as returned by libssh2_channel_open_ex(3)

varname - Name of environment variable to set on the remote channel instance.

varname_len - Length of passed varname parameter.

value - Value to set varname to.

value_len - Length of value parameter.

Set an environment variable in the remote channel's process space. 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 -

Releases

10 releases since Debian 5.0 (Lenny); the text changed 3 times.

  1. 5.0
  2. 6.0
  3. 7–12
  4. 13–Arch

From libssh2 1.11.1-7 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.