+/*
+ * In the Unix Unicode layer, DEFAULT_CODEPAGE is a special value
+ * which causes mb_to_wc and wc_to_mb to call _libc_ rather than
+ * libcharset. That way, we can interface the various charsets
+ * supported by libcharset with the one supported by mbstowcs and
+ * wcstombs (which will be the character set in which stuff read
+ * from the command line or config files is assumed to be encoded).
+ */
+#define DEFAULT_CODEPAGE 0xFFFF
+#define CP_UTF8 CS_UTF8 /* from libcharset */
+
+#define strnicmp strncasecmp
+#define stricmp strcasecmp
+
+/* BSD-semantics version of signal(), and another helpful function */
+void (*putty_signal(int sig, void (*func)(int)))(int);
+void block_signal(int sig, int block_it);
+
+/* uxmisc.c */
+int cloexec(int);
+
+/*
+ * Exports from unicode.c.
+ */
+struct unicode_data;
+int init_ucs(struct unicode_data *ucsdata, char *line_codepage,
+ int utf8_override, int font_charset, int vtmode);
+
+/*
+ * Spare function exported directly from uxnet.c.
+ */
+void *sk_getxdmdata(void *sock, int *lenp);
+
+/*
+ * Function provided by front ends, and called by uxnet.c to indicate
+ * that net_pending_errors() would like to be called back when the
+ * front end has a spare moment and isn't deep in any other recursion.
+ */
+void frontend_net_error_pending(void);
+
+/*
+ * General helpful Unix stuff: more helpful version of the FD_SET
+ * macro, which also handles maxfd.
+ */
+#define FD_SET_MAX(fd, max, set) do { \
+ FD_SET(fd, &set); \
+ if (max < fd + 1) max = fd + 1; \
+} while (0)
+
+/*
+ * Exports from winser.c.
+ */
+extern Backend serial_backend;