Change the term_mouse interface a little so that it gets passed
[u/mdw/putty] / putty.h
diff --git a/putty.h b/putty.h
index 7f0f781..c8f95ff 100644 (file)
--- a/putty.h
+++ b/putty.h
@@ -189,6 +189,7 @@ enum {
 struct backend_tag {
     char *(*init) (void *frontend_handle, void **backend_handle, Config *cfg,
                   char *host, int port, char **realhost, int nodelay);
+    void (*free) (void *handle);
     /* back->reconfig() passes in a replacement configuration. */
     void (*reconfig) (void *handle, Config *cfg);
     /* back->send() returns the current amount of buffered data. */
@@ -217,6 +218,12 @@ extern struct backend_list {
     Backend *backend;
 } backends[];
 
+/*
+ * Suggested default protocol provided by the backend link module.
+ * The application is free to ignore this.
+ */
+extern const int be_default_protocol;
+
 struct config_tag {
     /* Basic options */
     char host[512];
@@ -371,17 +378,6 @@ struct config_tag {
 };
 
 /*
- * You can compile with -DSSH_DEFAULT to have ssh by default.
- */
-#ifndef SSH_DEFAULT
-#define DEFAULT_PROTOCOL PROT_TELNET
-#define DEFAULT_PORT 23
-#else
-#define DEFAULT_PROTOCOL PROT_SSH
-#define DEFAULT_PORT 22
-#endif
-
-/*
  * Some global flags denoting the type of application.
  * 
  * FLAG_VERBOSE is set when the user requests verbose details.
@@ -436,7 +432,6 @@ void write_clip(void *frontend, wchar_t *, int, int);
 void get_clip(void *frontend, wchar_t **, int *);
 void optimised_move(void *frontend, int, int, int);
 void set_raw_mouse_mode(void *frontend, int);
-Mouse_Button translate_button(void *frontend, Mouse_Button b);
 void connection_fatal(void *frontend, char *, ...);
 void fatalbox(char *, ...);
 void modalfatalbox(char *, ...);
@@ -478,6 +473,7 @@ void random_destroy_seed(void);
  * Exports from settings.c.
  */
 void save_settings(char *section, int do_host, Config * cfg);
+void save_open_settings(void *sesskey, int do_host, Config *cfg);
 void load_settings(char *section, int do_host, Config * cfg);
 void load_open_settings(void *sesskey, int do_host, Config *cfg);
 void get_sesslist(struct sesslist *, int allocate);
@@ -501,13 +497,15 @@ int platform_default_i(const char *name, int def);
  */
 
 Terminal *term_init(Config *, struct unicode_data *, void *);
+void term_free(Terminal *);
 void term_size(Terminal *, int, int, int);
 void term_out(Terminal *);
 void term_paint(Terminal *, Context, int, int, int, int, int);
 void term_scroll(Terminal *, int, int);
 void term_pwron(Terminal *);
 void term_clrsb(Terminal *);
-void term_mouse(Terminal *, Mouse_Button, Mouse_Action, int,int,int,int,int);
+void term_mouse(Terminal *, Mouse_Button, Mouse_Button, Mouse_Action,
+               int,int,int,int,int);
 void term_deselect(Terminal *);
 void term_update(Terminal *);
 void term_invalidate(Terminal *);
@@ -530,6 +528,7 @@ void term_provide_logctx(Terminal *term, void *logctx);
  * Exports from logging.c.
  */
 void *log_init(void *frontend, Config *cfg);
+void log_free(void *logctx);
 void log_reconfig(void *logctx, Config *cfg);
 void logfopen(void *logctx);
 void logfclose(void *logctx);
@@ -579,6 +578,7 @@ extern Backend ssh_backend;
  * Exports from ldisc.c.
  */
 void *ldisc_create(Config *, Terminal *, Backend *, void *, void *);
+void ldisc_free(void *);
 void ldisc_send(void *handle, char *buf, int len, int interactive);
 
 /*
@@ -670,6 +670,7 @@ int askappend(void *frontend, char *filename);
  */
 extern int console_batch_mode;
 int console_get_line(const char *prompt, char *str, int maxlen, int is_pw);
+void console_provide_logctx(void *logctx);
 
 /*
  * Exports from printing.c.