X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/f7f273099c8798f70611550bfc06b417e5c28ac7..7bd5e05c6199b1904ecf8ca084990825fa62c533:/winstuff.h diff --git a/winstuff.h b/winstuff.h index f21053f7..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,7 +32,12 @@ #endif #endif -typedef struct config_tag Config; /* duplicated from putty.h */ +#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" @@ -46,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 @@ -54,6 +87,31 @@ GLOBAL HINSTANCE hinst; #define WM_NETEVENT (WM_XUSER + 5) /* + * On Windows, we send MA_2CLK as the only event marking the second + * press of a mouse button. Compare unix.h. + */ +#define MULTICLICK_ONLY_EVENT 1 + +/* + * On Windows, data written to the clipboard must be NUL-terminated. + */ +#define SELECTION_NUL_TERMINATED 1 + +/* + * On Windows, copying to the clipboard terminates lines with CRLF. + */ +#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. */ @@ -135,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. @@ -143,24 +202,20 @@ void fwdsetter(struct ctlpos *cp, int listid, char *stext, int sid, void defuse_showwindow(void); int do_config(void); int do_reconfig(HWND); -void do_defaults(char *, Config *); -void logevent(char *); void showeventlog(HWND); void showabout(HWND); -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); -void registry_cleanup(void); void force_normal(HWND hwnd); -GLOBAL int nsessions; -GLOBAL char **sessions; - /* * Exports from sizetip.c. */ void UpdateSizeTip(HWND src, int cx, int cy); void EnableSizeTip(int bEnable); +/* + * Exports from unicode.c. + */ +struct unicode_data; +void init_ucs(Config *, struct unicode_data *); + #endif