24 #include "libssh/priv.h"
30 enum ssh_channel_request_state_e {
32 SSH_CHANNEL_REQ_STATE_NONE = 0,
34 SSH_CHANNEL_REQ_STATE_PENDING,
36 SSH_CHANNEL_REQ_STATE_ACCEPTED,
38 SSH_CHANNEL_REQ_STATE_DENIED,
40 SSH_CHANNEL_REQ_STATE_ERROR
43 enum ssh_channel_state_e {
44 SSH_CHANNEL_STATE_NOT_OPEN = 0,
45 SSH_CHANNEL_STATE_OPEN_DENIED,
46 SSH_CHANNEL_STATE_OPEN,
47 SSH_CHANNEL_STATE_CLOSED
50 struct ssh_channel_struct {
52 uint32_t local_channel;
53 uint32_t local_window;
55 uint32_t local_maxpacket;
57 uint32_t remote_channel;
58 uint32_t remote_window;
60 uint32_t remote_maxpacket;
61 enum ssh_channel_state_e state;
63 ssh_buffer stdout_buffer;
64 ssh_buffer stderr_buffer;
69 enum ssh_channel_request_state_e request_state;
70 ssh_channel_callbacks callbacks;
87 int channel_default_bufferize(ssh_channel channel,
void *data,
int len,
89 uint32_t ssh_channel_new_id(ssh_session session);
90 ssh_channel ssh_channel_from_local(ssh_session session, uint32_t
id);
91 int channel_write_common(ssh_channel channel,
const void *data,
92 uint32_t len,
int is_stderr);
99 int channel_open_session1(ssh_channel channel);
100 int channel_request_pty_size1(ssh_channel channel,
const char *terminal,
102 int channel_change_pty_size1(ssh_channel channel,
int cols,
int rows);
103 int channel_request_shell1(ssh_channel channel);
104 int channel_request_exec1(ssh_channel channel,
const char *cmd);
105 int channel_write1(ssh_channel channel,
const void *data,
int len);
106 ssh_channel ssh_get_channel1(ssh_session session);