summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/web2c/coerce.h
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2021-02-25 19:22:25 +0000
committerKarl Berry <karl@freefriends.org>2021-02-25 19:22:25 +0000
commitad547a6b5986815fda458221149728d9d9ab1d87 (patch)
tree16296910eb3eca724371474ea9aea3994dc69614 /Build/source/texk/web2c/web2c/coerce.h
parent947b43de3dd21d58ccc2ffadefc4441ea1c2a813 (diff)
restore Build,TODO from r57911
git-svn-id: svn://tug.org/texlive/trunk@57915 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/web2c/web2c/coerce.h')
-rw-r--r--Build/source/texk/web2c/web2c/coerce.h64
1 files changed, 64 insertions, 0 deletions
diff --git a/Build/source/texk/web2c/web2c/coerce.h b/Build/source/texk/web2c/web2c/coerce.h
new file mode 100644
index 00000000000..c309dcccf95
--- /dev/null
+++ b/Build/source/texk/web2c/web2c/coerce.h
@@ -0,0 +1,64 @@
+/* Some definitions that get appended to the `coerce.h' file that web2c
+ outputs. */
+/* $Id$ */
+
+/* The C compiler ignores most unnecessary casts (i.e., casts of
+ something to its own type). However, for structures, it doesn't.
+ Therefore, we have to redefine these macros so they don't cast
+ their argument (of type memoryword or fourquarters, respectively). */
+
+#ifdef printword
+#undef printword
+#define printword(x) zprintword (x)
+#endif
+
+#ifdef tfmqqqq
+#undef tfmqqqq
+#define tfmqqqq(x) ztfmqqqq (x)
+#endif
+
+#ifdef eqdestroy
+#undef eqdestroy
+#define eqdestroy(x) zeqdestroy(x)
+#endif
+
+/* And we use the opportunity to declare a few functions that could not be
+ declared in texmfmp.h, because they need typedefs not yet known at that
+ point. */
+extern strnumber getjobname (strnumber);
+
+#ifdef XeTeX
+/* XeTeX redefines "ASCII" types.... */
+typedef packedUTF16code packedASCIIcode;
+#endif
+extern void calledit (packedASCIIcode *, poolpointer, integer, integer);
+
+#ifdef MF
+extern void blankrectangle (screencol, screencol, screenrow, screenrow);
+extern void paintrow (screenrow, pixelcolor, transspec, screencol);
+#if defined(MFLua) || defined(MFLuaJIT)
+#include <mfluadir/mfluac.h>
+#endif
+#endif
+
+extern strnumber makefullnamestring(void);
+
+#ifdef TeX
+extern string gettexstring (strnumber);
+/* Prototypes for source-specials functions... */
+extern boolean isnewsource (strnumber, int);
+extern poolpointer makesrcspecial (strnumber, int);
+extern void remembersourceinfo (strnumber, int);
+
+#ifdef pdfTeX
+#include <pdftexdir/pdftex.h>
+#endif /* pdfTeX */
+
+#ifdef XeTeX
+#include <xetexdir/xetex.h>
+#endif /* XeTeX */
+
+#ifdef __SyncTeX__
+#include <synctexdir/synctex.h>
+#endif
+#endif /* TeX */