green-screen-proxy 1.1.2 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +93 -8
- package/dist/cli.js +0 -6
- package/dist/cli.js.map +1 -1
- package/dist/controller.d.ts +3 -0
- package/dist/controller.d.ts.map +1 -1
- package/dist/controller.js +13 -2
- package/dist/controller.js.map +1 -1
- package/dist/index.d.ts +1 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +11 -16
- package/dist/index.js.map +1 -1
- package/dist/protocols/tn5250-handler.d.ts +3 -2
- package/dist/protocols/tn5250-handler.d.ts.map +1 -1
- package/dist/protocols/tn5250-handler.js +83 -25
- package/dist/protocols/tn5250-handler.js.map +1 -1
- package/dist/protocols/types.d.ts +28 -2
- package/dist/protocols/types.d.ts.map +1 -1
- package/dist/protocols/types.js +28 -0
- package/dist/protocols/types.js.map +1 -1
- package/dist/routes.d.ts.map +1 -1
- package/dist/routes.js +160 -34
- package/dist/routes.js.map +1 -1
- package/dist/server.js +1 -5
- package/dist/server.js.map +1 -1
- package/dist/session-store.d.ts +68 -0
- package/dist/session-store.d.ts.map +1 -0
- package/dist/session-store.js +40 -0
- package/dist/session-store.js.map +1 -0
- package/dist/session.d.ts +26 -3
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +83 -11
- package/dist/session.js.map +1 -1
- package/dist/standalone.d.ts +3 -0
- package/dist/standalone.d.ts.map +1 -0
- package/dist/standalone.js +6 -0
- package/dist/standalone.js.map +1 -0
- package/dist/tn5250/connection.d.ts +5 -0
- package/dist/tn5250/connection.d.ts.map +1 -1
- package/dist/tn5250/connection.js +25 -1
- package/dist/tn5250/connection.js.map +1 -1
- package/dist/tn5250/constants.d.ts +39 -3
- package/dist/tn5250/constants.d.ts.map +1 -1
- package/dist/tn5250/constants.js +51 -3
- package/dist/tn5250/constants.js.map +1 -1
- package/dist/tn5250/ebcdic-jp-builtin.d.ts +45 -0
- package/dist/tn5250/ebcdic-jp-builtin.d.ts.map +1 -0
- package/dist/tn5250/ebcdic-jp-builtin.js +124 -0
- package/dist/tn5250/ebcdic-jp-builtin.js.map +1 -0
- package/dist/tn5250/ebcdic-jp.d.ts +61 -0
- package/dist/tn5250/ebcdic-jp.d.ts.map +1 -0
- package/dist/tn5250/ebcdic-jp.js +188 -0
- package/dist/tn5250/ebcdic-jp.js.map +1 -0
- package/dist/tn5250/ebcdic.d.ts +13 -4
- package/dist/tn5250/ebcdic.d.ts.map +1 -1
- package/dist/tn5250/ebcdic.js +30 -8
- package/dist/tn5250/ebcdic.js.map +1 -1
- package/dist/tn5250/encoder.d.ts +41 -9
- package/dist/tn5250/encoder.d.ts.map +1 -1
- package/dist/tn5250/encoder.js +228 -41
- package/dist/tn5250/encoder.js.map +1 -1
- package/dist/tn5250/parser.d.ts +14 -0
- package/dist/tn5250/parser.d.ts.map +1 -1
- package/dist/tn5250/parser.js +428 -53
- package/dist/tn5250/parser.js.map +1 -1
- package/dist/tn5250/screen.d.ts +144 -24
- package/dist/tn5250/screen.d.ts.map +1 -1
- package/dist/tn5250/screen.js +244 -13
- package/dist/tn5250/screen.js.map +1 -1
- package/dist/ui/assets/index-B51sr7HL.js +56 -0
- package/dist/ui/assets/index-B9wpEWAh.css +1 -0
- package/dist/ui/assets/index-BrUnECmE.css +1 -0
- package/dist/ui/assets/index-CDBbEXbH.js +56 -0
- package/dist/ui/index.html +16 -0
- package/dist/websocket.d.ts +3 -0
- package/dist/websocket.d.ts.map +1 -1
- package/dist/websocket.js +90 -1
- package/dist/websocket.js.map +1 -1
- package/dist/worker/index.js +5573 -0
- package/package.json +1 -1
package/dist/tn5250/encoder.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TELNET, KEY_TO_AID, AID, FFW } from './constants.js';
|
|
1
|
+
import { TELNET, KEY_TO_AID, AID, FFW, CMD, RECORD_H, RECORD_OPCODE } from './constants.js';
|
|
2
2
|
import { charToEbcdic, EBCDIC_SPACE } from './ebcdic.js';
|
|
3
3
|
/**
|
|
4
4
|
* Encodes client responses (aid keys + field data) into 5250 data stream
|
|
@@ -11,62 +11,249 @@ export class TN5250Encoder {
|
|
|
11
11
|
}
|
|
12
12
|
/**
|
|
13
13
|
* Build a 5250 input response for an aid key press.
|
|
14
|
-
*
|
|
14
|
+
* Dispatches based on the current read_opcode set by the most recent
|
|
15
|
+
* Read command from the host, and handles special-AID cases (SysReq,
|
|
16
|
+
* Attn, TestReq, Print) with the correct record header flags.
|
|
15
17
|
* Returns a Buffer ready to send over the TCP socket (with Telnet EOR framing).
|
|
16
18
|
*/
|
|
17
19
|
buildAidResponse(keyName) {
|
|
18
20
|
const aidByte = KEY_TO_AID[keyName];
|
|
19
21
|
if (aidByte === undefined)
|
|
20
22
|
return null;
|
|
23
|
+
// --- Special AID keys (lib5250 session.c:1241-1326) ---
|
|
24
|
+
// These use distinct record-header flags/opcodes and send NO field data.
|
|
25
|
+
if (aidByte === AID.SYS_REQUEST) {
|
|
26
|
+
// Per session.c:1264-1281: send an empty record with flags=SRQ, opcode=NO_OP.
|
|
27
|
+
this.screen.keyboardLocked = true;
|
|
28
|
+
return this.buildEmptyRecord(RECORD_H.SRQ, RECORD_OPCODE.NO_OP);
|
|
29
|
+
}
|
|
30
|
+
if (aidByte === AID.ATTN) {
|
|
31
|
+
// Per session.c:1290-1306: flags=ATN, opcode=NO_OP, no data.
|
|
32
|
+
this.screen.keyboardLocked = true;
|
|
33
|
+
return this.buildEmptyRecord(RECORD_H.ATN, RECORD_OPCODE.NO_OP);
|
|
34
|
+
}
|
|
35
|
+
if (aidByte === AID.TEST_REQUEST) {
|
|
36
|
+
// Per session.c:1283-1288: flags=TRQ, opcode=NO_OP, no data.
|
|
37
|
+
return this.buildEmptyRecord(RECORD_H.TRQ, RECORD_OPCODE.NO_OP);
|
|
38
|
+
}
|
|
39
|
+
if (aidByte === AID.PRINT || aidByte === AID.RECORD_BACKSPACE) {
|
|
40
|
+
// Per session.c:1246-1262: send cursor + AID only, opcode=NO_OP.
|
|
41
|
+
const cursorRow = this.screen.cursorRow;
|
|
42
|
+
const cursorCol = this.screen.cursorCol;
|
|
43
|
+
return this.buildPacket(RECORD_H.NONE, RECORD_OPCODE.NO_OP, Buffer.from([cursorRow + 1, cursorCol + 1, aidByte]));
|
|
44
|
+
}
|
|
45
|
+
// --- Normal AID keys — dispatch on read_opcode ---
|
|
46
|
+
// Per session.c:381-446 (tn5250_session_send_fields).
|
|
21
47
|
const parts = [];
|
|
22
48
|
const cursorRow = this.screen.cursorRow;
|
|
23
49
|
const cursorCol = this.screen.cursorCol;
|
|
24
|
-
//
|
|
25
|
-
parts.push(this.buildGDSHeader());
|
|
26
|
-
// Cursor position (1-based, per 5250 spec) + AID byte
|
|
50
|
+
// Cursor position (1-based per 5250 spec) + AID byte
|
|
27
51
|
parts.push(Buffer.from([cursorRow + 1, cursorCol + 1, aidByte]));
|
|
28
|
-
//
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
52
|
+
// CLEAR is special — sends cursor + AID only, no field data
|
|
53
|
+
// (per lib5250 it exits the read but produces no field data; hosts
|
|
54
|
+
// check the AID code to react).
|
|
55
|
+
if (aidByte === AID.CLEAR) {
|
|
56
|
+
this.screen.readOpcode = 0;
|
|
57
|
+
this.screen.keyboardLocked = true;
|
|
58
|
+
return this.buildPacket(RECORD_H.NONE, RECORD_OPCODE.PUT_GET, Buffer.concat(parts));
|
|
59
|
+
}
|
|
60
|
+
// Dispatch by read_opcode — each mode has different encoding rules for
|
|
61
|
+
// modified flag selection, NUL handling, and sign-nibble handling.
|
|
62
|
+
// If no read_opcode is set (host never issued a Read), fall back to
|
|
63
|
+
// MDT-fields semantics — this keeps behavior sane for hosts that
|
|
64
|
+
// simply issue a WTD with INVITE and expect any AID to return data.
|
|
65
|
+
const readOp = this.screen.readOpcode || CMD.READ_MDT_FIELDS;
|
|
66
|
+
switch (readOp) {
|
|
67
|
+
case CMD.READ_INPUT_FIELDS:
|
|
68
|
+
case CMD.READ_IMMEDIATE: {
|
|
69
|
+
// Per session.c:382-406: if ANY field is modified, send data for ALL
|
|
70
|
+
// input fields (inline, no SBA markers). Format: signed-num fields
|
|
71
|
+
// have sign-nibble zone-shifted into the last digit; other fields
|
|
72
|
+
// have embedded NULs translated to SPACE (0x40).
|
|
73
|
+
const anyModified = this.screen.fields.some(f => f.modified);
|
|
74
|
+
if (anyModified) {
|
|
75
|
+
for (const field of this.screen.fields) {
|
|
76
|
+
if (!this.screen.isInputField(field))
|
|
77
|
+
continue;
|
|
78
|
+
// Continued subfields: only the "first" emits data; the rest are
|
|
79
|
+
// skipped (their content is merged into the first's output).
|
|
80
|
+
if (field.continuous && !field.continuedFirst)
|
|
81
|
+
continue;
|
|
82
|
+
parts.push(this.encodeFieldInline(field));
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
break;
|
|
45
86
|
}
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
87
|
+
case CMD.READ_MDT_FIELDS:
|
|
88
|
+
case CMD.READ_MDT_FIELDS_ALT:
|
|
89
|
+
case CMD.READ_IMMEDIATE_ALT:
|
|
90
|
+
default: {
|
|
91
|
+
// Per session.c:408-424: send ONLY modified fields, each prefixed
|
|
92
|
+
// with SBA (0x11 row col). Signed-num: sign position stripped, sign
|
|
93
|
+
// nibble merged into last digit. READ_MDT_FIELDS: trailing AND
|
|
94
|
+
// embedded NULs → SPACE (0x40). Alt commands: leave NULs as-is.
|
|
95
|
+
const translateNuls = readOp === CMD.READ_MDT_FIELDS;
|
|
96
|
+
for (const field of this.screen.fields) {
|
|
97
|
+
if (!field.modified)
|
|
98
|
+
continue;
|
|
99
|
+
if (!this.screen.isInputField(field))
|
|
100
|
+
continue;
|
|
101
|
+
// Continued subfields: only the "first" emits data. Per session.c
|
|
102
|
+
// the modified flag propagates up the chain via set_mdt, so the
|
|
103
|
+
// "first" will be marked modified if any subfield is modified.
|
|
104
|
+
if (field.continuous && !field.continuedFirst)
|
|
105
|
+
continue;
|
|
106
|
+
parts.push(Buffer.from([0x11, field.row + 1, field.col + 1]));
|
|
107
|
+
parts.push(this.encodeFieldMdt(field, translateNuls));
|
|
108
|
+
}
|
|
109
|
+
break;
|
|
50
110
|
}
|
|
51
|
-
|
|
52
|
-
|
|
111
|
+
}
|
|
112
|
+
// Clear the read state — the host must issue a new Read command to
|
|
113
|
+
// request more input.
|
|
114
|
+
this.screen.readOpcode = 0;
|
|
115
|
+
this.screen.keyboardLocked = true;
|
|
116
|
+
return this.buildPacket(RECORD_H.NONE, RECORD_OPCODE.PUT_GET, Buffer.concat(parts));
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Encode a field for Read Input Fields / Read Immediate (inline, no SBA).
|
|
120
|
+
* Per lib5250 session.c:522-542.
|
|
121
|
+
* - Embedded NULs → 0x40 (SPACE).
|
|
122
|
+
* - Signed-num fields: trailing '-' is merged into the last digit's zone
|
|
123
|
+
* nibble (0xD0 | digit_low), and the sign position itself is omitted.
|
|
124
|
+
*/
|
|
125
|
+
encodeFieldInline(field) {
|
|
126
|
+
const raw = this.getFieldEbcdicData(field);
|
|
127
|
+
const size = raw.length;
|
|
128
|
+
if (size === 0)
|
|
129
|
+
return Buffer.alloc(0);
|
|
130
|
+
const isSigned = (field.ffw1 & FFW.SHIFT_MASK) === FFW.SHIFT_SIGNED_NUM;
|
|
131
|
+
if (isSigned && size >= 2) {
|
|
132
|
+
// Send size-1 bytes (sign position dropped), NULs → SPACE.
|
|
133
|
+
// The second-last byte gets zone-shifted if the sign byte is '-'.
|
|
134
|
+
const out = Buffer.alloc(size - 1);
|
|
135
|
+
for (let n = 0; n < size - 1; n++) {
|
|
136
|
+
out[n] = raw[n] === 0x00 ? EBCDIC_SPACE : raw[n];
|
|
53
137
|
}
|
|
138
|
+
// If last byte is EBCDIC '-' (0x60), merge sign nibble into last digit
|
|
139
|
+
if (raw[size - 1] === 0x60 && size >= 2) {
|
|
140
|
+
out[size - 2] = 0xD0 | (raw[size - 2] & 0x0F);
|
|
141
|
+
}
|
|
142
|
+
return out;
|
|
143
|
+
}
|
|
144
|
+
// Non-signed: NULs → SPACE, send full length.
|
|
145
|
+
const out = Buffer.alloc(size);
|
|
146
|
+
for (let n = 0; n < size; n++) {
|
|
147
|
+
out[n] = raw[n] === 0x00 ? EBCDIC_SPACE : raw[n];
|
|
54
148
|
}
|
|
55
|
-
return
|
|
149
|
+
return out;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Encode a field for Read MDT Fields / Read MDT Fields Alt / Read Immediate Alt.
|
|
153
|
+
* Per lib5250 session.c:544-596.
|
|
154
|
+
* - Strips trailing NULs.
|
|
155
|
+
* - Signed-num: drops sign position; merges zone nibble into last digit.
|
|
156
|
+
* - Read MDT Fields (not Alt): embedded NULs → 0x40.
|
|
157
|
+
* - Alt variants: embedded NULs preserved as-is.
|
|
158
|
+
*/
|
|
159
|
+
encodeFieldMdt(field, translateNuls) {
|
|
160
|
+
const raw = this.getFieldEbcdicData(field);
|
|
161
|
+
let size = raw.length;
|
|
162
|
+
if (size === 0)
|
|
163
|
+
return Buffer.alloc(0);
|
|
164
|
+
const isSigned = (field.ffw1 & FFW.SHIFT_MASK) === FFW.SHIFT_SIGNED_NUM;
|
|
165
|
+
// Last byte (with possible sign transformation)
|
|
166
|
+
let lastByte = raw[size - 1];
|
|
167
|
+
if (isSigned) {
|
|
168
|
+
// Drop the sign position
|
|
169
|
+
size--;
|
|
170
|
+
lastByte = size > 0 ? raw[size - 1] : 0;
|
|
171
|
+
if (size >= 1 && raw[size] === 0x60) {
|
|
172
|
+
// Sign byte was '-': merge into the new last digit's zone nibble
|
|
173
|
+
lastByte = 0xD0 | (lastByte & 0x0F);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
// Strip trailing NULs
|
|
177
|
+
while (size > 0 && raw[size - 1] === 0x00) {
|
|
178
|
+
size--;
|
|
179
|
+
lastByte = size > 0 ? raw[size - 1] : 0;
|
|
180
|
+
}
|
|
181
|
+
if (size === 0)
|
|
182
|
+
return Buffer.alloc(0);
|
|
183
|
+
const out = Buffer.alloc(size);
|
|
184
|
+
for (let n = 0; n < size - 1; n++) {
|
|
185
|
+
if (translateNuls && raw[n] === 0x00) {
|
|
186
|
+
out[n] = EBCDIC_SPACE;
|
|
187
|
+
}
|
|
188
|
+
else {
|
|
189
|
+
out[n] = raw[n];
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
// Last byte: apply NUL translation if requested
|
|
193
|
+
out[size - 1] = (translateNuls && lastByte === 0x00) ? EBCDIC_SPACE : lastByte;
|
|
194
|
+
return out;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Extract a field's content as raw EBCDIC bytes (before any translation).
|
|
198
|
+
* For continued-first fields, reconstructs the full concatenated content
|
|
199
|
+
* by walking subsequent continued subfields in the fields list
|
|
200
|
+
* (per lib5250 session.c:487-520).
|
|
201
|
+
*/
|
|
202
|
+
getFieldEbcdicData(field) {
|
|
203
|
+
const pieces = [this.encodeSingleField(field)];
|
|
204
|
+
if (field.continuous && field.continuedFirst) {
|
|
205
|
+
// Walk the fields list from this field forward, collecting all
|
|
206
|
+
// subsequent continuous subfields until we hit the "last" one.
|
|
207
|
+
// Per C: "Assumes for now that all the continued field are one after
|
|
208
|
+
// the other and not distributed among other fields."
|
|
209
|
+
const fields = this.screen.fields;
|
|
210
|
+
const idx = fields.indexOf(field);
|
|
211
|
+
if (idx >= 0) {
|
|
212
|
+
for (let i = idx + 1; i < fields.length; i++) {
|
|
213
|
+
const next = fields[i];
|
|
214
|
+
if (!next.continuous)
|
|
215
|
+
break;
|
|
216
|
+
pieces.push(this.encodeSingleField(next));
|
|
217
|
+
if (next.continuedLast)
|
|
218
|
+
break;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
return Buffer.concat(pieces);
|
|
223
|
+
}
|
|
224
|
+
/** Encode one single field's content to EBCDIC (no continuation walk). */
|
|
225
|
+
encodeSingleField(field) {
|
|
226
|
+
const value = this.screen.getFieldValue(field);
|
|
227
|
+
const buf = Buffer.alloc(value.length);
|
|
228
|
+
for (let i = 0; i < value.length; i++) {
|
|
229
|
+
// Preserve NUL characters (stored in the buffer as char code 0).
|
|
230
|
+
const code = value.charCodeAt(i);
|
|
231
|
+
buf[i] = code === 0 ? 0x00 : charToEbcdic(value[i]);
|
|
232
|
+
}
|
|
233
|
+
return buf;
|
|
234
|
+
}
|
|
235
|
+
/** Build an empty 10-byte record (no data) with the given flags/opcode. */
|
|
236
|
+
buildEmptyRecord(flags, opcode) {
|
|
237
|
+
return this.buildPacket(flags, opcode, Buffer.alloc(0));
|
|
238
|
+
}
|
|
239
|
+
/** Build a full 5250 packet: 10-byte GDS header + data, then Telnet EOR. */
|
|
240
|
+
buildPacket(flags, opcode, data) {
|
|
241
|
+
const header = this.buildGDSHeader(flags, opcode);
|
|
242
|
+
return this.wrapWithEOR(Buffer.concat([header, data]));
|
|
56
243
|
}
|
|
57
244
|
/**
|
|
58
|
-
* Build a GDS header for a client response
|
|
59
|
-
*
|
|
245
|
+
* Build a GDS header for a client response.
|
|
246
|
+
* Per lib5250 telnetstr.c:860-895:
|
|
60
247
|
* Bytes 0-1: record length (filled by wrapWithEOR)
|
|
61
|
-
* Bytes 2-3: record type 0x12A0
|
|
62
|
-
* Bytes 4-5:
|
|
63
|
-
* Byte 6:
|
|
64
|
-
* Byte 7:
|
|
65
|
-
* Byte 8:
|
|
66
|
-
* Byte 9:
|
|
248
|
+
* Bytes 2-3: record type 0x12A0
|
|
249
|
+
* Bytes 4-5: flowtype (0x0000 = DISPLAY)
|
|
250
|
+
* Byte 6: sub-header length 0x04
|
|
251
|
+
* Byte 7: flags
|
|
252
|
+
* Byte 8: reserved 0x00
|
|
253
|
+
* Byte 9: opcode
|
|
67
254
|
*/
|
|
68
|
-
buildGDSHeader() {
|
|
69
|
-
return Buffer.from([0x00, 0x00, 0x12, 0xA0, 0x00, 0x00, 0x04,
|
|
255
|
+
buildGDSHeader(flags = RECORD_H.NONE, opcode = RECORD_OPCODE.PUT_GET) {
|
|
256
|
+
return Buffer.from([0x00, 0x00, 0x12, 0xA0, 0x00, 0x00, 0x04, flags, 0x00, opcode]);
|
|
70
257
|
}
|
|
71
258
|
/**
|
|
72
259
|
* Wrap data with Telnet IAC EOR framing.
|
|
@@ -192,7 +379,7 @@ export class TN5250Encoder {
|
|
|
192
379
|
const newPos = this.screen.toRowCol(Math.min(cursorOffset, fieldEnd - 1));
|
|
193
380
|
this.screen.cursorRow = newPos.row;
|
|
194
381
|
this.screen.cursorCol = newPos.col;
|
|
195
|
-
field
|
|
382
|
+
this.screen.setFieldMdt(field);
|
|
196
383
|
return true;
|
|
197
384
|
}
|
|
198
385
|
/**
|
|
@@ -214,7 +401,7 @@ export class TN5250Encoder {
|
|
|
214
401
|
const adjusted = padChar.repeat(field.length - trimmed.length) + trimmed;
|
|
215
402
|
this.screen.setFieldValue(field, adjusted);
|
|
216
403
|
}
|
|
217
|
-
field
|
|
404
|
+
this.screen.setFieldMdt(field);
|
|
218
405
|
return true;
|
|
219
406
|
}
|
|
220
407
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"encoder.js","sourceRoot":"","sources":["../../src/tn5250/encoder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"encoder.js","sourceRoot":"","sources":["../../src/tn5250/encoder.ts"],"names":[],"mappings":"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"}
|
package/dist/tn5250/parser.d.ts
CHANGED
|
@@ -86,6 +86,20 @@ export declare class TN5250Parser {
|
|
|
86
86
|
* Followed by minor structures (type 0x10 = choice text, etc.)
|
|
87
87
|
*/
|
|
88
88
|
private parseDefineSelectionField;
|
|
89
|
+
/**
|
|
90
|
+
* Parse DEFINE_SCROLL_BAR structured field data.
|
|
91
|
+
* Per lib5250 session.c:3362-3451.
|
|
92
|
+
*
|
|
93
|
+
* Payload format (after WDSF class/type):
|
|
94
|
+
* [flagbyte1] 0x80 = horizontal, else vertical
|
|
95
|
+
* [reserved]
|
|
96
|
+
* [totalrowscols1..4] BCD digits (1000s, 100s, 10s, 1s)
|
|
97
|
+
* [sliderpos1..4] BCD digits (1000s, 100s, 10s, 1s)
|
|
98
|
+
* [size]
|
|
99
|
+
*
|
|
100
|
+
* Position is the current cursor (1-based per lib5250 convention).
|
|
101
|
+
*/
|
|
102
|
+
private parseDefineScrollbar;
|
|
89
103
|
/**
|
|
90
104
|
* Roll (scroll) screen buffer rows within [top, bot] by `lines` rows.
|
|
91
105
|
* Negative = scroll up, positive = scroll down.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/tn5250/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/tn5250/parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAqB,MAAM,aAAa,CAAC;AAK9D;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAe;IAC7B,mEAAmE;IACnE,OAAO,CAAC,kBAAkB,CAAS;IACnC,6EAA6E;IAC7E,iBAAiB,UAAS;IAC1B;2EACuE;IACvE,OAAO,CAAC,SAAS,CAAS;IAC1B;oEACgE;IAChE,SAAS,SAAK;IACd,SAAS,SAAK;gBAEF,MAAM,EAAE,YAAY;IAIhC;;;OAGG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAyFpC,8DAA8D;IAC9D,OAAO,CAAC,eAAe;IAOvB;;;;;;OAMG;IACH,OAAO,CAAC,uBAAuB;IAiB/B,yDAAyD;IACzD,OAAO,CAAC,aAAa;IA2PrB;;;OAGG;IACH,OAAO,CAAC,WAAW;IAkZnB;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAoC3B;;;;;;;;OAQG;IACH,OAAO,CAAC,eAAe;IAgJvB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,iBAAiB;IAWzB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;IAqEzB;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,yBAAyB;IAuEjC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,oBAAoB;IA8C5B;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAmDlB;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,SAAS;IAkBjB,+EAA+E;IAC/E,OAAO,CAAC,oBAAoB;IAO5B;;;OAGG;IACH,qBAAqB,IAAI,IAAI;CA4E9B"}
|