First crack at `terminal-modes' in SSH. PuTTY now sends ERASE by default,
[u/mdw/putty] / putty.h
diff --git a/putty.h b/putty.h
index 43a66e6..0dfb42c 100644 (file)
--- a/putty.h
+++ b/putty.h
@@ -261,6 +261,7 @@ enum {
     CIPHER_BLOWFISH,
     CIPHER_AES,                               /* (SSH-2 only) */
     CIPHER_DES,
+    CIPHER_ARCFOUR,
     CIPHER_MAX                        /* no. ciphers (inc warn) */
 };
 
@@ -323,6 +324,8 @@ enum {
     FUNKY_SCO
 };
 
+extern const char *const ttymodes[];
+
 enum {
     /*
      * Network address types. Used for specifying choice of IPv4/v6
@@ -437,6 +440,7 @@ struct config_tag {
     /* Telnet options */
     char termtype[32];
     char termspeed[32];
+    char ttymodes[768];                       /* MODE\tVvalue\0MODE\tA\0\0 */
     char environmt[1024];             /* VAR\tvalue\0VAR\tvalue\0\0 */
     char username[100];
     char localusername[100];
@@ -605,7 +609,7 @@ GLOBAL int loaded_session;
 struct RSAKey;                        /* be a little careful of scope */
 
 /*
- * Exports from window.c.
+ * Exports from the front end.
  */
 void request_resize(void *frontend, int, int);
 void do_text(Context, int, int, wchar_t *, int, unsigned long, int);
@@ -646,6 +650,9 @@ void ldisc_update(void *frontend, int echo, int edit);
 void update_specials_menu(void *frontend);
 int from_backend(void *frontend, int is_stderr, const char *data, int len);
 void notify_remote_exit(void *frontend);
+/* Get a sensible value for a tty mode. NULL return = don't set.
+ * Otherwise, returned value should be freed by caller. */
+char *get_ttymode(void *frontend, const char *mode);
 #define OPTIMISE_IS_SCROLL 1
 
 void set_iconic(void *frontend, int iconic);
@@ -740,6 +747,7 @@ void term_provide_resize_fn(Terminal *term,
                            void *resize_ctx);
 void term_provide_logctx(Terminal *term, void *logctx);
 void term_set_focus(Terminal *term, int has_focus);
+char *term_get_ttymode(Terminal *term, const char *mode);
 
 /*
  * Exports from logging.c.
@@ -868,10 +876,10 @@ void get_unitab(int codepage, wchar_t * unitab, int ftype);
 /*
  * Exports from wcwidth.c
  */
-int wcwidth(wchar_t ucs);
-int wcswidth(const wchar_t *pwcs, size_t n);
-int wcwidth_cjk(wchar_t ucs);
-int wcswidth_cjk(const wchar_t *pwcs, size_t n);
+int mk_wcwidth(wchar_t ucs);
+int mk_wcswidth(const wchar_t *pwcs, size_t n);
+int mk_wcwidth_cjk(wchar_t ucs);
+int mk_wcswidth_cjk(const wchar_t *pwcs, size_t n);
 
 /*
  * Exports from mscrypto.c
@@ -980,8 +988,8 @@ void cmdline_error(char *, ...);
  * Exports from config.c.
  */
 struct controlbox;
-void setup_config_box(struct controlbox *b, struct sesslist *sesslist,
-                     int midsession, int protocol, int protcfginfo);
+void setup_config_box(struct controlbox *b, int midsession,
+                     int protocol, int protcfginfo);
 
 /*
  * Exports from minibidi.c.