X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/putty/blobdiff_plain/7a740703aba7a59d6ed578ec6b311f47036cb71f..cd9778e2a90ef89d10970f5483b2dcebc797d078:/winstuff.h diff --git a/winstuff.h b/winstuff.h index dadce6e0..1cbe5b78 100644 --- a/winstuff.h +++ b/winstuff.h @@ -5,6 +5,20 @@ #ifndef PUTTY_WINSTUFF_H #define PUTTY_WINSTUFF_H +#include /* for FILENAME_MAX */ + +struct Filename { + char path[FILENAME_MAX]; +}; +#define f_open(filename, mode) ( fopen((filename).path, (mode)) ) + +struct FontSpec { + char name[64]; + int isbold; + int height; + int charset; +}; + /* * Global variables. Most modules declare these `extern', but * window.c will do `#define PUTTY_DO_GLOBALS' before including this @@ -18,6 +32,13 @@ #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" @@ -44,6 +65,20 @@ GLOBAL HWND logbox; GLOBAL HINSTANCE hinst; /* + * Details of the help file. + */ +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 @@ -68,6 +103,15 @@ GLOBAL HINSTANCE hinst; #define SEL_NL { 13, 10 } /* + * sk_getxdmdata() does not exist under Windows (not that I + * couldn't write it if I wanted to, but I haven't bothered), so + * it's a macro which always returns FALSE. With any luck this will + * cause the compiler to notice it can optimise away the + * implementation of XDM-AUTHORIZATION-1 in x11fwd.c :-) + */ +#define sk_getxdmdata(socket, ip, port) (0) + +/* * Exports from winctrls.c. */ @@ -149,7 +193,8 @@ void progressbar(struct ctlpos *cp, int id); void fwdsetter(struct ctlpos *cp, int listid, char *stext, int sid, char *e1stext, int e1sid, int e1id, char *e2stext, int e2sid, int e2id, - char *btext, int bid); + char *btext, int bid, + char *r1text, int r1id, char *r2text, int r2id); /* * Exports from windlg.c. @@ -168,12 +213,9 @@ void UpdateSizeTip(HWND src, int cx, int cy); void EnableSizeTip(int bEnable); /* - * Unicode and multi-byte character handling stuff. + * Exports from unicode.c. */ -#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, mbstr, mblen, wcstr, wclen, def,defused) +struct unicode_data; +void init_ucs(Config *, struct unicode_data *); #endif