home *** CD-ROM | disk | FTP | other *** search
/ Meeting Pearls 3 / Meeting_Pearls_III.iso / Pearls / texmf / source / driver / util / globals.h < prev    next >
C/C++ Source or Header  |  1993-10-22  |  6KB  |  225 lines

  1. /**********************************************************************/
  2. /************************  Global Definitions  ************************/
  3. /**********************************************************************/
  4.  
  5.  
  6. typedef int BOOLEAN;
  7.  
  8. #ifdef AMIGA
  9. #include <stdio.h>
  10. #include <stdlib.h>
  11. #include <exec/types.h>
  12. #endif
  13.  
  14. #ifdef ATARI
  15. # define BINARYOPEN(name) fopen(name,"rb")  /* byte-oriented host version */
  16. #else
  17. # ifdef AMIGA
  18. #  define BINARYOPEN(name) fopen(name,"r")
  19. # else
  20. #  define BINARYOPEN(name) fopen(name,"r")
  21. # endif
  22. #endif
  23.  
  24. #define  DVIFORMAT        2
  25.  
  26. #ifndef TRUE
  27. # define  TRUE             1
  28. #endif
  29. #ifndef FALSE
  30. # define  FALSE            0
  31. #endif
  32.  
  33.  
  34. /** ** directory of the config files ** **/
  35.  
  36. #ifdef AMIGA
  37. #  define    DEFAULT_PATH        "TeX:config/"
  38. #else
  39. #  define    DEFAULT_PATH        "c:\\config\\"
  40. #endif
  41.  
  42. /** ** environment-var name of the config-directory ** **/
  43.  
  44. #define        ENV_DEFAULT_PATH    "TEXCONFIG"
  45.  
  46.  
  47.  
  48.     /* changes for output medium */
  49.  
  50. #ifdef DISPLAY                        /* SHOWDVI */
  51. # define  RESOLUTION        100            /* default resolution          */
  52. # define  hconvRESOLUTION    100
  53. # define  vconvRESOLUTION    100
  54. # define  FONTMEMSIZE         50000L            /* bytes fontarea needed for   */
  55. # define  SHOWDVI_LOGFILE    "ShowDVI.log"        /* only one logfile per run    */
  56. #else
  57. #  ifdef ATARI
  58. #   define  FONTMEMSIZE         200000L            /* bytes fontarea needed for   */
  59. #   define  MAXBITMAPSIZE     500000L            /* maximal bitmapsize */
  60. #  else
  61. #   define  FONTMEMSIZE         100000L            /* bytes fontarea needed for   */
  62. #   define  MAXBITMAPSIZE     500000L            /* maximal bitmapsize */
  63. #  endif
  64. #  define  MINBITMAPSIZE  50000L            /* minimal maximal bitmapsize */
  65. #  define  DVIPRINT_LOGFILE    "DVIprint.log"
  66. #endif /* DISPLAY */
  67.  
  68.  
  69. #define  HOFFSET_IN        1.0            /* HOffset = 1 inch          */
  70. #define  VOFFSET_IN        1.0            /* VOffset = 1 inch          */
  71. #define  MOFFSET_IN        0.0            /* MID-Offset = 0 inch       */
  72.  
  73. /* SAVETY_BITS: Sicherheitsrand gegen "Overfull hbox/vbox" */
  74. #ifdef DISPLAY
  75. #define SAVETY_BITS_X    (hconvresolution+AddXpixel)    /* rows on the right border  */
  76. #else
  77. #define SAVETY_BITS_X    (hconvresolution)        /* rows on the right border  */
  78. #endif
  79. #define SAVETY_BITS_Y    (vconvresolution)        /* lines on the lower border */
  80.                  /* entspricht 1in horiz. und 1in vert. */
  81.  
  82. /* These flags are used in the ToDo var. and describe the libraries,    */
  83. /* devices, files, buffers and actions to open, allocate or execute. A    */
  84. /* separate identifier is used to see if the devices and such *have*    */
  85. /* actually been opened.                         */
  86.  
  87. #define DO_PDEVICE    (1<<0)        /* request        */
  88. #define DO_OUTFILE    (1<<1)        /* output_file_name/ptr    */
  89. #define DO_IFFLIB    (1<<2)        /* IFFBase        */
  90. #define DO_PBUFFERS    (1<<3)        /* bufferA/B        */
  91. #define DO_GFXLINEBUF    (1<<4)        /* PrnBuffer        */
  92. #define DO_PPREFS    (1<<5)        /* old_density        */
  93. #define DO_NOZERO    (1<<6)        /* (send 0s if aborted)    */
  94. #define DO_REALPRINT    (1<<7)        /* to printer, not file    */
  95.  
  96.  
  97. #ifdef AMIGA
  98. # ifdef __SASC_60
  99. #    define  MAXOPEN        (FOPEN_MAX-9)
  100. # else
  101. #   ifdef LATTICE
  102. #     define  MAXOPEN       (_NFILE-9)        /* limit on number of open files */
  103. #   else
  104. #     ifdef AZTEC_C
  105. #       define  MAXOPEN     (FOPEN_MAX-9)    /* limit on number of open files */
  106. #     else
  107. #       define  MAXOPEN     10            /* limit on number of open files */
  108. #     endif
  109. #   endif
  110. # endif
  111. #else
  112. #  define  MAXOPEN         5            /* limit on number of open files */
  113. #endif
  114.  
  115.  
  116. #define  KOMM           1000000L        /* from ShowPage / mark a command */
  117.  
  118.  
  119. /* important constants for flib-handling */
  120. #define OLD_LIBMAGIC    0xA797F033L        /* old magic number */
  121. #define LIBMAGIC    (((long)'F'<<24) | ((long)'L'<<16) | ((long)'I'<<8) | (long)'B')
  122.  
  123. #define FILENAMELEN    14        /* length for old flib version */
  124. #define NEWFILENAMELEN    22        /* length for new flib version */
  125.  
  126. #define    OLD_VERSION    0        /* defines old flib version */
  127. #define NEW_VERSION    1        /* defines new flib version */
  128.  
  129. #define  PATHLEN         128            /* max length of a file-path   */
  130. #define  STACKSIZE       100
  131. #define  STRSIZE         257
  132. #define  HSIZE             8            /* paper-width in inch         */
  133. #define  VSIZE            11.5            /* paper-height in inch        */
  134.  
  135.  
  136.  
  137. /*
  138.  * DVI Handle: DVI-File ist entweder ein normales Level-2 File
  139.  *             oder aber in's RAM gemappt.
  140.  * Dazu gibt es folgende Funktionen:
  141.  *  DVIFILE * OpenDVI(char * name, int toRam)
  142.  *  void CloseDVI(DVIFILE * dvifp)
  143.  *  void TempCloseDVI(DVIFILE * dvifp)
  144.  *  void TempOpenDVI(DVIFILE * dvifp)
  145.  */
  146.  
  147. enum DviFileFlags { InRam = 1<<1, Eof = 1<<2, TmpClosed = 1<<3 };
  148.  
  149. typedef struct {
  150.   FILE             * fp;
  151.   char             * rambuf;
  152.   long              pointer;
  153.   long              size;
  154.   long              tmpftell;
  155.   enum DviFileFlags   flags;
  156.   char              name[256];
  157. } DVIFILE;
  158.  
  159.  
  160. /**********************************************************************/
  161. /*************************  System Procedures  ************************/
  162. /**********************************************************************/
  163.  
  164. /*  int    page_counter();  Hilfsfunktionen aus showdvi.c */
  165. #define clear_counter(i)    page_counter(i,0)
  166. #define set_counter(i)        page_counter(i,1)
  167. #define take_counter(i)        page_counter(i,2)
  168.  
  169. #ifdef AMIGA
  170. # ifdef LATTICE
  171. #  define Chk_Abort    chkabort
  172. # endif
  173. #endif
  174.  
  175.  
  176. /*
  177.  * Debugging:
  178.  *
  179.  * MYDEBUG wird in SCOPTIONS definiert (oder nicht).
  180.  * Achtung: Moeglicherweise gibt's Probleme mit GST Files.
  181.  * Debug-Ausgaben werden mittels D(bug("bla %ld blub\n", i)) plaziert.
  182.  * Achtung: Um int auszugeben wird %ld benoetigt!
  183.  */
  184.  
  185. extern void __stdargs kprintf(UBYTE *fmt,...);
  186. extern void __stdargs dprintf(UBYTE *fmt,...);
  187. #define DEBTIME 0
  188. #define bug kprintf
  189. #if MYDEBUG
  190. # include <clib/dos_protos.h>
  191. # include <pragmas/dos_pragmas.h>
  192. # define D(x) (x); if(DEBTIME>0) Delay(DEBTIME);
  193. #else
  194. # define D(x) ;
  195. #endif /* MYDEBUG */
  196.  
  197.  
  198. /*
  199.  * MemWatch von SAS
  200.  * Das Define MWDEBUG wird mittels SCOPTIONS ein/aus-geschaltet
  201.  */
  202.  
  203. #include <clib/exec_protos.h>
  204. #include <pragmas/exec_pragmas.h>
  205. #if defined(MWDEBUG)
  206. # include "sc:extras/memlib/memwatch.h"
  207. #endif
  208.  
  209.  
  210. /*
  211.  * eigenes Malloc-Debugging ausschalten; 
  212.  * Dadurch bekommt die memlib die korrekte Position des free's.
  213.  */
  214. #if !defined(MALLOC_DEBUG)
  215. # define xfree(x)    free(x)
  216. #endif
  217.  
  218. /**********************************************************************/
  219. /*************************  Global Variables   ************************/
  220. /**********************************************************************/
  221.  
  222. #include "globvars.h"
  223.  
  224.  
  225.