beta-0.89.2
[luatex.git] / source / texk / web2c / web2c / coerce.h
blob0ca451b4c461e10d3168ee9d90520a698e4239f4
1 /* Some definitions that get appended to the `coerce.h' file that web2c
2 outputs. */
3 /* $Id: coerce.h 37504 2015-06-12 08:45:07Z peter $ */
5 /* The C compiler ignores most unnecessary casts (i.e., casts of
6 something to its own type). However, for structures, it doesn't.
7 Therefore, we have to redefine these macros so they don't cast
8 their argument (of type memoryword or fourquarters, respectively). */
10 #ifdef printword
11 #undef printword
12 #define printword(x) zprintword (x)
13 #endif
15 #ifdef tfmqqqq
16 #undef tfmqqqq
17 #define tfmqqqq(x) ztfmqqqq (x)
18 #endif
20 #ifdef eqdestroy
21 #undef eqdestroy
22 #define eqdestroy(x) zeqdestroy(x)
23 #endif
25 /* And we use the opportunity to declare a few functions that could not be
26 declared in texmfmp.h, because they need typedefs not yet known at that
27 point. */
28 extern strnumber getjobname (strnumber);
30 #ifdef XeTeX
31 /* XeTeX redefines "ASCII" types.... */
32 typedef packedUTF16code packedASCIIcode;
33 #endif
34 extern void calledit (packedASCIIcode *, poolpointer, integer, integer);
36 #ifdef MF
37 extern void blankrectangle (screencol, screencol, screenrow, screenrow);
38 extern void paintrow (screenrow, pixelcolor, transspec, screencol);
39 #if defined(MFLua) || defined(MFLuaJIT)
40 #include <mfluadir/mfluac.h>
41 #endif
42 #endif
44 extern strnumber makefullnamestring(void);
46 #ifdef TeX
47 extern string gettexstring (strnumber);
48 /* Prototypes for source-specials functions... */
49 extern boolean isnewsource (strnumber, int);
50 extern poolpointer makesrcspecial (strnumber, int);
51 extern void remembersourceinfo (strnumber, int);
53 #ifdef pdfTeX
54 #include <pdftexdir/pdftex.h>
55 #endif /* pdfTeX */
57 #ifdef XeTeX
58 #include <xetexdir/xetex.h>
59 #endif /* XeTeX */
61 #ifdef __SyncTeX__
62 #include <synctexdir/synctex.h>
63 #endif
64 #endif /* TeX */