1: /****************************************************************************** 2: * 3: * externs -- external declarations for global variables and 4: * external functions used by the ditroff to 5: * interpress conversion routines 6: * 7: * John Mellor-Crummey (Xerox Corp) 8: * 9: * Copyright (c) 1985 Xerox Corporation 10: * 11: *****************************************************************************/ 12: 13: #include "types.h" /* data type declarations */ 14: 15: 16: /*----------------------------------------------------------------------------- 17: * 18: * external declarations for 19: * global variables used by the ditroff to interpress conversion routines 20: * 21: *---------------------------------------------------------------------------*/ 22: 23: extern char *tempfilename; /* used to form names of output files */ 24: extern int outputfile; /* output file descriptor */ 25: extern int pagebodyfile; /* temporary file to hold page bodies */ 26: extern int outputflag; /* output this page? */ 27: 28: extern int nPageRanges; /* output page list if > 0 */ 29: extern int pagerange[][2]; /* pairs of page numbers */ 30: 31: /* font tables */ 32: extern char *fontdirectory; 33: extern char devicename[]; 34: extern struct device_entry device; 35: extern struct font_entry *fontPtr[]; 36: extern short *pointsizeTab; 37: extern int specFontPos; /* position of first special font */ 38: extern char *specCharStrTab; 39: extern short *specCharTab; 40: extern unsigned char *fontIndexTab[]; 41: extern char *charCodeTab[]; /* character codes for device */ 42: extern unsigned char *charWidthTab[]; /* contains width info for fonts */ 43: 44: extern int dbg; 45: 46: extern int spotsPerInch; /* input uses this resolution */ 47: extern int size; /* current size */ 48: extern int font; /* current font */ 49: extern long ftsz; /* combination of size and font */ 50: extern long oldftsz; /* former value of ftsz */ 51: extern int hor_pos; /* next horizontal position (= 0, left of page ) */ 52: extern int old_hor; /* previous horizontal position */ 53: extern int ver_pos; /* current vertical position (> 0, down page) */ 54: extern int old_ver; /* previous vertical position */ 55: extern int hor_orig; /* horizontal origin of current block */ 56: extern int ver_orig; /* vertical origin of current block */ 57: 58: extern int linenumber; /* line number for error reporting */ 59: 60: /* hooks for reporting system errors */ 61: extern int errno; 62: extern char *sys_errlist[]; 63: 64: /* interpress stuff */ 65: 66: extern struct ifont *currfonts[MAX_NUM_FONTS+1]; 67: extern struct ifont *inactfonts; 68: 69: extern int frameindex; /* current frame index */ 70: extern int mapcnt; /* number of names in troff to ip map */ 71: extern int charw; /* current character's troff width */ 72: extern char **trname; /* troff name pointers (into timap) */ 73: extern char **ipname; /* interpress name pointers (into timap) */ 74: extern char *timap; /* buffer holds strings for font mapping */ 75: extern char in_correct; /* true when inside a "correct" body */ 76: extern char virgin_line; /* true if line untouched (char not yet shown) */ 77: extern double scale; /* scale used to trans troff to ip co-ords */ 78: 79: /* this is for the bitmap interface */ 80: extern int drawidth; /* width of the drawing pen */ 81: extern double drawscale; /* scaling factor for drawing points */ 82: 83: /* external function declarations */ 84: extern char *malloc(); 85: 86: /* for saving environments with push, pop */ 87: extern struct state state[MAXSTATE]; 88: extern struct state *statep;