home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Otherware
/
Otherware_1_SB_Development.iso
/
amiga
/
print
/
pf_deskj.lzh
/
PF
/
Source
/
pf2.h
< prev
next >
Wrap
C/C++ Source or Header
|
1991-09-27
|
4KB
|
114 lines
/*---------------------------------------------------------*
| 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);