libssh2_channel_write_ex.3 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. .TH libssh2_channel_write_ex 3 "1 Jun 2007" "libssh2 0.15" "libssh2 manual"
  2. .SH NAME
  3. libssh2_channel_write_ex - write data to a channel stream blocking
  4. .SH SYNOPSIS
  5. .nf
  6. #include <libssh2.h>
  7. ssize_t libssh2_channel_write_ex(LIBSSH2_CHANNEL *channel,
  8. int stream_id, char *buf,
  9. size_t buflen);
  10. .SH DESCRIPTION
  11. Write data to a channel stream. All channel streams have one standard I/O
  12. substream (stream_id == 0), and may have up to 2^32 extended data streams as
  13. identified by the selected \fIstream_id\fP. The SSH2 protocol currently
  14. defines a stream ID of 1 to be the stderr substream.
  15. \fIchannel\fP - active channel stream to write to.
  16. \fIstream_id\fP - substream ID number (e.g. 0 or SSH_EXTENDED_DATA_STDERR)
  17. \fIbuf\fP - pointer to buffer to write
  18. \fIbuflen\fP - size of the data to write
  19. \fIlibssh2_channel_write(3)\fP and \fIlibssh2_channel_write_stderr(3)\fP are
  20. convenience macros for this function.
  21. \fIlibssh2_channel_write_ex(3)\fP will use as much as possible of the buffer
  22. and put it into a single SSH protocol packet. This means that to get maximum
  23. performance when sending larger files, you should try to always pass in at
  24. least 32K of data to this function.
  25. .SH RETURN VALUE
  26. Actual number of bytes written or negative on failure.
  27. LIBSSH2_ERROR_EAGAIN when it would otherwise block. While
  28. LIBSSH2_ERROR_EAGAIN is a negative number, it isn't really a failure per se.
  29. .SH ERRORS
  30. \fILIBSSH2_ERROR_ALLOC\fP - An internal memory allocation call failed.
  31. \fILIBSSH2_ERROR_SOCKET_SEND\fP - Unable to send data on socket.
  32. \fILIBSSH2_ERROR_CHANNEL_CLOSED\fP - The channel has been closed.
  33. \fILIBSSH2_ERROR_CHANNEL_EOF_SENT\fP - The channel has been requested to be
  34. closed.
  35. .SH SEE ALSO
  36. .BR libssh2_channel_open_ex(3)
  37. .BR libssh2_channel_read_ex(3)