summaryrefslogtreecommitdiff
path: root/dviware/quicspool/libqmsquery/qms.h
blob: 7f28db646f13c84b9007b6c42c2120ded138caa4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
/* $Header: qms.h,v 1.1 88/01/15 12:18:55 simpson Rel $ */
/*
$Log:	qms.h,v $
 * Revision 1.1  88/01/15  12:18:55  simpson
 * initial release
 * 
 * Revision 0.1  87/12/11  17:11:57  simpson
 * beta test
 * 
*/
#define	QUICON		"\r^PY^-\r"	/* QUIC Conversion On */
#define	QUICOFF		"\r^-^PN^-\r"	/* QUIC Conversion Off */
#define PORTRAIT	"^IOP"		/* Portrait mode */
#define LANDSCAPE	"^IOL"		/* Landscape mode */
#define COMMAND		"^N"		/* Change command character */
#define SYNTAX		"^ISYNTAX"	/* Set syntax of numeric parameters */
#define	FREEFORM	"^F"		/* Begin free-form input */
#define	FREEOFF		"^O"		/* End free-form input */
#define IGNOREDATA	"^X"		/* Ignore subsequent input */
#define ENDIGNORE	"^A"		/* Stop ignoring data */
#define	INITIALIZE	"^IF"		/* Select tray, offset page length */
#define STATUS		"^ISTATUS"	/* Print status page */
#define SPECIAL		"^$"		/* Enter special characters */
#define INITJUST	"^IJ"		/* Default top page margin */
#define INITBOTTOM	"^IB"		/* Default bottom page margin */
#define INITTAB		"^IT"		/* Default left page margin */
#define JUSTIFY		"^J"		/* Vertical positioning */
#define JUSTIFYMARGIN	"^JM"		/* Vertical positioning from margin */
#define JUSTIFYRELATIVE	"^JR"		/* Relative vertical positioning */
#define JUSTIFYDOTS	"^JD"		/* Relative vertical in dots */
#define TAB		"^T"		/* Horizontal positioning */
#define TABRELATIVE	"^TR"		/* Relative horizontal positioning */
#define TABDOTS		"^TD"		/* Relative horizontal in dots */
#define INITMARGVERT	"^IMV"		/* Default vertical margins */
#define INITMARGHORZ	"^IMH"		/* Default horizontal margins */
#define DEFFONT		"^IS"		/* Default font select */
#define FONT		"^S"		/* Select font */
#define CHARSPACING	"^IC"		/* Character spacing */
#define LINESPACING	"^IL"		/* Line spacing */
#define DOWNLOAD	"^DF"		/* Download font */
#define ADOWNLOAD	"^DFA"		/* Advanced download font */
#define QUICCHAR	"^M"		/* Quic characters */
#define VERTQUIC	"^V"		/* Vertical Quic characters */
#define LEFTVERTQUIC	"^E"		/* Left vertical Quic characters */
#define INVERTQUIC	"^U"		/* Upside down Quic characters */
#define DESCENDER	"^DL"		/* Lower case descenders on */
#define HALFTONE	"^KH"		/* Half tone */
#define HALFTONESELECT	"^KL"		/* Select a half tone */
#define REVERSE		"^R"		/* Reverse image */
#define LINE		"^LS"		/* Line drawing */
#define DASHEDLINE	"^LD"		/* Dashed lines */
#define HORLINEPLOT	"^LP"		/* Horizontal line plotting */
#define VERTLINEPLOT	"^LQ"		/* Vertical line plotting */
#define ARC		"^LA"		/* Arc drawing */
#define DECIMALARC	"^LAD"		/* Decimal arc drawing */
#define BOX		"^LB"		/* Box drawing */
#define FORM		"^LF"		/* Form drawing */
#define HORFORM		"^LE"		/* Horizontal form drawing */
#define PLOT		"^P"		/* Plotting */
#define PATTVEC		"^PV"		/* Pattern vector */
#define PLOTEXPAND	"^IP"		/* Plot expansion */
#define PENWIDTH	"^PW"		/* Pen width */
#define PENUP		"^U"		/* Pen up */
#define PENDOWN		"^D"		/* Pen down */
#define PENERASE	"^E"		/* Pen erase */
#define VECTORON	"^IGV"		/* Vector graphics on */
#define VECTOROFF	"^IGE"		/* Vector graphics off */
#define BARCHART	"^BAR"		/* Bar chart drawing */
#define PIECHART	"^LAP"		/* Pie chart drawing */
#define AREAFILL	"^LAF"		/* Area fill */
#define REPEAT		"^DR"		/* Repeat command */
#define AUTOINCDEC	"^Y"		/* Automatic increment/decrement */
#define INFO		"^INFO"		/* Get information from printer */
#define COPIES		"^DC"		/* Number of page copies */
#define STOREOVERLAY	"^DOS"		/* Store an overlay sequence */
#define RECALLOVERLAY	"^DOR"		/* Recall an overlay sequence */
#define CLEAROVERLAY	"^DOC"		/* Clear an overlay sequence */
#define AUTOOVERLAY	"^DAOS"		/* Define an automatic overlay */
#define CLEARAOVERLAY	"^DAOC"		/* Clear an automatic overlay */
#define HORBARCODE	"^B"		/* Horizontal barcodes */
#define VERTBARCODE	"^C"		/* Vertical barcodes */
#define DIABLO		"^IWD"		/* Enable diablo simulation */
#define QUME		"^IWQ"		/* Enable QUME simulation */
#define EXITSIMULATE	"^IWE"		/* Exit simulation mode */
#define PCONFIG		"^ICFG"		/* Printer configuration */
#define TEXTPROC	"^ISTF"		/* Text processing command */
#define EIGHTBITON	"^("		/* Turn on eight bit format */
#define EIGHTBITOFF	"^)"		/* Turn off eight bit format */

