2
* Modifications Copyright 1993, 1994, 1995, 1999, 2000, 2002, 2003, 2004,
4
* RPQNAMES modifications Copyright 2004 by Don Russell.
5
* Original X11 Port Copyright 1990 by Jeff Sparkes.
6
* Permission to use, copy, modify, and distribute this software and its
7
* documentation for any purpose and without fee is hereby granted,
8
* provided that the above copyright notice appear in all copies and that
9
* both that copyright notice and this permission notice appear in
10
* supporting documentation.
12
* Copyright 1989 by Georgia Tech Research Corporation, Atlanta, GA 30332.
13
* All Rights Reserved. GTRC hereby grants public use of this software.
14
* Derivative works based on this software must incorporate this copyright
17
* x3270, c3270, s3270, tcl3270 and pr3287 are distributed in the hope that
18
* they will be useful, but WITHOUT ANY WARRANTY; without even the implied
19
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20
* file LICENSE for more details.
2
* Copyright (c) 1993-2009, Paul Mattes.
3
* Copyright (c) 2004, Don Russell.
4
* Copyright (c) 1990, Jeff Sparkes.
5
* Copyright (c) 1989, Georgia Tech Research Corporation (GTRC), Atlanta, GA
9
* Redistribution and use in source and binary forms, with or without
10
* modification, are permitted provided that the following conditions are met:
11
* * Redistributions of source code must retain the above copyright
12
* notice, this list of conditions and the following disclaimer.
13
* * Redistributions in binary form must reproduce the above copyright
14
* notice, this list of conditions and the following disclaimer in the
15
* documentation and/or other materials provided with the distribution.
16
* * Neither the names of Paul Mattes, Don Russell, Jeff Sparkes, GTRC nor
17
* the names of their contributors may be used to endorse or promote
18
* products derived from this software without specific prior written
21
* THIS SOFTWARE IS PROVIDED BY PAUL MATTES, DON RUSSELL, JEFF SPARKES AND GTRC
22
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
23
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
24
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL PAUL MATTES, DON RUSSELL, JEFF
25
* SPARKES OR GTRC BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
26
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
27
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
28
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
29
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
30
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
31
* ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
123
134
/* Query replies */
124
135
#define QR_SUMMARY 0x80 /* summary */
125
136
#define QR_USABLE_AREA 0x81 /* usable area */
137
#define QR_IMAGE 0x82 /* image */
138
#define QR_TEXT_PART 0x83 /* text partitions */
126
139
#define QR_ALPHA_PART 0x84 /* alphanumeric partitions */
127
140
#define QR_CHARSETS 0x85 /* character sets */
128
141
#define QR_COLOR 0x86 /* color */
129
142
#define QR_HIGHLIGHTING 0x87 /* highlighting */
130
143
#define QR_REPLY_MODES 0x88 /* reply modes */
144
#define QR_FIELD_VAL 0x8a /* field validation */
145
#define QR_MSR_CTL 0x8b /* MSR control */
146
#define QR_OUTLINING 0x8c /* field outlining */
147
#define QR_PART_CHAR 0x8e /* partition characteristics */
148
#define QR_OEM_AUX 0x8f /* OEM auxiliary device */
149
#define QR_FMT_PRES 0x90 /* format presentation */
131
150
#define QR_DBCS_ASIA 0x91 /* DBCS-Asia */
151
#define QR_SAVE_RESTORE 0x92 /* save/restore format */
132
152
#define QR_PC3270 0x93 /* PC3270 */
153
#define QR_FMT_SAD 0x94 /* format storage auxiliary device */
133
154
#define QR_DDM 0x95 /* distributed data management */
155
#define QR_STG_POOLS 0x96 /* storage pools */
156
#define QR_DIA 0x97 /* document interchange architecture */
157
#define QR_DATA_CHAIN 0x98 /* data chaining */
158
#define QR_AUX_DEVICE 0x99 /* auxiliary device */
159
#define QR_3270_IPDS 0x9a /* 3270 IPDS */
160
#define QR_PDDS 0x9c /* product defined data stream */
161
#define QR_IBM_AUX 0x9e /* IBM auxiliary device */
162
#define QR_BEGIN_EOF 0x9f /* begin/end of file */
163
#define QR_DEVICE_CHAR 0xa0 /* device characteristics */
134
164
#define QR_RPQNAMES 0xa1 /* RPQ names */
165
#define QR_DATA_STREAMS 0xa2 /* data streams */
135
166
#define QR_IMP_PART 0xa6 /* implicit partition */
167
#define QR_PAPER_FEED 0xa7 /* paper feed techniques */
168
#define QR_TRANSPARENCY 0xa8 /* transparency */
169
#define QR_SPC 0xa9 /* settable printer characteristics */
170
#define QR_IOCA_AD 0xaa /* IOCA auxiliary device */
171
#define QR_CPR 0xab /* cooperative proc. requestor */
172
#define QR_SEGMENT 0xb0 /* segment */
173
#define QR_PROCEDURE 0xb1 /* procedure */
174
#define QR_LINE_TYPE 0xb2 /* line type */
175
#define QR_PORT 0xb3 /* port */
176
#define QR_GCOLOR 0xb4 /* graphic color */
177
#define QR_XDR 0xb5 /* extended drawing routine */
178
#define QR_GSS 0xb6 /* graphic symbol sets */
136
179
#define QR_NULL 0xff /* null */
138
181
#define BA_TO_ROW(ba) ((ba) / COLS)
261
304
#define SFID_QREPLY 0x81
264
#define COLOR_NEUTRAL_BLACK 0
268
#define COLOR_GREEN 4
269
#define COLOR_TURQUOISE 5
270
#define COLOR_YELLOW 6
271
#define COLOR_NEUTRAL_WHITE 7
272
#define COLOR_BLACK 8
273
#define COLOR_DEEP_BLUE 9
274
#define COLOR_ORANGE 10
275
#define COLOR_PURPLE 11
276
#define COLOR_PALE_GREEN 12
277
#define COLOR_PALE_TURQUOISE 13
278
#define COLOR_GREY 14
279
#define COLOR_WHITE 15
307
#define HOST_COLOR_NEUTRAL_BLACK 0
308
#define HOST_COLOR_BLUE 1
309
#define HOST_COLOR_RED 2
310
#define HOST_COLOR_PINK 3
311
#define HOST_COLOR_GREEN 4
312
#define HOST_COLOR_TURQUOISE 5
313
#define HOST_COLOR_YELLOW 6
314
#define HOST_COLOR_NEUTRAL_WHITE 7
315
#define HOST_COLOR_BLACK 8
316
#define HOST_COLOR_DEEP_BLUE 9
317
#define HOST_COLOR_ORANGE 10
318
#define HOST_COLOR_PURPLE 11
319
#define HOST_COLOR_PALE_GREEN 12
320
#define HOST_COLOR_PALE_TURQUOISE 13
321
#define HOST_COLOR_GREY 14
322
#define HOST_COLOR_WHITE 15
281
324
/* Data stream manipulation macros. */
282
325
#define MASK32 0xff000000U
325
369
#define EBC_0 0xf0
326
370
#define EBC_9 0xf9
327
371
#define EBC_eo 0xff
372
#define EBC_less 0x4c
373
#define EBC_greaer 0x6e
378
/* Unicode private-use definitions. */
379
#define UPRIV_GE_00 0xf700 /* first GE */
380
#define UPRIV_GE_ff 0xf7ff /* last GE */
381
#define UPRIV_sub 0xf8fc
382
#define UPRIV_eo 0xf8fd
383
#define UPRIV_fm 0xf8fe
384
#define UPRIV_dup 0xf8ff
329
386
/* BIND definitions. */
330
387
#define BIND_RU 0x31
331
#define BIND_OFF_PLU_NAME_LEN 26
332
#define BIND_OFF_PLU_NAME 27
388
#define BIND_OFF_MAXRU_SEC 10
389
#define BIND_OFF_MAXRU_PRI 11
390
#define BIND_OFF_RD 20
391
#define BIND_OFF_CD 21
392
#define BIND_OFF_RA 22
393
#define BIND_OFF_CA 23
394
#define BIND_OFF_SSIZE 24
395
#define BIND_OFF_PLU_NAME_LEN 27
333
396
#define BIND_PLU_NAME_MAX 8
397
#define BIND_OFF_PLU_NAME 28
400
#define MODEL_2_ROWS 24
401
#define MODEL_2_COLS 80
402
#define MODEL_3_ROWS 32
403
#define MODEL_3_COLS 80
404
#define MODEL_4_ROWS 43
405
#define MODEL_4_COLS 80
406
#define MODEL_5_ROWS 27
407
#define MODEL_5_COLS 132