/* -*-C-*- main.h */ /*-->main*/ /**********************************************************************/ /******************************** main ********************************/ /**********************************************************************/ /**********************************************************************/ /*********************** External Definitions ***********************/ /**********************************************************************/ #if KCC_20 #include #endif /* KCC_20 */ #if PCC_20 /* this stuff MUST be first */ #undef tops20 /* to keep definitions alive */ #include /* PCC-20 does not have this in */ /* the others */ #include /* need for f20open flags and */ /* JSYS stuff */ #define tops20 1 /* define for tops-20 */ #endif /* PCC_20 */ #include "commands.h" #include #include #if BBNBITGRAPH #if (OS_VAXVMS | IBM_PC_WIZARD | IBM_PC_LATTICE | IBM_PC_MICROSOFT) /* not available */ #else /* NOT (OS_VAXVMS | IBM_PC_WIZARD | IBM_PC_LATTICE | IBM_PC_MICROSOFT) */ #include #endif /* (OS_VAXVMS | IBM_PC_WIZARD | IBM_PC_LATTICE | IBM_PC_MICROSOFT) */ #endif /* BBNBITGRAPH */ #if OS_UNIX #if BSD42 #include /* need for DVISPOOL in dviterm.h */ #ifndef _NFILE /* VAX VMS, NMTCC, PCC-20, and HPUX have _NFILE in stdio.h. V7 called it NFILE, and Posix calls it OPEN_MAX. KCC-20 calls it SYS_OPEN. VAX 4.3BSD and Gould UTX/32 don't define _NFILE in stdio.h; they use NOFILE from sys/param.h. Sigh.... */ #include #ifdef NOFILE #define _NFILE NOFILE /* need for gblvars.h */ #else #define _NFILE MAXOPEN /* use our font limit value */ #endif #endif #endif /* BSD42 */ #endif /* OS_UNIX */ #include "gendefs.h" #if DECLA75 #undef STDMAG #if STDRES #define STDMAG 720 #else /* NOT STDRES */ #define STDMAG 720 #endif /* STDRES */ #endif /* DECLA75 */ #if DECLN03PLUS #undef STDMAG #if STDRES #define STDMAG 1500 #else /* NOT STDRES */ #define STDMAG 750 #endif /* STDRES */ #endif /* DECLN03PLUS */ #if EPSON #undef STDMAG #if STDRES #define STDMAG 1200 /* use 240dpi fonts */ #else /* NOT STDRES */ #define STDMAG 603 /* 1500 * 1.2**(-5) */ #endif /* STDRES */ #endif /* EPSON */ #if (HPJETPLUS | POSTSCRIPT | IMPRESS | CANON_A2) #undef STDMAG #if STDRES #define STDMAG 1500 /* 300 dpi Canon LBP-CX print engine */ #else /* NOT STDRES */ #define STDMAG 1440 /* near value in 1000*1.2**n family */ #endif /* STDRES */ #endif /* (HPJETPLUS | POSTSCRIPT | IMPRESS | CANON_A2) */ #if TOSHIBAP1351 /* want to override STDMAG */ #undef STDMAG #if STDRES #define STDMAG 868 /* 1500 * 1.2**(-3) */ #else /* NOT STDRES */ #define STDMAG 833 /* 1000 * 1.2**(-1) */ #endif /* STDRES */ #endif /* TOSHIBAP1351 */ #include "gblprocs.h" #include "gblvars.h" #if BBNBITGRAPH #include "keydef.h" #endif /* BBNBITGRAPH */ #if OS_ATARI long _stksize = 20000L; /* make the stack a bit larger than 2KB */ /* number must be even */ #endif /* OS_ATARI */ /**********************************************************************/ /******************************* main *******************************/ /**********************************************************************/ int main(argc, argv) int argc; char *argv[]; { register int k; /* loop index */ register int file_args; /* count of file arguments */ (void)strcpy(g_progname, argv[0]); /* save program name */ (void)initglob(); /* do this before argc check! */ #if OS_UNIX /* On Unix, we allow filtering of stdin to stdout */ #else /* NOT OS_UNIX */ if (argc < 2) { (void)usage(stderr); (void)EXIT(1); } #endif /* OS_UNIX */ for (k = 1; k < argc; ++k) { if (*argv[k] == '-') /* -switch */ (void)option(argv[k]); } if (!quiet) { (void)fprintf(stderr,"[TeX82 DVI Translator Version %s]",VERSION_NO); NEWLINE(stderr); (void)fprintf(stderr,"[%s]",DEVICE_ID); NEWLINE(stderr); } if (npage == 0) /* no page ranges given, make a large one */ { page_begin[0] = 1; page_end[0] = 32767; /* arbitrary large integer */ page_step[0] = 1; npage = 1; } else /* need font defs from postamble if only some pages to be output */ preload = TRUE; file_args = 0; for (k = 1; k < argc; ++k) { if (*argv[k] != '-') /* must be file argument */ { file_args++; (void)dvifile(argc,argv,argv[k]); } } #if OS_UNIX if (file_args == 0) /* use stdin/stdout instead */ (void)dvifile(argc,argv,""); #endif (void)alldone(); /* this will never return */ return (0); /* never executed; avoid compiler warnings */ }