1s3270(1) General Commands Manual s3270(1)
2
3
4
6 s3270 - IBM host access tool
7
9 s3270 [options] [host]
10 s3270 [options] session-file.s3270
11
13 s3270 opens a telnet connection to an IBM host, then allows a script to
14 control the host login session. It is derived from x3270(1), an X-win‐
15 dows IBM 3270 emulator. It implements RFCs 2355 (TN3270E), 1576
16 (TN3270) and 1646 (LU name selection), and supports IND$FILE file
17 transfer. The full syntax for host is:
18 [prefix:]...[LUname@]hostname[:port][=accept]
19
20 Prepending a P: onto hostname causes the connection to go through the
21 telnet-passthru service rather than directly to the host. See PASSTHRU
22 below.
23
24 Prepending an S: onto hostname removes the "extended data stream"
25 option reported to the host. See -tn below for further information.
26
27 Prepending an N: onto hostname turns off TN3270E support for the ses‐
28 sion.
29
30 Prepending an L: onto hostname causes s3270 to first create a TLS tun‐
31 nel to the host, and then create a TN3270 session inside the tunnel.
32 (This function is supported only if s3270 was built with TLS support).
33 Note that TLS-encrypted sessions using the TELNET START-TLS option are
34 negotiated with the host automatically; for these sessions the L: pre‐
35 fix should not be used.
36
37 Prepending a Y: onto hostname causes s3270 to skip validation of host
38 TLS certificates. This overrides any other configuration or command-
39 line options.
40
41 Prepending an A: onto hostname is equivalent to setting the -nvt
42 option; it forces an NVT-mode session instead of a 3270-mode session.
43
44 A specific Logical Unit (LU) name to use may be specified by prepending
45 it to the hostname with an `@'. Multiple LU names to try can be sepa‐
46 rated by commas. An empty LU can be placed in the list with an extra
47 comma. (Note that the LU name is used for different purposes by dif‐
48 ferent kinds of hosts. For example, CICS uses the LU name as the Ter‐
49 minal ID.)
50
51 The hostname may optionally be placed inside square-bracket characters
52 `[' and `]'. This will prevent any colon `:' characters in the host‐
53 name from being interpreted as indicating option prefixes or port num‐
54 bers. This allows numeric IPv6 addresses to be used as hostnames.
55
56 On systems that support the forkpty library call, the hostname may be
57 replaced with -e and a command string. This will cause s3270 to con‐
58 nect to a local child process, such as a shell.
59
60 The port to connect to defaults to telnet. This can be overridden with
61 the -port option, or by appending a port to the hostname with a colon
62 `:'. (For compatability with previous versions of s3270 and with
63 tn3270(1), the port may also be specified as a second, separate argu‐
64 ment.)
65
66 An optional accept name (a hostname to accept in the host's TLS cer‐
67 tificate) may be specified by appending it to the hostname with an
68 equals sign (`='). The accept name can also be specified with the
69 -accepthostname option.
70
71
73 s3270 understands the following options:
74
75 -accepthostname name
76 Specifies a particular hostname to accept when validating the
77 name presented in the server SSL certificate, instead of compar‐
78 ing to the name used to make the connection.
79
80 -cadir directory
81 Specifies a directory containing CA (root) certificates to use
82 when verifying a certificate provided by the host. (OpenSSL
83 only)
84
85 -cafile filename
86 Specifies a PEM-format file containing CA (root) certificates to
87 use when verifying a certificate provided by the host. (OpenSSL
88 only)
89
90 -certfile filename
91 Specifies a file containing a client certificate to provide to
92 the host. The default file type is PEM.
93
94 -clientcert name
95 Specifies the name of a client certificate to provide to the
96 host. (MacOS only)
97
98 -certfiletype type
99 Specifies the type of the certificate file specified by -cert‐
100 file. Type can be pem or asn1. (OpenSSL only)
101
102 -chainfile filename
103 Specifies a certificate chain file in PEM format, containing a
104 certificate to provide to the host, as well as one or more
105 intermediate certificates and the CA certificate used to sign
106 that certificate. If -chainfile is specified, it overrides
107 -certfile. (OpenSSL only)
108
109 -clear toggle
110 Sets the initial value of toggle to false.
111
112 -codepage name
113 Specifies an EBCDIC host code page.
114
115 -connecttimeout seconds
116 Specifies the time that s3270 will wait for a host connection to
117 complete.
118
119 -devname name
120 Specifies a device name (workstation ID) for RFC 4777 support.
121
122 -httpd [addr:]port
123 Specifies a port and optional address to listen on for HTTP con‐
124 nections. Addr can be specified as `*' to indicate 0.0.0.0; the
125 default is 127.0.0.1. IPv6 numeric addresses must be specified
126 inside of square brackets, e.g., [::1]:4080 to specify the IPv6
127 loopback address and TCP port 4080.
128
129 Note that this option is mutually-exclusive with the -scriptport
130 option and disables reading actions from standard input.
131
132 -keyfile filename
133 Specifies a file containing the private key for the certificate
134 file (specified via -certfile or -chainfile). The default file
135 type is PEM. (OpenSSL only)
136
137 -keyfiletype type
138 Specifies the type of the private key file specified by -key‐
139 file. Type can be pem or asn1. (OpenSSL only)
140
141 -keypasswd type:value
142 Specifies the password for the private key file (OpenSSL) or
143 client certificate file (MacOS), if it is encrypted. The argu‐
144 ment can be file:filename, specifying that the password is in a
145 file, or string:string, specifying the password on the command-
146 line directly. If the private key file is encrypted and no
147 -keypasswd option is given, secure connections will not be
148 allowed.
149
150 -km name
151 Specifies the local encoding method for multi-byte text. name
152 is an encoding name recognized by the ICU library. (Supported
153 only when s3270 is compiled with DBCS support, and necessary
154 only when s3270 cannot figure it out from the locale.)
155
156 -loginmacro Action(arg...) ...
157 Specifies a macro to run at login time.
158
159 -minversion version
160 The minimum required version of s3270, e.g., 4.0ga12. If the
161 running version is less than the specified version, s3270 will
162 abort. The format of a version is major.minortypeiteration.
163 type is ignored, and minor and iteration can be omitted.
164
165 -model name
166 The model of 3270 display to be emulated. The model name is in
167 two parts, either of which may be omitted:
168
169 The first part is the base model, which is either 3278 or 3279.
170 3278 specifies a monochrome (green on black) 3270 display; 3279
171 specifies a color 3270 display.
172
173 The second part is the model number, which specifies the number
174 of rows and columns. Model 4 is the default.
175
176 Model Number Columns Rows
177 ──────────────────────────────
178 2 80 24
179 3 80 32
180 4 80 43
181 5 132 27
182
183 Note: Technically, there is no such 3270 display as a 3279-4 or
184 3279-5, but most hosts seem to work with them anyway.
185
186 The default model is 3279-4.
187
188 -noverifycert
189 For TLS connections, do not verify the host certificate.
190
191 -nvt Start in NVT mode instead of waiting for the host to send data,
192 and make the default terminal type xterm.
193
194 -oversize colsxrows
195 Makes the screen larger than the default for the chosen model
196 number. This option has effect only in combination with
197 extended data stream support (controlled by the "s3270.extended"
198 resource), and only if the host supports the Query Reply
199 structured field. The number of columns multiplied by the
200 number of rows must not exceed 16383 (3fff hex), the limit of
201 14-bit 3270 buffer addressing.
202
203 -port n
204 Specifies a different TCP port to connect to. n can be a name
205 from /etc/services like telnet, or a number. This option
206 changes the default port number used for all connections. (The
207 positional parameter affects only the initial connection.)
208
209 -proxy type:host[:port]
210 Causes s3270 to connect via the specified proxy, instead of
211 using a direct connection. The host can be an IP address or
212 hostname. The optional port can be a number or a service name.
213 For a list of supported proxy types, see PROXY below.
214
215 -scriptport [addr:]port
216 Specifies a port and optional address to listen on for scripting
217 connections. Addr can be specified as `*' to indicate 0.0.0.0;
218 the default is 127.0.0.1. IPv6 numeric addresses must be
219 specified inside of square brackets, e.g., [::1]:4081 to specify
220 the IPv6 loopback address and TCP port 4081.
221
222 Note that this option is mutually-exclusive with the -httpd
223 option and disables reading actions from standard input.
224
225 -scriptportonce
226 Allows s3270 to accept only one script connection. When that
227 connection is broken, s3270 will exit.
228
229 -set toggle
230 Sets the initial value of toggle to true.
231
232 -socket
233 Causes the emulator to create a Unix-domain socket when it
234 starts, for use by script processes to send actions to the
235 emulator. The socket is named /tmp/x3sck.pid. The -p option of
236 x3270if causes it to use this socket, instead of pipes specified
237 by environment variables.
238
239 -tn name
240 Specifies the terminal name to be transmitted over the telnet
241 connection. The default name is IBM-model_name-E, for example,
242 IBM-3278-4-E.
243
244 Some hosts are confused by the -E suffix on the terminal name,
245 and will ignore the extra screen area on models 3, 4 and 5.
246 Prepending an S: on the hostname, or setting the
247 "s3270.extended" resource to "false", removes the -E from the
248 terminal name when connecting to such hosts.
249
250 The name can also be specified with the "s3270.termName"
251 resource.
252
253 -trace Turns on data stream and event tracing at startup. The default
254 trace file name is /tmp/x3trc.pid.
255
256 -tracefile file
257 Specifies a file to save data stream and event traces into. If
258 the name starts with `>>', data will be appended to the file.
259
260 -tracefilesize size
261 Places a limit on the size of a trace file. If this option is
262 not specified, or is specified as 0 or none, the trace file size
263 will be unlimited. The minimum size is 64 Kbytes. The value of
264 size can have a K or M suffix, indicating kilobytes or megabytes
265 respectively. When the trace file reaches the size limit, it
266 will be renamed with a `-' appended and a new file started.
267
268 -user name
269 Specifies the user name for RFC 4777 support.
270
271 -utf8 Forces the local codeset to be UTF-8, ignoring the locale or
272 Windows codepage.
273
274 -v Display the version and build options for s3270 and exit.
275
276 -verifycert
277 For TLS connections, verify the host certificate, and do not
278 allow the connection to complete unless it can be validated.
279 (This is the default setting.) This option is overridden by a
280 Y: prepended to the hostname when connecting.
281
282 -xrm "s3270.resource: value"
283 Sets the value of the named resource to value. Resources
284 control less common s3270 options, and are defined under
285 RESOURCES below.
286
287
289 Here is a complete list of basic s3270 actions. Script-specific
290 actions are described on the x3270-script(1) manual page.
291
292 Actions marked with an asterisk (*) may block, sending data to the host
293 and possibly waiting for a response.
294
295 *Attn() attention key
296 BackSpace() move cursor left (or send
297 ASCII BS)
298 BackTab() tab to start of previous input
299 field
300 Charset(charset) change host code page
301 CircumNot() input "^" in NVT mode, or
302 "notsign" in 3270 mode
303 *Clear() clear screen
304 *Connect(host) connect to host
305 *CursorSelect() Cursor Select AID
306 Delete() delete character under cursor
307 (or send ASCII DEL)
308 DeleteField() delete the entire field
309 DeleteWord() delete the current or previous
310 word
311 *Disconnect() disconnect from host
312 Down() move cursor down
313 Dup()([failonerror|nofailonerror]) duplicate field
314 *Enter() Enter AID (or send ASCII CR)
315 Erase() erase previous character (or
316 send ASCII BS)
317 EraseEOF() erase to end of current field
318 EraseInput() erase all input fields
319 FieldEnd() move cursor to end of field
320 FieldMark()([failonerror|nofailonError]) mark field
321 HexString(hex_digits) insert control-character
322 string
323 Home() move cursor to first input
324 field
325 Insert() set insert mode
326 *Interrupt() send TELNET IP to host
327 Key(keysym[,failonerror|nofailonerror]) insert key keysym
328 Key(0xxx[,failonError|nofailonerror]) insert key with character code
329 xx
330 Left() move cursor left
331 Left2() move cursor left 2 positions
332 MonoCase() toggle uppercase-only mode
333 MoveCursor(row,col) move cursor to zero-origin
334 (row,col)
335 Newline() move cursor to first field on
336 next line (or send ASCII LF)
337 NextWord() move cursor to next word
338
339 *PA(n) Program Attention AID (n from
340 1 to 3)
341 *PF(n) Program Function AID (n from 1
342 to 24)
343 PreviousWord() move cursor to previous word
344 PasteString(hex_digits) insert string using pasting
345 behavior
346 PrintText(command) print screen text on printer
347 Quit() exit s3270
348 Redraw() redraw window
349 Reset() reset locked keyboard
350 Right() move cursor right
351 Right2() move cursor right 2 positions
352 *Script(command[,arg...]) run a script
353 *String(string) insert string (simple macro
354 facility)
355 Tab() move cursor to next input
356 field
357 Toggle(option[,set|clear]) toggle an option
358 ToggleInsert() toggle insert mode
359 ToggleReverse() toggle reverse-input mode
360 *Transfer(option=value...') file transfer
361 Up() move cursor up
362
363 Note that certain parameters to s3270 actions (such as the names of
364 files and keymaps) are subject to substitutions:
365
366 The character ~ at the beginning of a string is replaced with the
367 user's home directory. A ~ character followed by a username is
368 replaced with that user's home directory.
369
370 Environment variables are substituted using the Unix shell convention
371 of $name or ${name}.
372
373 Two special pseudo-environment variables are supported. ${TIMESTAMP} is
374 replaced with a microsecond-resolution timestamp; ${UNIQUE} is replaced
375 with a string guaranteed to make a unique filename (the process ID
376 optionally followed by a dash and a string of digits). ${UNIQUE} is
377 used to form trace file names.
378
380 The Transfer() action implements IND$FILE file transfer. This action
381 requires that the IND$FILE program be installed on the IBM host, and
382 that the 3270 cursor be located in a field that will accept a TSO or
383 VM/CMS command.
384
385 Because of the complexity and number of options for file transfer, the
386 parameters to the Transfer() action can take the unique form of
387 option=value. They can also be given with their parameters separately.
388 Options can appear in any order. Note that if the value contains
389 spaces (such as a VM/CMS file name), then the entire parameter must be
390 quoted, e.g., "hostfile=xxx foo a". With sequential options, this
391 would be hostfile,"xxx foo a". The options are:
392
393 Option Required? Default Other Values
394 ────────────────────────────────────────────────────────
395 direction No receive send
396 hostfile Yes
397 localfile Yes
398 host No tso vm, cics
399 mode No ascii binary
400 cr No remove add, keep
401 remap No yes no
402 exist No keep replace, append
403 recfm No fixed, variable,
404 undefined
405 lrecl No
406
407 blksize No
408 allocation No tracks,
409 cylinders,
410 avblock
411 primaryspace Sometimes
412 secondaryspace No
413 avblock Sometimes
414 buffersize No 4096
415
416 The option details are as follows.
417
418 direction
419 send to send a file to the host, receive to receive a file from
420 the host.
421
422 hostfile
423 The name of the file on the host.
424
425 localfile
426 The name of the file on the local workstation.
427
428 host The type of host (which dictates the form of the IND$FILE
429 command): tso (the default), vm or cics.
430
431 mode Use ascii (the default) for a text file, which will be
432 translated between EBCDIC and ASCII as necessary. Use binary
433 for non-text files.
434
435 cr Controls how newline characters are handled when transferring
436 mode=ascii files. remove (the default) strips newline
437 characters in local files before transferring them to the host.
438 add adds newline characters to each host file record before
439 transferring it to the local workstation. keep preserves
440 newline characters when transferring a local file to the host.
441
442 remap Controls text translation for mode=ascii files. The value yes
443 (the default) causes s3270 to remap the text to ensure maximum
444 compatibility between the workstation's character set and
445 encoding and the host's EBCDIC code page. The value no causes
446 s3270 to pass the text to or from the host as-is, leaving all
447 translation to the IND$FILE program on the host.
448
449 exist Controls what happens when the destination file already exists.
450 keep (the default) preserves the file, causing the Transfer()
451 action to fail. replace overwrites the destination file with
452 the source file. append appends the source file to the
453 destination file.
454
455 recfm Controls the record format of files created on the host. (TSO
456 and VM hosts only.) fixed creates a file with fixed-length
457 records. variable creates a file with variable-length records.
458 undefined creates a file with undefined-length records (TSO
459 hosts only). The lrecl option controls the record length or
460 maximum record length for recfm=fixed and recfm=variable files,
461 respectively.
462
463 lrecl Specifies the record length (or maximum record length) for files
464 created on the host. (TSO and VM hosts only.)
465
466 blksize
467 Specifies the block size for files created on the host. (TSO
468 and VM hosts only.)
469
470 allocation
471 Specifies the units for the primaryspace and secondaryspace
472 options: tracks, cylinders or avblock. (TSO hosts only.)
473
474 primaryspace
475 Primary allocation for a file. The units are given by the
476 allocation option. Required when the allocation is specified as
477 something other than default. (TSO hosts only.)
478
479 secondaryspace
480 Secondary allocation for a file. The units are given by the
481 allocation option. (TSO hosts only.)
482
483 avblock
484 Average block size, required when allocation specifies avblock.
485 (TSO hosts only.)
486
487 buffersize
488 Buffer size for DFT-mode transfers. Can range from 256 to
489 32768. Larger values give better performance, but some hosts
490 may not be able to support them.
491
492 There are also resources that control the default values for each of
493 the file transfer parameters. These resources have the same names as
494 the Transfer() keywords, but with ft prepended and the option name
495 capitalized. E.g., the default for the mode keyword is the s3270.ftMode
496 resource.
497
498
500 The PrintText() produces screen snapshots in a number of different
501 forms. The default form wth no arguments sends a copy of the screen to
502 the default printer. A single argument is the command to use to print,
503 e.g., lpr.
504
505 Multiple arguments can include keywords to control the output of
506 PrintText():
507
508 file,filename
509 Save the output in a file.
510
511 html Save the output as HTML. This option implies file.
512
513 rtf Save the output as RichText. This option implies file. The
514 font defaults to Courier New and the point size defaults to 8.
515 These can be overridden by the printTextFont and printTextSize
516 resources, respectively.
517
518 string Return the output as a string. This can only be used from
519 scripts.
520
521 modi Render modified fields in italics.
522
523 caption,text
524 Add the specified text as a caption above the output. Within
525 text, the special sequence %T% will be replaced with a
526 timestamp.
527
528 command,command
529 Directs the output to a command. This allows one or more of the
530 other keywords to be specified, while still sending the output
531 to the printer.
532
533
535 There are several types of nested script functions available.
536
537 The String Action
538 The simplest method for nested scripts is provided via the
539 String() action. The arguments to String() are one or more
540 double-quoted strings which are inserted directly as if typed.
541 The C backslash conventions are honored as follows. (Entries
542 marked * mean that after sending the AID code to the host, s3270
543 will wait for the host to unlock the keyboard before further
544 processing the string.)
545
546
547 \b Left()
548 \exxxx EBCDIC character in hex
549 \f Clear()*
550 \n Enter()*
551 \pan PA(n)*
552 \pfnn PF(nn)*
553 \r Newline()
554 \t Tab()
555 \T BackTab()
556 \uxxxx Unicode character in hex
557 \xxxxx Unicode character in hex
558
559 Note that the numeric values for the \e, \u and \x sequences can
560 be abbreviated to 2 digits. Note also that EBCDIC codes greater
561 than 255 and some Unicode character codes represent DBCS
562 characters, which will work only if s3270 is built with DBCS
563 support and the host allows DBCS input in the current field.
564
565 Note: The strings are in ASCII and converted to EBCDIC, so
566 beware of inserting control codes.
567
568 There is also an alternate form of the String() action,
569 HexString(), which is used to enter non-printing data. The
570 argument to HexString() is a string of hexadecimal digits, two
571 per character. A leading 0x or 0X is optional. In 3270 mode,
572 the hexadecimal data represent EBCDIC characters, which are
573 entered into the current field. In NVT mode, the hexadecimal
574 data represent ASCII characters, which are sent directly to the
575 host.
576
577 The Script Action
578 This action causes s3270 to start a child process which can
579 execute s3270 actions. Standard input and output from the child
580 process are piped back to s3270. The Script() action is fully
581 documented in x3270-script(1).
582
583
585 s3270 supports the Sun telnet-passthru service provided by the
586 in.telnet-gw server. This allows outbound telnet connections through a
587 firewall machine. When a P: is prepended to a hostname, s3270 acts
588 much like the itelnet(1) command. It contacts the machine named
589 internet-gateway at the port defined in /etc/services as telnet-
590 passthru (which defaults to 3514). It then passes the requested
591 hostname and port to the in.telnet-gw server.
592
594 The -proxy option or the s3270.proxy resource causes s3270 to use a
595 proxy server to connect to the host. The syntax of the option or
596 resource is:
597 type:[username:password@]host[:port]
598
599 The supported values for type are:
600
601 Proxy Type Protocol Default Port
602 ──────────────────────────────────────────────
603 http RFC 2817 HTTP 3128
604 tunnel (squid)
605 passthru Sun in.telnet-gw none
606 socks4 SOCKS version 4 1080
607 socks5 SOCKS version 5 1080
608 (RFC 1928)
609 telnet No protocol (just none
610 send connect host
611 port)
612
613 The special types socks4a and socks5d can also be used to force the
614 proxy server to do the hostname resolution for the SOCKS protocol.
615 Note that only the http and socks5 proxies support a username and
616 password.
617
619 Certain s3270 options can be configured via resources. Resources are
620 defined by -xrm options. The definitions are similar to X11 resources,
621 and use a similar syntax. The resources available in s3270 are:
622
623 Resource Default Option Purpose
624 ───────────────────────────────────────────────────────────
625 blankFill False -set blankFill Blank Fill mode
626 charset bracket -charset EBCDIC character
627 set
628 dbcsCgcsgid Override DBCS
629 CGCSGID
630 dsTrace False -trace Data stream
631 tracing
632 eof ^D NVT-mode EOF
633 character
634 erase ^H NVT-mode erase
635 character
636 extended True Use 3270
637 extended data
638 stream
639 eventTrace False -trace Event tracing
640 icrnl False Map CR to NL on
641 NVT-mode input
642 inlcr False Map NL to CR in
643 NVT-mode input
644 intr ^C NVT-mode
645 interrupt
646 character
647 kill ^U NVT-mode kill
648 character
649 lineWrap False -set lineWrap NVT line wrap
650 mode
651 lnext ^V NVT-mode lnext
652 character
653 m3279 (note 1) -model 3279 (color)
654 emulation
655 monoCase False -set monoCase Mono-case mode
656 numericLock False Lock keyboard
657 for numeric
658 field error
659 oerrLock False Lock keyboard
660 for input error
661 oversize -oversize Oversize screen
662 dimensions
663 port telnet -port Non-default TCP
664 port
665 quit ^\ NVT-mode quit
666 character
667 rprnt ^R NVT-mode reprint
668 character
669 sbcsCgcsgid Override SBCS
670 CGCSGID
671 secure False Disable
672 "dangerous"
673 options
674 termName (note 2) -tn TELNET terminal
675 type string
676 traceDir /tmp Directory for
677 trace files
678 traceFile (note 3) -tracefile File for trace
679 output
680 werase ^W NVT-mode word-
681 erase character
682
683 Note 1: m3279 defaults to False. It can be forced to True with
684 the proper -model option.
685
686 Note 2: The default terminal type string is constructed from the
687 model number, color emulation, and extended data stream modes.
688 E.g., a model 2 with color emulation and the extended data
689 stream option would be sent as IBM-3279-2-E. Note also that
690 when TN3270E mode is used, the terminal type is always sent as
691 3278, but this does not affect color capabilities.
692
693 Note 3: The default trace file is x3trc.pid in the directory
694 specified by the traceDir resource.
695
696
697
698
699
700 If more than one -xrm option is given for the same resource, the last
701 one on the command line is used.
702
704 /usr/local/lib/x3270/ibm_hosts
705
706
708 x3270-script(1), x3270(1), c3270(1), telnet(1), tn3270(1)
709 Data Stream Programmer's Reference, IBM GA23-0059
710 Character Set Reference, IBM GA27-3831
711 RFC 1576, TN3270 Current Practices
712 RFC 1646, TN3270 Extensions for LUname and Printer Selection
713 RFC 2355, TN3270 Enhancements
714
716 Copyright 1993-2020, Paul Mattes.
717 Copyright 2004-2005, Don Russell.
718 Copyright 2004, Dick Altenbern.
719 Copyright 1990, Jeff Sparkes.
720 Copyright 1989, Georgia Tech Research Corporation (GTRC), Atlanta, GA
721 30332.
722 All rights reserved.
723
724 Redistribution and use in source and binary forms, with or without
725 modification, are permitted provided that the following conditions are
726 met:
727
728
729 * Redistributions of source code must retain the above copyright
730 notice, this list of conditions and the following disclaimer.
731
732 * Redistributions in binary form must reproduce the above
733 copyright notice, this list of conditions and the following
734 disclaimer in the documentation and/or other materials provided
735 with the distribution.
736
737 * Neither the names of Paul Mattes, Don Russell, Dick Altenbern,
738 Jeff Sparkes, GTRC nor the names of their contributors may be
739 used to endorse or promote products derived from this software
740 without specific prior written permission.
741
742
743 THIS SOFTWARE IS PROVIDED BY PAUL MATTES, DON RUSSELL, DICK ALTENBERN,
744 JEFF SPARKES AND GTRC "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
745 INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
746 MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
747 NO EVENT SHALL PAUL MATTES, DON RUSSELL, DICK ALTENBERN, JEFF SPARKES
748 OR GTRC BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL
749 EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
750 PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
751 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
752 LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
753 NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
754 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
755
757 s3270 4.0ga12
758
759
760
761 26 September 2020 s3270(1)