Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
libssh2_channel_write_ex(3)	     libssh2	     libssh2_channel_write_ex(3)

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 currently de-
     fines 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.   LIBSSH2_ERROR_EA-
     GAIN  when  it would otherwise block. While LIBSSH2_ERROR_EAGAIN is a nega-
     tive 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_CLOSED - The channel has been closed.

     LIBSSH2_ERROR_CHANNEL_EOF_SENT - The channel has been requested to be

     LIBSSH2_ERROR_BAD_USE - This can be returned if you ignored a previous  re-
     turn  for	LIBSSH2_ERROR_EAGAIN and rather than sending the original buffer
     with the original size, you sent a new buffer with a different size.

     closed.

SEE ALSO
     libssh2_channel_open_ex(3) libssh2_channel_read_ex(3)

libssh2 0.15			   1 Jun 2007	     libssh2_channel_write_ex(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=libssh2_channel_write_ex&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help