home *** CD-ROM | disk | FTP | other *** search
/ The Datafile PD-CD 3 / PDCD_3.iso / tex / texsrc1 / Src / lib / h / common < prev    next >
Encoding:
Text File  |  1993-01-26  |  2.3 KB  |  86 lines

  1. /* common.h: Definitions and declarations common both to the change
  2.    files and to web2c itself.  This is included from config.h, which
  3.    everyone includes.  */
  4.  
  5. #ifndef COMMON_H
  6. #define COMMON_H
  7.  
  8. #include "getopt.h"
  9. #include "lib.h"
  10. #include "ourpaths.h"
  11. #include "pascal.h"
  12. #include "types.h"
  13.  
  14.  
  15. /* We never need the `link' system call, which is sometimes declared in
  16.    <unistd.h>, but we do have lots of variables called `link' in the web
  17.    sources.  */
  18. #ifdef link
  19. #undef link
  20. #endif
  21. #define link link_var
  22.  
  23.  
  24. /* On VMS, `exit (1)' is success.  */
  25. #ifndef EXIT_SUCCESS_CODE
  26. #ifdef VMS
  27. #define EXIT_SUCCESS_CODE 1
  28. #else
  29. #define EXIT_SUCCESS_CODE 0
  30. #endif
  31. #endif /* not EXIT_SUCCESS_CODE */
  32.  
  33. /* Some features are only needed in certain programs.  */
  34.  
  35. #ifdef TeX
  36. /* The type `glueratio' should be a floating point type which won't
  37.    unnecessarily increase the size of the memoryword structure.  This is
  38.    the basic requirement.  On most machines, if you're building a
  39.    normal-sized TeX, then glueratio must probably meet the following
  40.    restriction: sizeof(glueratio) <= sizeof(integer).  Usually, then,
  41.    glueratio must be `float'.  But if you build a big TeX, you can (on
  42.    most machines) and should make it `double' to avoid loss of precision
  43.    and conversions to and from double during calculations.  (All this
  44.    also goes for Metafont.)  Furthermore, if you have enough memory, it
  45.    won't hurt to have this defined to be `double' for running the
  46.    trip/trap tests.
  47.    
  48.    This type is set automatically to `float' by configure if a small TeX
  49.    is built.  */
  50. #ifndef GLUERATIO_TYPE
  51. #define GLUERATIO_TYPE double
  52. #endif
  53. typedef GLUERATIO_TYPE glueratio;
  54. #endif
  55.  
  56. /* Declarations for the routines we provide ourselves.  */
  57.  
  58. extern integer zround ();
  59.  
  60.  
  61. /* File routines.  */
  62. extern FILE *xfopen_pas ();
  63. extern boolean test_eof ();
  64. extern boolean eoln ();
  65. extern boolean open_input ();
  66. extern boolean open_output ();
  67. extern void fprintreal ();
  68. extern void printpascalstring (), errprintpascalstring ();
  69. extern integer inputint ();
  70. extern void zinput3ints ();
  71. extern void setpaths ();
  72.  
  73. /* String routines.  */
  74. extern void makesuffixpas ();
  75. extern void make_c_string (), make_pascal_string ();
  76. extern void null_terminate (), space_terminate ();
  77.  
  78.  
  79. /* Argument handling, etc.  */
  80. extern int argc;
  81. extern char **gargv;
  82. extern void argv ();
  83. extern char *versionstring;
  84.  
  85. #endif /* not COMMON_H */
  86.