Further deglobalisation: settings.c now has a more sensible interface.
[u/mdw/putty] / winstuff.h
index d55fc0f..9e62664 100644 (file)
 #endif
 #endif
 
+#ifndef DONE_TYPEDEFS
+#define DONE_TYPEDEFS
+typedef struct config_tag Config;
+typedef struct backend_tag Backend;
+typedef struct terminal_tag Terminal;
+#endif
+
 #define PUTTY_REG_POS "Software\\SimonTatham\\PuTTY"
 #define PUTTY_REG_PARENT "Software\\SimonTatham"
 #define PUTTY_REG_PARENT_CHILD "PuTTY"
@@ -50,6 +57,14 @@ GLOBAL char *help_path;
 GLOBAL int help_has_contents;
 
 /*
+ * The terminal and logging context are notionally local to the
+ * Windows front end, but they must be shared between window.c and
+ * windlg.c. Likewise the saved-sessions list.
+ */
+GLOBAL Terminal *term;
+GLOBAL void *logctx;
+
+/*
  * I've just looked in the windows standard headr files for WM_USER, there
  * are hundreds of flags defined using the form WM_USER+123 so I've 
  * renumbered this NETEVENT value and the two in window.c
@@ -173,13 +188,4 @@ void force_normal(HWND hwnd);
 void UpdateSizeTip(HWND src, int cx, int cy);
 void EnableSizeTip(int bEnable);
 
-/*
- * Unicode and multi-byte character handling stuff.
- */
-#define is_dbcs_leadbyte(cp, c) IsDBCSLeadByteEx(cp, c)
-#define mb_to_wc(cp, flags, mbstr, mblen, wcstr, wclen) \
-       MultiByteToWideChar(cp, flags, mbstr, mblen, wcstr, wclen)
-#define wc_to_mb(cp, flags, wcstr, wclen, mbstr, mblen, def, defused) \
-       WideCharToMultiByte(cp, flags, wcstr, wclen, mbstr, mblen, def,defused)
-
 #endif