X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/4ce3729fbd9188069eb5305e5dceffeb0dfc5b1f..0980c4f28e5909a05be74af88732fddd7086f2f6:/putty.h diff --git a/putty.h b/putty.h index c2a7c453..07d1acf5 100644 --- a/putty.h +++ b/putty.h @@ -245,12 +245,12 @@ enum { enum { /* - * SSH ciphers (both SSH1 and SSH2) + * SSH ciphers (both SSH-1 and SSH-2) */ CIPHER_WARN, /* pseudo 'cipher' */ CIPHER_3DES, CIPHER_BLOWFISH, - CIPHER_AES, /* (SSH 2 only) */ + CIPHER_AES, /* (SSH-2 only) */ CIPHER_DES, CIPHER_MAX /* no. ciphers (inc warn) */ }; @@ -415,11 +415,11 @@ struct config_tag { int ssh_rekey_time; /* in minutes */ char ssh_rekey_data[16]; int agentfwd; - int change_username; /* allow username switching in SSH2 */ + int change_username; /* allow username switching in SSH-2 */ int ssh_cipherlist[CIPHER_MAX]; Filename keyfile; int sshprot; /* use v1 or v2 when both available */ - int ssh2_des_cbc; /* "des-cbc" nonstandard SSH2 cipher */ + int ssh2_des_cbc; /* "des-cbc" unrecommended SSH-2 cipher */ int try_tis_auth; int try_ki_auth; int ssh_subsys; /* run a subsystem rather than a command */ @@ -524,7 +524,7 @@ struct config_tag { int x11_auth; /* port forwarding */ int lport_acceptall; /* accept conns from hosts other than localhost */ - int rport_acceptall; /* same for remote forwarded ports (SSH2 only) */ + int rport_acceptall; /* same for remote forwarded ports (SSH-2 only) */ /* * The port forwarding string contains a number of * NUL-terminated substrings, terminated in turn by an empty @@ -647,6 +647,16 @@ int is_iconic(void *frontend); void get_window_pos(void *frontend, int *x, int *y); void get_window_pixels(void *frontend, int *x, int *y); char *get_window_title(void *frontend, int icon); +/* Hint from backend to frontend about time-consuming operations. + * Initial state is assumed to be BUSY_NOT. */ +enum { + BUSY_NOT, /* Not busy, all user interaction OK */ + BUSY_WAITING, /* Waiting for something; local event loops still running + so some local interaction (e.g. menus) OK, but network + stuff is suspended */ + BUSY_CPU /* Locally busy (e.g. crypto); user interaction suspended */ +}; +void set_busy_status(void *frontend, int status); void cleanup_exit(int); @@ -886,10 +896,36 @@ int wc_unescape(char *output, const char *wildcard); * Exports from windlg.c */ void logevent(void *frontend, const char *); -void verify_ssh_host_key(void *frontend, char *host, int port, char *keytype, - char *keystr, char *fingerprint); -void askalg(void *frontend, const char *algtype, const char *algname); -int askappend(void *frontend, Filename filename); +/* + * verify_ssh_host_key() can return one of three values: + * + * - +1 means `key was OK' (either already known or the user just + * approved it) `so continue with the connection' + * + * - 0 means `key was not OK, abandon the connection' + * + * - -1 means `I've initiated enquiries, please wait to be called + * back via the provided function with a result that's either 0 + * or +1'. + */ +int verify_ssh_host_key(void *frontend, char *host, int port, char *keytype, + char *keystr, char *fingerprint, + void (*callback)(void *ctx, int result), void *ctx); +/* + * askalg has the same set of return values as verify_ssh_host_key. + */ +int askalg(void *frontend, const char *algtype, const char *algname, + void (*callback)(void *ctx, int result), void *ctx); +/* + * askappend can return four values: + * + * - 2 means overwrite the log file + * - 1 means append to the log file + * - 0 means cancel logging for this session + * - -1 means please wait. + */ +int askappend(void *frontend, Filename filename, + void (*callback)(void *ctx, int result), void *ctx); /* * Exports from console.c (that aren't equivalents to things in