Go to main content

man pages section 3: Extended Library Functions, Volume 1

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

libssh2_channel_write_ex (3ssh2)

Name

libssh2_channel_write_ex - write data to a channel stream blocking

Synopsis

#include <libssh2.h>

ssize_t libssh2_channel_write_ex(LIBSSH2_CHANNEL *channel,
int stream_id, char *buf,
size_t buflen);

Description

libssh2 manual                                 libssh2_channel_write_ex(3ssh2)



NAME
       libssh2_channel_write_ex - write data to a channel stream blocking

SYNOPSIS
       #include <libssh2.h>

       ssize_t libssh2_channel_write_ex(LIBSSH2_CHANNEL *channel,
                                        int stream_id, char *buf,
                                        size_t buflen);

DESCRIPTION
       Write  data  to a channel stream. All channel streams have one standard
       I/O substream (stream_id == 0), and may have up to 2^32  extended  data
       streams as identified by the selected stream_id. The SSH2 protocol cur-
       rently defines a stream ID of 1 to be the stderr substream.

       channel - active channel stream to write to.

       stream_id - substream ID number (e.g. 0 or SSH_EXTENDED_DATA_STDERR)

       buf - pointer to buffer to write

       buflen - size of the data to write

       libssh2_channel_write(3) and libssh2_channel_write_stderr(3) are conve-
       nience macros for this function.

       libssh2_channel_write_ex(3)  will use as much as possible of the buffer
       and put it into a single SSH protocol packet. This means  that  to  get
       maximum performance when sending larger files, you should try to always
       pass in at least 32K of data to this function.

RETURN VALUE
       Actual  number  of  bytes  written  or  negative  on   failure.    LIB-
       SSH2_ERROR_EAGAIN   when   it   would   otherwise   block.  While  LIB-
       SSH2_ERROR_EAGAIN is a negative number, it isn't 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_CLOSED - The channel has been closed.

       LIBSSH2_ERROR_CHANNEL_EOF_SENT  -  The channel has been requested to be
       closed.


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+------------------+
       |ATTRIBUTE TYPE | ATTRIBUTE VALUE  |
       +---------------+------------------+
       |Availability   | library/libssh2  |
       +---------------+------------------+
       |Stability      | Uncommitted      |
       +---------------+------------------+

SEE ALSO
       libssh2_channel_open_ex(3) libssh2_channel_read_ex(3)



NOTES
       Source code for open source software components in Oracle  Solaris  can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This    software    was    built    from    source     available     at
       https://github.com/oracle/solaris-userland.    The  original  community
       source  was  downloaded   from    https://www.libssh2.org/download/lib-
       ssh2-1.10.0.tar.gz.

       Further information about this software can be found on the open source
       community website at https://www.libssh2.org/.



libssh2 0.15                      1 Jun 2007
                                               libssh2_channel_write_ex(3ssh2)