home *** CD-ROM | disk | FTP | other *** search
- /*---------------------------------------------------------*
- | Author: Maurizio Loreti, aka MLO or I3NOO. |
- | Address: University of Padova - Department of Physics |
- | Via F. Marzolo, 8 - 35131 PADOVA - Italy |
- | Phone: (39)(49) 844-313 FAX: (39)(49) 844-245 |
- | E-Mail: LORETI at IPDINFN (BITNET); or VAXFPD::LORETI |
- | (DECnet) - VAXFPD is node 38.257 i.e. 39169; or |
- | LORETI@PADOVA.INFN.IT (INTERNET). |
- | Home: Via G. Donizetti 6 - 35010 CADONEGHE (PD) - Italy |
- *---------------------------------------------------------*/
-
- /**
- | Printer port constants
- **/
-
- #define PORT_NAME "pf.port"
-
- /**
- | Constants to be used in printer initialisation
- **/
-
- #define PORTRAIT 0 /* Orientation */
- #define LANDSCAPE 1
- #define ROMAN 0 /* Style */
- #define ITALIC 1
- #define P10CPI 0 /* Pitch & Spacing */
- #define P12CPI 1
- #define P16_67CPI 2
- #define P20CPI 3
- #define P24CPI 4
- #define PROPORTIONAL -1
- #define COURIER 3 /* Font */
- #define GOTHIC 6
- #define TIMES 4101
- #define DRAFT_Q 1 /* Quality */
- #define LETTER_Q 2
-
- /**
- | Other #define's
- **/
-
- #define VERSION 2.12 /* Guess what is this ... */
- #define LAST_CHANGE 910927
- #define VERSION_TAG "\0$VER: PF2 v2.12 - MLO 910927"
-
- #define REVISION 33 /* Library revision (Kickstart 1.2) */
-
- #define BLUE_PEN 0 /* Workbench 1.3 defaults */
- #define WHITE_PEN 1
- #define BLACK_PEN 2
- #define RED_PEN 3
-
- #define MAX_FILES 50 /* Maximum number of selected files */
- #define DIR_MAX (DSIZE+1) /* Directory names size */
- #define FIL_MAX (FCHARS+1) /* File names size */
- #define TOT_MAX (DSIZE+FCHARS+2)
-
- #define LINE_LENGTH 256 /* Input line buffer length */
-
- #define OUTPUT_LENGTH 80 /* Various parameters for the 2-page */
- #define SIDE_LENGTH 3 /* mode: output text length, width */
- #define SEP_LENGTH 5 /* of the blank borders, space */
- #define PAGE_LENGTH 55 /* between pages on sheet, ... */
-
- #define TOTAL_LENGTH (OUTPUT_LENGTH + 2 * SIDE_LENGTH)
- #define BUFFER_SIZE (OUTPUT_LENGTH * PAGE_LENGTH)
-
- #define ESC '\x1B' /* Special characters */
- #define FORM_FEED '\x0C'
- #define H_LINE '\xC4' /* Semigraphic characters (PC-8) */
- #define V_LINE '\xB3'
- #define NE '\xBF'
- #define SE '\xD9'
- #define SW '\xC0'
- #define NW '\xDA'
-
- #define UP 1 /* Internal flags */
- #define DOWN 2
-
- #define SINGLE_PAGE 1
- #define LEFT_PAGE 2
- #define RIGHT_PAGE 3
-
- /**
- | Structures
- **/
-
- typedef struct sPageBuffer { /* Page buffer pointers (2-p mode) */
- char *line[PAGE_LENGTH];
- } PageBuffer;
-
- typedef union uPrinterIO { /* Exec I/O structure (printer) */
- struct IOStdReq ios;
- struct IODRPReq iod;
- struct IOPrtCmdReq iop;
- } PrintIO;
-
- /**
- | ANSI prototypes (for functions called in more than one file)
- **/
-
- void main(int argc, char **argv);
-
- void Cleanup(int code);
- void DoOutput(char *FileName);
- void ExitProgram(void);
- void FlushBuffers(void);
- void InitPrinter(void);
- void *LibOpen(char *Name, long Rev);
- void SetSpecialMode(void);
- char **Setup(int *pArgc, char **argv);
- void SetupWB(void);
- void windowOff(void);
-