16 Commits
Author SHA1 Message Date
Matthew R. Wilson bdc1d714d2 Add DevInfo.SupportsGE() function 2025-12-15 15:36:18 -08:00
Matthew R. Wilson 83e1a68bb0 Hack to fix VM telnet client shortcomings 2025-12-01 14:13:23 -08:00
Matthew R. Wilson 2c10f7f34d Add more code pages 2025-11-27 03:15:59 -08:00
Matthew R. Wilson ab58ba7a87 Handle out-of-order charset descriptors
The ZOC emulator returns the primary character set descriptor after the
alternate descriptor. Need to pick the right one based on searching for ID 0.
2025-11-27 00:27:40 -08:00
Matthew R. Wilson 7b7d375e91 Per-client codepage detection and handling 2025-11-25 16:31:09 -08:00
Matthew R. Wilson c0ad185cd7 Fix bug in dynamic terminal size query 2025-11-10 20:41:22 -08:00
Matthew R. Wilson 86d2a23adf Add timeout for dynamic terminal size detection 2025-10-04 12:17:59 -07:00
Matthew R. Wilson c6be50cec6 Improve telnet negotiation compatbility
Respond to client "do" requests during the negotiation. This prevents the
negotiation from failing when connecting from the z/VM and CSI z/VSE telnet
clients.

Also don't treat unknown terminal device type as an error, just fall back on
assuming a 24x80 terminal. This shouldn't affect z/VM / z/VSE clients, which
identify correctly, but will return to the original go3270 behavior of not
caring about specific client device type.
2025-08-07 23:00:22 -07:00
Matthew R. Wilson f71d36fd9e Loosen terminal model name checking 2025-07-01 13:19:55 -07:00
Matthew R. Wilson b3f6fa398d Add support for 3279-4 model 2025-07-01 10:38:40 -07:00
Matthew R. Wilson b6fa48f37f Alternate screen size support.
This is a relatively big new feature, which introduces small breaking changes
to the API:

 * NegotiateTelnet() now returns (DevInfo, error) instead of just error.  The
   function signature for the Tx type now has one additional DevInfo parameter.
 * RunTransactions() requires one additional parameter, the DevInfo (which is
   allowed to be nil).

Otherwise, existing behavior continues to work as-is and everything still
defaults to operating on the default 24x80 terminal size.

See example5 for a larger-terminal-aware application.

Pending some time to make sure no new bugs cropped up in this release and that
the alternate screen size support works in the wild, I anticipate this will
become the v1.0.0 release of go3270.
2025-06-29 12:58:18 -07:00
Matthew R. Wilson cb57796dfc Issue #4: actually make it work 2020-12-30 17:27:57 -08:00
Matthew R. Wilson cfa06ec4bc Issue #4: add and use telnetRead() function 2020-12-30 15:55:31 -08:00
Matthew R. Wilson eddc39723a Add UnNegotiateTelnet() function 2020-12-26 01:42:53 -08:00
Matthew R. Wilson 8f57ca182b Update telnet code; add flushConnection() 2020-12-26 01:27:15 -08:00
Matthew R. Wilson 0243fc3e13 Project creation; initial screen send capability 2020-11-02 01:00:30 -08:00