X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/86916870d36cb70e7ef0ea760e75a6ae8b2d83a5..c85623f918b8a6c639afc15604414f9b113bb20d:/putty.h diff --git a/putty.h b/putty.h index 65a99ebe..7f0f781b 100644 --- a/putty.h +++ b/putty.h @@ -108,15 +108,18 @@ struct sesslist { char *buffer; /* so memory can be freed later */ }; -GLOBAL int dbcs_screenfont; -GLOBAL int font_codepage; -GLOBAL int line_codepage; -GLOBAL wchar_t unitab_scoacs[256]; -GLOBAL wchar_t unitab_line[256]; -GLOBAL wchar_t unitab_font[256]; -GLOBAL wchar_t unitab_xterm[256]; -GLOBAL wchar_t unitab_oemcp[256]; -GLOBAL unsigned char unitab_ctrl[256]; +struct unicode_data { + char **uni_tbl; + int dbcs_screenfont; + int font_codepage; + int line_codepage; + wchar_t unitab_scoacs[256]; + wchar_t unitab_line[256]; + wchar_t unitab_font[256]; + wchar_t unitab_xterm[256]; + wchar_t unitab_oemcp[256]; + unsigned char unitab_ctrl[256]; +}; #define LGXF_OVR 1 /* existing logfile overwrite */ #define LGXF_APN 0 /* existing logfile append */ @@ -409,9 +412,6 @@ GLOBAL int flags; GLOBAL int default_protocol; GLOBAL int default_port; -/* This variable, OTOH, needs to be made non-global ASAP. FIXME. */ -GLOBAL Config cfg; - struct RSAKey; /* be a little careful of scope */ /* @@ -493,14 +493,14 @@ void registry_cleanup(void); * which I can reliably set aside to indicate `nil'. The string * function is perfectly all right returning NULL, of course.) */ -char *platform_default_s(char *name); -int platform_default_i(char *name, int def); +char *platform_default_s(const char *name); +int platform_default_i(const char *name, int def); /* * Exports from terminal.c. */ -Terminal *term_init(Config *, void *); +Terminal *term_init(Config *, struct unicode_data *, void *); void term_size(Terminal *, int, int, int); void term_out(Terminal *); void term_paint(Terminal *, Context, int, int, int, int, int); @@ -529,7 +529,8 @@ void term_provide_logctx(Terminal *term, void *logctx); /* * Exports from logging.c. */ -void *log_init(void *frontend); +void *log_init(void *frontend, Config *cfg); +void log_reconfig(void *logctx, Config *cfg); void logfopen(void *logctx); void logfclose(void *logctx); void logtraffic(void *logctx, unsigned char c, int logmode); @@ -618,7 +619,8 @@ int is_dbcs_leadbyte(int codepage, char byte); int mb_to_wc(int codepage, int flags, char *mbstr, int mblen, wchar_t *wcstr, int wclen); int wc_to_mb(int codepage, int flags, wchar_t *wcstr, int wclen, - char *mbstr, int mblen, char *defchr, int *defused); + char *mbstr, int mblen, char *defchr, int *defused, + struct unicode_data *ucsdata); wchar_t xlat_uskbd2cyrllic(int ch); int check_compose(int first, int second); int decode_codepage(char *cp_name);