struct backend_tag {
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);
/* back->send() returns the current amount of buffered data. */
Backend *backend;
} backends[];
+/*
+ * Suggested default protocol provided by the backend link module.
+ * The application is free to ignore this.
+ */
+extern const int be_default_protocol;
+
struct config_tag {
/* Basic options */
char host[512];
};
/*
- * You can compile with -DSSH_DEFAULT to have ssh by default.
- */
-#ifndef SSH_DEFAULT
-#define DEFAULT_PROTOCOL PROT_TELNET
-#define DEFAULT_PORT 23
-#else
-#define DEFAULT_PROTOCOL PROT_SSH
-#define DEFAULT_PORT 22
-#endif
-
-/*
* Some global flags denoting the type of application.
*
* FLAG_VERBOSE is set when the user requests verbose details.
* Exports from settings.c.
*/
void save_settings(char *section, int do_host, Config * cfg);
+void save_open_settings(void *sesskey, int do_host, Config *cfg);
void load_settings(char *section, int do_host, Config * cfg);
void load_open_settings(void *sesskey, int do_host, Config *cfg);
void get_sesslist(struct sesslist *, int allocate);
*/
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);
* Exports from logging.c.
*/
void *log_init(void *frontend, Config *cfg);
+void log_free(void *logctx);
void log_reconfig(void *logctx, Config *cfg);
void logfopen(void *logctx);
void logfclose(void *logctx);
* Exports from ldisc.c.
*/
void *ldisc_create(Config *, Terminal *, Backend *, void *, void *);
+void ldisc_free(void *);
void ldisc_send(void *handle, char *buf, int len, int interactive);
/*
*/
extern int console_batch_mode;
int console_get_line(const char *prompt, char *str, int maxlen, int is_pw);
+void console_provide_logctx(void *logctx);
/*
* Exports from printing.c.