1libssh2_channel_write_ex(3)         libssh2        libssh2_channel_write_ex(3)
2
3
4

NAME

6       libssh2_channel_write_ex - write data to a channel stream blocking
7

SYNOPSIS

9       #include <libssh2.h>
10
11       ssize_t
12       libssh2_channel_write_ex(LIBSSH2_CHANNEL *channel,
13                                int stream_id, char *buf,
14                                size_t buflen);
15

DESCRIPTION

17       Write  data  to a channel stream. All channel streams have one standard
18       I/O substream (stream_id == 0), and may have up to 2^32  extended  data
19       streams as identified by the selected stream_id. The SSH2 protocol cur‐
20       rently defines a stream ID of 1 to be the stderr substream.
21
22       channel - active channel stream to write to.
23
24       stream_id - substream ID number (e.g. 0 or SSH_EXTENDED_DATA_STDERR)
25
26       buf - pointer to buffer to write
27
28       buflen - size of the data to write
29
30       libssh2_channel_write(3) and libssh2_channel_write_stderr(3) are conve‐
31       nience macros for this function.
32
33       libssh2_channel_write_ex(3)  will use as much as possible of the buffer
34       and put it into a single SSH protocol packet. This means  that  to  get
35       maximum performance when sending larger files, you should try to always
36       pass in at least 32K of data to this function.
37

RETURN VALUE

39       Actual number of bytes written or  negative  on  failure.   LIBSSH2_ER‐
40       ROR_EAGAIN when it would otherwise block. While LIBSSH2_ERROR_EAGAIN is
41       a negative number, it is not really a failure per se.
42

ERRORS

44       LIBSSH2_ERROR_ALLOC - An internal memory allocation call failed.
45
46       LIBSSH2_ERROR_SOCKET_SEND - Unable to send data on socket.
47
48       LIBSSH2_ERROR_CHANNEL_CLOSED - The channel has been closed.
49
50       LIBSSH2_ERROR_CHANNEL_EOF_SENT - The channel has been requested to be
51
52       LIBSSH2_ERROR_BAD_USE - This can be returned if you ignored a  previous
53       return  for  LIBSSH2_ERROR_EAGAIN  and rather than sending the original
54       buffer with the original size, you sent a new buffer with  a  different
55       size.
56
57       closed.
58

SEE ALSO

60       libssh2_channel_open_ex(3) libssh2_channel_read_ex(3)
61
62
63
64libssh2 0.15                      1 Jun 2007       libssh2_channel_write_ex(3)
Impressum