+#ifdef HAVE_CONFIG_H
+# include "uxconfig.h" /* Space to hide it from mkfiles.pl */
+#endif
+
+#include <stdio.h> /* for FILENAME_MAX */
+#include <stdint.h> /* C99 int types */
+#ifndef NO_LIBDL
+#include <dlfcn.h> /* Dynamic library loading */
+#endif /* NO_LIBDL */
+#include "charset.h"
+#include <sys/types.h> /* for mode_t */
+
+#ifdef OSX_GTK
+/*
+ * Assorted tweaks to various parts of the GTK front end which all
+ * need to be enabled when compiling on OS X. Because I might need the
+ * same tweaks on other systems in future, I don't want to
+ * conditionalise all of them on OSX_GTK directly, so instead, each
+ * one has its own name and we enable them all centrally here if
+ * OSX_GTK is defined at configure time.
+ */
+#define NOT_X_WINDOWS /* of course, all the X11 stuff should be disabled */
+#define NO_PTY_PRE_INIT /* OS X gets very huffy if we try to set[ug]id */
+#define SET_NONBLOCK_VIA_OPENPT /* work around missing fcntl functionality */
+#define OSX_META_KEY_CONFIG /* two possible Meta keys to choose from */
+/* this potential one of the Meta keys needs manual handling */
+#define META_MANUAL_MASK (GDK_MOD1_MASK)
+#define JUST_USE_GTK_CLIPBOARD_UTF8 /* low-level gdk_selection_* fails */
+#define DEFAULT_CLIPBOARD GDK_SELECTION_CLIPBOARD /* OS X has no PRIMARY */
+
+#define BUILDINFO_PLATFORM "OS X (GTK)"
+
+#elif defined NOT_X_WINDOWS
+
+#define BUILDINFO_PLATFORM "Unix (pure GTK)"
+
+#else
+
+#define BUILDINFO_PLATFORM "Unix (GTK + X11)"
+
+#endif
+
+struct Filename {
+ char *path;
+};
+FILE *f_open(const struct Filename *, char const *, int);
+
+struct FontSpec {
+ char *name; /* may be "" to indicate no selected font at all */
+};
+struct FontSpec *fontspec_new(const char *name);
+