X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/7fcdebd3060d3ff2f7f5e366f3a7167beb4da9ba..26d1da7b02a1b4190877777183bd7be2087bc6d2:/putty.h diff --git a/putty.h b/putty.h index 96447bc2..60aed037 100644 --- a/putty.h +++ b/putty.h @@ -224,7 +224,8 @@ enum { /* * Proxy types. */ - PROXY_NONE, PROXY_HTTP, PROXY_SOCKS, PROXY_TELNET + PROXY_NONE, PROXY_SOCKS4, PROXY_SOCKS5, + PROXY_HTTP, PROXY_TELNET, PROXY_CMD }; enum { @@ -242,7 +243,7 @@ enum { enum { /* Bell settings (cfg.beep) */ - BELL_DISABLED, BELL_DEFAULT, BELL_VISUAL, BELL_WAVEFILE + BELL_DISABLED, BELL_DEFAULT, BELL_VISUAL, BELL_WAVEFILE, BELL_PCSPEAKER }; enum { @@ -266,8 +267,9 @@ enum { }; struct backend_tag { - char *(*init) (void *frontend_handle, void **backend_handle, Config *cfg, - char *host, int port, char **realhost, int nodelay); + const char *(*init) (void *frontend_handle, void **backend_handle, + Config *cfg, + char *host, int port, char **realhost, int nodelay); void (*free) (void *handle); /* back->reconfig() passes in a replacement configuration. */ void (*reconfig) (void *handle, Config *cfg); @@ -337,7 +339,6 @@ struct config_tag { char proxy_username[32]; char proxy_password[32]; char proxy_telnet_command[512]; - int proxy_socks_version; /* SSH options */ char remote_cmd[512]; char remote_cmd2[512]; /* fallback if the first fails @@ -428,6 +429,7 @@ struct config_tag { char answerback[256]; char printer[128]; /* Colour options */ + int system_colour; int try_palette; int bold_colour; unsigned char colours[22][3]; @@ -469,6 +471,7 @@ struct config_tag { int stamp_utmp; int login_shell; int scrollbar_on_left; + int shadowbold; FontSpec boldfont; FontSpec widefont; FontSpec wideboldfont; @@ -492,6 +495,10 @@ struct config_tag { * These flags describe the type of _application_ - they wouldn't * vary between individual sessions - and so it's OK to have this * variable be GLOBAL. + * + * Note that additional flags may be defined in platform-specific + * headers. It's probably best if those ones start from 0x1000, to + * avoid collision. */ #define FLAG_VERBOSE 0x0001 #define FLAG_STDERR 0x0002 @@ -639,7 +646,7 @@ void log_reconfig(void *logctx, Config *cfg); void logfopen(void *logctx); void logfclose(void *logctx); void logtraffic(void *logctx, unsigned char c, int logmode); -void log_eventlog(void *logctx, char *string); +void log_eventlog(void *logctx, const char *string); enum { PKT_INCOMING, PKT_OUTGOING }; void log_packet(void *logctx, int direction, int type, char *texttype, void *data, int len); @@ -749,9 +756,19 @@ void crypto_wrapup(); #endif /* - * Exports from pageantc.c + * Exports from pageantc.c. + * + * agent_query returns 1 for here's-a-response, and 0 for query-in- + * progress. In the latter case there will be a call to `callback' + * at some future point, passing callback_ctx as the first + * parameter and the actual reply data as the second and third. + * + * The response may be a NULL pointer (in either of the synchronous + * or asynchronous cases), which indicates failure to receive a + * response. */ -void agent_query(void *in, int inlen, void **out, int *outlen); +int agent_query(void *in, int inlen, void **out, int *outlen, + void (*callback)(void *, void *, int), void *callback_ctx); int agent_exists(void); /* @@ -764,7 +781,7 @@ int wc_unescape(char *output, const char *wildcard); /* * Exports from windlg.c */ -void logevent(void *frontend, char *); +void logevent(void *frontend, const char *); void verify_ssh_host_key(void *frontend, char *host, int port, char *keytype, char *keystr, char *fingerprint); void askcipher(void *frontend, char *ciphername, int cs); @@ -829,5 +846,6 @@ Filename filename_from_str(const char *string); const char *filename_to_str(const Filename *fn); int filename_equal(Filename f1, Filename f2); int filename_is_null(Filename fn); +char *get_username(void); /* return value needs freeing */ #endif