X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/putty/blobdiff_plain/ca20bfcf9f32391ac683100cd3f1bfeb48083236..6908fed739ac49c43d4400ef572e0811a0ac676e:/putty.h diff --git a/putty.h b/putty.h index 55adf213..5a521cb3 100644 --- a/putty.h +++ b/putty.h @@ -66,6 +66,7 @@ #define UCSERR (ATTR_LINEDRW|'a') /* UCS Format error character. */ #define UCSWIDE 0x303F +#define ATTR_NARROW 0x20000000UL #define ATTR_WIDE 0x10000000UL #define ATTR_BOLD 0x01000000UL #define ATTR_UNDER 0x02000000UL @@ -92,27 +93,17 @@ typedef HDC Context; GLOBAL int rows, cols, savelines; -GLOBAL int font_width, font_height; - -#define INBUF_SIZE 2048 -GLOBAL unsigned char inbuf[INBUF_SIZE]; -GLOBAL int inbuf_head; - -#define OUTBUF_SIZE 2048 -#define OUTBUF_MASK (OUTBUF_SIZE-1) -GLOBAL unsigned char outbuf[OUTBUF_SIZE]; -GLOBAL int outbuf_head, outbuf_reap; - GLOBAL int has_focus; GLOBAL int in_vbell; -GLOBAL long vbell_timeout; +GLOBAL unsigned long vbell_startpoint; GLOBAL int app_cursor_keys, app_keypad_keys, vt52_mode; GLOBAL int repeat_off, cr_lf_return; GLOBAL int seen_key_event; GLOBAL int seen_disp_event; +GLOBAL int alt_pressed; GLOBAL int session_closed; @@ -247,8 +238,12 @@ typedef struct { int ping_interval; /* in seconds */ /* SSH options */ char remote_cmd[512]; + char remote_cmd2[512]; /* fallback if the first fails + * (used internally for scp) */ char *remote_cmd_ptr; /* might point to a larger command * but never for loading/saving */ + char *remote_cmd_ptr2; /* might point to a larger command + * but never for loading/saving */ int nopty; int compression; int agentfwd; @@ -258,6 +253,7 @@ typedef struct { int buggymac; /* MAC bug commmercial <=v2.3.x SSH2 */ int try_tis_auth; int ssh_subsys; /* run a subsystem rather than a command */ + int ssh_subsys2; /* fallback to go with remote_cmd2 */ /* Telnet options */ char termtype[32]; char termspeed[32]; @@ -282,6 +278,7 @@ typedef struct { int localecho; int localedit; int alwaysontop; + int fullscreenonaltenter; int scroll_on_key; int scroll_on_disp; int compose_key; @@ -306,7 +303,8 @@ typedef struct { int bellovl_s; /* period of silence to re-enable bell (s) */ char bell_wavefile[FILENAME_MAX]; int scrollbar; - int locksize; + int scrollbar_in_fullscreen; + enum { RESIZE_TERM, RESIZE_DISABLED, RESIZE_FONT } resize_action; int bce; int blinktext; int win_name_always; @@ -320,6 +318,7 @@ typedef struct { int logxfovr; int hide_mouseptr; int sunken_edge; + int window_border; char answerback[256]; /* Colour options */ int try_palette; @@ -327,11 +326,14 @@ typedef struct { unsigned char colours[22][3]; /* Selection options */ int mouse_is_xterm; + int rect_select; int rawcnp; + int mouse_override; short wordness[256]; /* translations */ VT_Mode vtmode; - char line_codepage[32]; + char line_codepage[128]; + int xlat_capslockcyr; /* X11 forwarding */ int x11_forward; char x11_display[128]; @@ -379,9 +381,10 @@ struct RSAKey; /* be a little careful of scope */ /* * Exports from window.c. */ -void request_resize(int, int, int); +void request_resize(int, int); void do_text(Context, int, int, char *, int, unsigned long, int); void do_cursor(Context, int, int, char *, int, unsigned long, int); +int CharWidth(Context ctx, int uc); void set_title(char *); void set_icon(char *); void set_sbar(int, int, int); @@ -450,7 +453,7 @@ void term_paint(Context, int, int, int, int); void term_scroll(int, int); void term_pwron(void); void term_clrsb(void); -void term_mouse(Mouse_Button, Mouse_Action, int, int, int, int); +void term_mouse(Mouse_Button, Mouse_Action, int, int, int, int, int); void term_deselect(void); void term_update(void); void term_invalidate(void); @@ -494,7 +497,7 @@ extern Backend ssh_backend; * Exports from ldisc.c. */ -extern void ldisc_send(char *buf, int len); +extern void ldisc_send(char *buf, int len, int interactive); /* * Exports from sshrand.c. @@ -529,8 +532,9 @@ void EnableSizeTip(int bEnable); #define CP_UTF8 65001 #endif void init_ucs_tables(void); -void lpage_send(int codepage, char *buf, int len); -void luni_send(wchar_t * widebuf, int len); +void lpage_send(int codepage, char *buf, int len, int interactive); +void luni_send(wchar_t * widebuf, int len, int interactive); +wchar_t xlat_uskbd2cyrllic(int ch); int check_compose(int first, int second); int decode_codepage(char *cp_name); char *cp_enumerate (int index); @@ -550,5 +554,11 @@ void crypto_wrapup(); void agent_query(void *in, int inlen, void **out, int *outlen); int agent_exists(void); +/* + * Exports from wildcard.c + */ +const char *wc_error(int value); +int wc_match(const char *wildcard, const char *target); +int wc_unescape(char *output, const char *wildcard); #endif