#define ERASE_CHAR (ATTR_DEFAULT | ' ')
#define ATTR_MASK 0xFFFFFF00UL
#define CHAR_MASK 0x000000FFUL
+#define CSET_MASK 0x00F00000UL /* mask for character set */
typedef HDC Context;
#define SEL_NL { 13, 10 }
GLOBAL int has_focus;
+GLOBAL int in_vbell;
+GLOBAL long vbell_timeout;
+
GLOBAL int app_cursor_keys, app_keypad_keys, vt52_mode;
GLOBAL int repeat_off, cr_lf_return;
GLOBAL int session_closed;
+#define LGXF_OVR 1 /* existing logfile overwrite */
+#define LGXF_APN 0 /* existing logfile append */
+#define LGXF_ASK -1 /* existing logfile ask */
#define LGTYP_NONE 0 /* logmode: no logging */
#define LGTYP_ASCII 1 /* logmode: pure ascii */
#define LGTYP_DEBUG 2 /* logmode: all chars of taffic */
} Telnet_Special;
typedef enum {
- MB_NOTHING, MB_SELECT, MB_EXTEND, MB_PASTE
+ MBT_NOTHING,
+ MBT_LEFT, MBT_MIDDLE, MBT_RIGHT, /* `raw' button designations */
+ MBT_SELECT, MBT_EXTEND, MBT_PASTE, /* `cooked' button designations */
+ MBT_WHEEL_UP, MBT_WHEEL_DOWN /* mouse wheel */
} Mouse_Button;
typedef enum {
LD_ECHO /* local echo */
};
+enum {
+ /*
+ * Close On Exit behaviours. (cfg.close_on_exit)
+ */
+ COE_NEVER, /* Never close the window */
+ COE_NORMAL, /* Close window on "normal" (non-error) exits only */
+ COE_ALWAYS /* Always close the window */
+};
+
typedef struct {
char *(*init) (char *host, int port, char **realhost);
void (*send) (char *buf, int len);
int ping_interval; /* in seconds */
/* SSH options */
char remote_cmd[512];
+ char *remote_cmd_ptr; /* might point to a larger command
+ * but never for loading/saving */
int nopty;
int compression;
int agentfwd;
- enum { CIPHER_3DES, CIPHER_BLOWFISH, CIPHER_DES } cipher;
+ enum { CIPHER_3DES, CIPHER_BLOWFISH, CIPHER_DES, CIPHER_AES } cipher;
char keyfile[FILENAME_MAX];
int sshprot; /* use v1 or v2 when both available */
int buggymac; /* MAC bug commmercial <=v2.3.x SSH2 */
int try_tis_auth;
+ int ssh_subsys; /* run a subsystem rather than a command */
/* Telnet options */
char termtype[32];
char termspeed[32];
int scroll_on_key;
int scroll_on_disp;
int compose_key;
+ int ctrlaltkeys;
char wintitle[256]; /* initial window title */
/* Terminal options */
int savelines;
int lfhascr;
int cursor_type; /* 0=block 1=underline 2=vertical */
int blink_cur;
- int beep;
+ enum {
+ BELL_DISABLED, BELL_DEFAULT, BELL_VISUAL, BELL_WAVEFILE
+ } beep;
+ int bellovl; /* bell overload protection active? */
+ int bellovl_n; /* number of bells to cause overload */
+ int bellovl_t; /* time interval for overload (seconds) */
+ int bellovl_s; /* period of silence to re-enable bell (s) */
+ char bell_wavefile[FILENAME_MAX];
int scrollbar;
int locksize;
int bce;
int fontcharset;
char logfilename[FILENAME_MAX];
int logtype;
+ int logxfovr;
int hide_mouseptr;
+ int sunken_edge;
+ char answerback[256];
/* Colour options */
int try_palette;
int bold_colour;
unsigned char colours[22][3];
/* Selection options */
int mouse_is_xterm;
+ int rawcnp;
short wordness[256];
/* translations */
VT_Mode vtmode;
void write_clip (void *, int, int);
void get_clip (void **, int *);
void optimised_move (int, int, int);
+void set_raw_mouse_mode(int);
+Mouse_Button translate_button(Mouse_Button b);
void connection_fatal(char *, ...);
void fatalbox (char *, ...);
void beep (int);
void term_scroll (int, int);
void term_pwron (void);
void term_clrsb (void);
-void term_mouse (Mouse_Button, Mouse_Action, int, int);
+void term_mouse (Mouse_Button, Mouse_Action, int, int, int, int);
void term_deselect (void);
void term_update (void);
void term_invalidate(void);
* Exports from ssh.c.
*/
-extern int (*ssh_get_password)(const char *prompt, char *str, int maxlen);
+extern int (*ssh_get_line)(const char *prompt, char *str, int maxlen,
+ int is_pw);
extern Backend ssh_backend;
/*
* Exports from misc.c.
*/
-#include "puttymem.h"
+#include "misc.h"
/*
* Exports from version.c.
void agent_query(void *in, int inlen, void **out, int *outlen);
int agent_exists(void);
-#ifdef DEBUG
-void dprintf(char *fmt, ...);
-#define debug(x) (dprintf x)
-#else
-#define debug(x)
-#endif
#endif