/* ---------------------------------------------------------------------- GMFPRINT.HH for Multil-File Print Program MFPRINT.C Pat Warnshuis, Portland (OR) Atari Club December 23, 1986 ---------------------------------------------------------------------- See MFPRINT.DOC. Program is links as a stand-alone module, using no other xxx.o files. */ /* ----------------------G printer controls H------------------------ */ /* Set for Epson FX-80 */ /* If your printer does not have a specific control, just use "" */ #define ELITEPRT "\033M" /* elite on */ #define CONDPRT "\033P\017" /* Epson must turn off elite first */ #define BOLDON "\033G" /* actually double strike */ #define BOLDOFF "\033H" #define PGEJECT "\014\015\012" /* FF, CR, LF */ /* ----------------------G page format settings H-------------------- */ #define TABSPC 8 /* tab spacing */ #define PAGELN 66 /* total lines/page */ #define TPMARG 4 /* top margin */ #define BTMARG 6 /* bottom margin */ #define PICALM 6 /* one inch on Epson */ #define ELITELM 8 #define CONDLM 12 #define PICARM 75 /* page width - left margin */ #define ELITERM 92 #define CONDRM 120 /* ------------------------G common ascii constants H------------------ */ #define ABORT '\003' /* ^C abort from CON at anytime */ #define ESC '\033' /* ESC char for printer controls */ #define BS '\010' #define TAB '\011' #define LF '\012' #define CR '\015' #define FF '\014' #define CRLF "\015\012" /* ------------------------G packed dates...ha ha ha! H----------------- */ #define SEC ((Tgettime()&0x001f)<<1) #define MIN ((Tgettime()&0x07e0)>>5) #define HR (((Tgettime()&0xf800)>>11)&0x001f) #define DAY (Tgetdate()&0x001f) #define MO ((Tgetdate()&0x01e0)>>5) #define YR ((((Tgetdate()&0xfe00)>>9)&0x007f) + 80) /* ----------------------G symbolic constants H------------------------ */ #define void int /* for style */ #define BOOLEAN int #define BYTE 1 #define PRT 0 #define AUX 1 #define CON 2 /* ----------------------G typing aids H------------------------------- */ #define isprint(c) (c) >= ' ' && (c) <='~' #define isdigit(c) (c) >= '0' && (c) <= '9' #define toupper(c) ( (c) >= 'a' && (c) <= 'z' ) ? (c)-'a'+'A' : (c) #define hidems(); asm { dc.w 0xa00a } #define showms(); asm { dc.w 0xa009 } /* -----------------------G GLOBALS H ------------------------------------*/ extern char *itosj(); /* int-to-string, justified */ extern char *ltosj(); /* long-to-string, justified */ extern char *uitosj(); /* unsigned int-to-string, justified */ extern char *ultosj(); /* unsigned long-to-string, justified */ extern char *gettime(); /* return system date/time string */ extern char *buff; /* Malloc print buffer */ struct FDTA { char resv[20]; char attr; int time; int date; long size; char name[14]; }; char *buff; int ltmarg, rtmarg, tabspc, pgcnt, lstport; BOOLEAN pageflag; hdrflag, formfeed, abortall, abortfile;