#define ENDPASS		"^-"		/* End pass */
#define	NEWLINE		"^*"		/* End pass, new line */
#define	FORMFEED	"^,"		/* End pass, form feed */
#define	ENDCMD		"^G"		/* Command terminator */
#define HEIGHT		"^H"		/* Quic character height */
#define WIDTH		"^W"		/* Quic character width */

/* Structure returned when requesting MAP info */
struct qmsmap {
    int     count;      /* Byte count */
    int     checksum;
    char    *data;      /* "count" bytes of data terminated by NULL */
    struct qmsmap *next;
};

/* Structure returned when requesting PAG info */
struct qmspag {
    char    PO;     /* Orientation. 'P' or 'L' */
    float   TM;     /* Top margin */
    float   BM;     /* Bottom margin */
    float   LM;     /* Left margin */
    float   RM;     /* Right margin */
    float   LPI;    /* Lines per inch */
    float   CPI;    /* Characters per inch. 0 == Proportional */
    short   PT;     /* Paper Tray. 0 == Top tray. 1 == Bottom Tray */
    short   PS;     /* Page Size. 0 == Short. 1 == Long. 2 == European A-4 */
    char    SO;     /* Stacker Offset. 'Y' or 'N' */
    short   CC;     /* Copy Count */
};

/* Structure returned when requesting OVL info */
struct qmsovl {
    enum { regular, automatic } ovltype;
    /* The number and size are only valid for regular overlays */
    int ovlnumber;  /* Overlay number */
    int ovlsize;    /* Overlay size in bytes */
    struct qmsovl   *next;
};

/* Structure returned when requesting PFP info */
struct qmspfp {
    char    *module;    /* Name of installed module */
    struct qmspfp   *next;
};

/* Structure returned when requesting OPC info */
struct qmsopc {
    struct optnode  *OC1, *OC2, *OC3, *OC4, *OC5;
};

struct optnode {
    short   option;     /* Number of option */
    struct optnode  *next;
};

/* Structure returned when requesting RAM info */
struct qmsram {
    short   TR;         /* Total Ram memory in printer */
    short   AR;         /* Current Available Ram memory */
    short   FR;         /* Font Ram memory used */
    short   OR;         /* Overlay Ram memory used */
};

/* Structure returned when requesting FNTB info */
struct qmsfnt {
    struct fontnode *rom;   /* List of rom fonts */
    struct fontnode *ram;   /* List of ram fonts */
};

struct fontnode {
    char    orientation;    /* 'P' or 'L' */
    short   number;         /* Font number */
    long    bytes;          /* Number of bytes in printer */
    char    version;
    char    class;          /* '1' or '2' */
    struct fontnode *next;
};

/* Structure returned when requesting version information */
struct qmsver {
    float   version;	    /* Version of QUIC */
    float   firmware;	    /* Version of the firmware */
    struct date {	    /* Date of the firmware */
	short	month;
	short	day;
	short	year;	    /* Without the 1900 */
    } date;
};

struct qmsmap	*qmsmap();
struct qmspag	*qmspag();
struct qmsovl	*qmsovl();
struct qmspfp	*qmspfp();
struct qmsopc	*qmsopc();
struct qmsram	*qmsram();
struct qmsfnt	*qmsfnt();
struct qmsver	*qmsver();