Only engage a GTK idle function when absolutely necessary, otherwise
[u/mdw/putty] / putty.h
diff --git a/putty.h b/putty.h
index 67457be..f0b93a5 100644 (file)
--- a/putty.h
+++ b/putty.h
@@ -17,6 +17,7 @@
 #endif
 
 typedef struct config_tag Config;
+typedef struct backend_tag Backend;
 
 #include "puttyps.h"
 #include "network.h"
@@ -98,8 +99,6 @@ typedef struct config_tag Config;
 #define ATTR_CUR_AND (~(ATTR_BOLD|ATTR_REVERSE|ATTR_BLINK|ATTR_COLOURS))
 #define ATTR_CUR_XOR 0x00BA0000UL
 
-#define SEL_NL { 13, 10 }
-
 GLOBAL int rows, cols, savelines;
 
 GLOBAL int has_focus;
@@ -121,6 +120,9 @@ GLOBAL int big_cursor;
 GLOBAL char *help_path;
 GLOBAL int help_has_contents;
 
+GLOBAL int nsessions;
+GLOBAL char **sessions;
+
 GLOBAL int utf;
 GLOBAL int dbcs_screenfont;
 GLOBAL int font_codepage;
@@ -141,7 +143,6 @@ GLOBAL unsigned char unitab_ctrl[256];
 #define LGTYP_ASCII 1                 /* logmode: pure ascii */
 #define LGTYP_DEBUG 2                 /* logmode: all chars of traffic */
 #define LGTYP_PACKETS 3                       /* logmode: SSH data packets */
-GLOBAL char *logfile;
 
 typedef enum {
     TS_AYT, TS_BRK, TS_SYNCH, TS_EC, TS_EL, TS_GA, TS_NOP, TS_ABORT,
@@ -200,7 +201,7 @@ enum {
     COE_ALWAYS                        /* Always close the window */
 };
 
-typedef struct {
+struct backend_tag {
     char *(*init) (char *host, int port, char **realhost, int nodelay);
     /* back->send() returns the current amount of buffered data. */
     int (*send) (char *buf, int len);
@@ -218,7 +219,7 @@ typedef struct {
      */
     void (*unthrottle) (int);
     int default_port;
-} Backend;
+};
 
 GLOBAL Backend *back;
 
@@ -428,9 +429,11 @@ void set_raw_mouse_mode(int);
 Mouse_Button translate_button(Mouse_Button b);
 void connection_fatal(char *, ...);
 void fatalbox(char *, ...);
+void modalfatalbox(char *, ...);
 void beep(int);
 void begin_session(void);
 void sys_cursor(int x, int y);
+void request_paste(void);
 #define OPTIMISE_IS_SCROLL 1
 
 void set_iconic(int iconic);
@@ -461,6 +464,8 @@ void random_destroy_seed(void);
 void save_settings(char *section, int do_host, Config * cfg);
 void load_settings(char *section, int do_host, Config * cfg);
 void get_sesslist(int allocate);
+void do_defaults(char *, Config *);
+void registry_cleanup(void);
 
 /*
  * Exports from terminal.c.
@@ -479,6 +484,7 @@ void term_update(void);
 void term_invalidate(void);
 void term_blink(int set_cursor);
 void term_do_paste(void);
+int term_paste_pending(void);
 void term_paste(void);
 void term_nopaste(void);
 int term_ldisc(int option);
@@ -590,6 +596,15 @@ int wc_match(const char *wildcard, const char *target);
 int wc_unescape(char *output, const char *wildcard);
 
 /*
+ * Exports from windlg.c
+ */
+void logevent(char *);
+void verify_ssh_host_key(char *host, int port, char *keytype,
+                        char *keystr, char *fingerprint);
+void askcipher(char *ciphername, int cs);
+int askappend(char *filename);
+
+/*
  * Exports from console.c (that aren't equivalents to things in
  * windlg.c).
  */