| 127 |
static BOOL SSH_agent_response(PTInstVar pvar, Channel_t *c, int local_channel_num, unsigned char *data, unsigned int buflen); |
static BOOL SSH_agent_response(PTInstVar pvar, Channel_t *c, int local_channel_num, unsigned char *data, unsigned int buflen); |
| 128 |
static void ssh2_scp_get_packetlist(Channel_t *c, unsigned char **buf, unsigned int *buflen); |
static void ssh2_scp_get_packetlist(Channel_t *c, unsigned char **buf, unsigned int *buflen); |
| 129 |
static void ssh2_scp_free_packetlist(Channel_t *c); |
static void ssh2_scp_free_packetlist(Channel_t *c); |
| 130 |
|
static void get_window_pixel_size(PTInstVar pvar, int *x, int *y); |
| 131 |
|
|
| 132 |
// |
// |
| 133 |
// Global request confirm |
// Global request confirm |
| 2197 |
static const int msgs[] = { SSH_SMSG_SUCCESS, SSH_SMSG_FAILURE }; |
static const int msgs[] = { SSH_SMSG_SUCCESS, SSH_SMSG_FAILURE }; |
| 2198 |
static const SSHPacketHandler handlers[] |
static const SSHPacketHandler handlers[] |
| 2199 |
= { handle_pty_success, handle_pty_failure }; |
= { handle_pty_success, handle_pty_failure }; |
| 2200 |
|
int x, y; |
| 2201 |
|
|
| 2202 |
|
get_window_pixel_size(pvar, &x, &y); |
| 2203 |
|
|
| 2204 |
set_uint32(outmsg, len); |
set_uint32(outmsg, len); |
| 2205 |
memcpy(outmsg + 4, pvar->ts->TermType, len); |
memcpy(outmsg + 4, pvar->ts->TermType, len); |
| 2206 |
set_uint32(outmsg + 4 + len, pvar->ssh_state.win_rows); |
set_uint32(outmsg + 4 + len, pvar->ssh_state.win_rows); |
| 2207 |
set_uint32(outmsg + 4 + len + 4, pvar->ssh_state.win_cols); |
set_uint32(outmsg + 4 + len + 4, pvar->ssh_state.win_cols); |
| 2208 |
set_uint32(outmsg + 4 + len + 8, 0); |
set_uint32(outmsg + 4 + len + 8, x); |
| 2209 |
set_uint32(outmsg + 4 + len + 12, 0); |
set_uint32(outmsg + 4 + len + 12, y); |
| 2210 |
memcpy(outmsg + 4 + len + 16, ssh_ttymodes, sizeof(ssh_ttymodes)); |
memcpy(outmsg + 4 + len + 16, ssh_ttymodes, sizeof(ssh_ttymodes)); |
| 2211 |
finish_send_packet(pvar); |
finish_send_packet(pvar); |
| 2212 |
|
|
| 2818 |
} |
} |
| 2819 |
} |
} |
| 2820 |
|
|
| 2821 |
void get_window_pixel_size(PTInstVar pvar, int *x, int *y) |
static void get_window_pixel_size(PTInstVar pvar, int *x, int *y) |
| 2822 |
{ |
{ |
| 2823 |
RECT r; |
RECT r; |
| 2824 |
|
|
| 2841 |
pvar->ssh_state.win_cols = cols; |
pvar->ssh_state.win_cols = cols; |
| 2842 |
pvar->ssh_state.win_rows = rows; |
pvar->ssh_state.win_rows = rows; |
| 2843 |
|
|
| 2844 |
|
get_window_pixel_size(pvar, &x, &y); |
| 2845 |
|
|
| 2846 |
if (SSHv1(pvar)) { |
if (SSHv1(pvar)) { |
| 2847 |
if (get_handler(pvar, SSH_SMSG_STDOUT_DATA) == handle_data) { |
if (get_handler(pvar, SSH_SMSG_STDOUT_DATA) == handle_data) { |
| 2848 |
unsigned char FAR *outmsg = |
unsigned char FAR *outmsg = |
| 2850 |
|
|
| 2851 |
set_uint32(outmsg, rows); |
set_uint32(outmsg, rows); |
| 2852 |
set_uint32(outmsg + 4, cols); |
set_uint32(outmsg + 4, cols); |
| 2853 |
set_uint32(outmsg + 8, 0); |
set_uint32(outmsg + 8, x); |
| 2854 |
set_uint32(outmsg + 12, 0); |
set_uint32(outmsg + 12, y); |
| 2855 |
finish_send_packet(pvar); |
finish_send_packet(pvar); |
| 2856 |
} |
} |
| 2857 |
|
|
| 2878 |
buffer_put_char(msg, 0); // wantconfirm |
buffer_put_char(msg, 0); // wantconfirm |
| 2879 |
buffer_put_int(msg, pvar->ssh_state.win_cols); // columns |
buffer_put_int(msg, pvar->ssh_state.win_cols); // columns |
| 2880 |
buffer_put_int(msg, pvar->ssh_state.win_rows); // lines |
buffer_put_int(msg, pvar->ssh_state.win_rows); // lines |
|
get_window_pixel_size(pvar, &x, &y); |
|
| 2881 |
buffer_put_int(msg, x); // window width (pixel): |
buffer_put_int(msg, x); // window width (pixel): |
| 2882 |
buffer_put_int(msg, y); // window height (pixel): |
buffer_put_int(msg, y); // window height (pixel): |
| 2883 |
len = buffer_len(msg); |
len = buffer_len(msg); |