X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=blobdiff_plain;f=putty.h;h=4ad3124af1ead25147a7ce38f730737b34ab19df;hb=9fc67313fb7dda826c9c464a21e0900c724769b1;hp=061f6275f2a5a5d6a2b2f5958cabe4a13387dcf2;hpb=814408f2d3557f576f8190822c330c2d9647246a;p=PuTTY.git diff --git a/putty.h b/putty.h index 061f6275..4ad3124a 100644 --- a/putty.h +++ b/putty.h @@ -132,6 +132,8 @@ typedef enum { TS_AYT, TS_BRK, TS_SYNCH, TS_EC, TS_EL, TS_GA, TS_NOP, TS_ABORT, TS_AO, TS_IP, TS_SUSP, TS_EOR, TS_EOF, TS_LECHO, TS_RECHO, TS_PING, TS_EOL, + /* Special command for SSH. */ + TS_REKEY, /* POSIX-style signals. (not Telnet) */ TS_SIGABRT, TS_SIGALRM, TS_SIGFPE, TS_SIGHUP, TS_SIGILL, TS_SIGINT, TS_SIGKILL, TS_SIGPIPE, TS_SIGQUIT, TS_SIGSEGV, @@ -578,6 +580,7 @@ void ldisc_update(void *frontend, int echo, int edit); * shutdown. */ void update_specials_menu(void *frontend); int from_backend(void *frontend, int is_stderr, const char *data, int len); +void notify_remote_exit(void *frontend); #define OPTIMISE_IS_SCROLL 1 void set_iconic(void *frontend, int iconic); @@ -636,7 +639,6 @@ FontSpec platform_default_fontspec(const char *name); Terminal *term_init(Config *, struct unicode_data *, void *); void term_free(Terminal *); void term_size(Terminal *, int, int, int); -void term_out(Terminal *); void term_paint(Terminal *, Context, int, int, int, int, int); void term_scroll(Terminal *, int, int); void term_pwron(Terminal *); @@ -662,6 +664,7 @@ void term_provide_resize_fn(Terminal *term, void (*resize_fn)(void *, int, int), void *resize_ctx); void term_provide_logctx(Terminal *term, void *logctx); +void term_set_focus(Terminal *term, int has_focus); /* * Exports from logging.c. @@ -744,6 +747,14 @@ int random_byte(void); void random_get_savedata(void **data, int *len); extern int random_active; +/* + * Exports from pinger.c. + */ +typedef struct pinger_tag *Pinger; +Pinger pinger_new(Config *cfg, Backend *back, void *backhandle); +void pinger_reconfig(Pinger, Config *oldcfg, Config *newcfg); +void pinger_free(Pinger); + /* * Exports from misc.c. */ @@ -895,4 +906,39 @@ int filename_is_null(Filename fn); char *get_username(void); /* return value needs freeing */ char *get_random_data(int bytes); /* used in cmdgen.c */ +/* + * Exports and imports from timing.c. + * + * schedule_timer() asks the front end to schedule a callback to a + * timer function in a given number of ticks. The returned value is + * the time (in ticks since an arbitrary offset) at which the + * callback can be expected. This value will also be passed as the + * `now' parameter to the callback function. Hence, you can (for + * example) schedule an event at a particular time by calling + * schedule_timer() and storing the return value in your context + * structure as the time when that event is due. The first time a + * callback function gives you that value or more as `now', you do + * the thing. + * + * expire_timer_context() drops all current timers associated with + * a given value of ctx (for when you're about to free ctx). + * + * run_timers() is called from the front end when it has reason to + * think some timers have reached their moment, or when it simply + * needs to know how long to wait next. We pass it the time we + * think it is. It returns TRUE and places the time when the next + * timer needs to go off in `next', or alternatively it returns + * FALSE if there are no timers at all pending. + * + * timer_change_notify() must be supplied by the front end; it + * notifies the front end that a new timer has been added to the + * list which is sooner than any existing ones. It provides the + * time when that timer needs to go off. + */ +typedef void (*timer_fn_t)(void *ctx, long now); +long schedule_timer(int ticks, timer_fn_t fn, void *ctx); +void expire_timer_context(void *ctx); +int run_timers(long now, long *next); +void timer_change_notify(long next); + #endif