QTerm 7.0

The 7.0 version of QTerm brings a new look and easily accessible function panels which can be permanently displayed (pinned) or can be automatically hidden and only displayed when moused over. Mutiple frame windows are also supported with one or more terminal windows in each frame. This allows you to easily take advantage of multiple monitors.

If you are interested in trying out the new version please click here to download the software

Click New to close.

New

 

AccessServer Int1TerminalPort

Confidential and Proprietary Information of Quickware Inc

 

1        Introduction                       

This document describes a new AccessServer (QAS) port type, called the INT1terminalPort.  The purpose of this port type is to listen for connections from INT1 terminal devices and create a user connection to a client program that has previously opened a client tcp connection, in a similar manner to the documented INTdataPort.

The concepts discussed here are mostly based on the INTdataPort; principally all the message functions and payload definitions are exactly the same.  The following areas differ and are discussed in detail below:

  • Terminal listening port

  • Terminal connection notification

  • Terminal initialization

  • Terminal printing

  • Network Management

 

2        Details

The INT1terminalPort differs from previous implementations in that listening ports are required for both the client program and for the terminals. 

  --------    --------    ---------- 
  | terms|--->| QAS  |<---| client  |
  --------    --------    ---------- 


QAS has to:
  • open client listening ports(s) and accept registration commands

  •  open terminal listening port(s) and accept connections from INT1/TP0/tcp workstations

  • intercept the connect request packets and determine the destination application id (string)

  •  map the destination string (application name) to a target client port  registered name and issue a connect request

  • set the INT1 zone parameters (WRTP)

  • send subsequent data messages on the target port to the client, in the "common message" format as implemented for the INT1dataPort

  

  For example:

 
  --------    	
  | QTerm|	Configure host=MyHost app=TIP IPadr=QAS_SERVER port=102
  --------
      |
      |

      --------
   | QAS  |   Configure INT1terminalPort port=555 terminalsPort=102
  --------
      |
      |

  ---------
  | client|  Connects to QAS_SERVER port=555
  ---------  and registers with the name TIP

 

2.1     Client Listening Port

QAS opens a configured listening port on which the client can connect.  After accepting a client connection, QAS expects to receive a fncRegister command packet that identifies the target application name that the client supports.  Subsequently, terminal connections provide the application name as a means of requesting the target host (see below). 

                                              fncRegister #1
                        QAS listening port <-----------------Client_1
                          - note appName-1 for mapping INT1 
                            connections to this port client


              
                                              fncRegister #2
                        QAS listening port <-----------------Client_2
                          - note appName-2 for mapping INT1 
                            connections to this port client


If the fncRegister command packet specifies an application name that is already registered then the registration is rejected with a fncReject.

2.2     Terminal Listening Port

A listening port for the INT1 terminals is pre-configured and QAS is permanently listening for INT1 terminal connections.  On accepting a terminal connection QAS waits for the TP0 connect packet, extracts the destination application name, maps the connection to an existing client connection, and sends a connect request to the client:              

INT1      TP0 request
terminal--------------> QAS listening port

                          - map appName to Client port

                          - send fncConnect to Client
                          - receive fncConConf from Client

                          - send data to Client
                             |      |      |     |
                             |      |      |     |
                             V      V      V     V
                           Client1 Client2 etc..

 If there is no matching client then the terminal session is closed.  A duplicate terminal name on the same terminal listening port is rejected unless it is from the same IP address and tcp port number, in which case it is considered to be a reconnect. 

2.3     Terminal Connection Notification

On the current INT1dataPort the client sends a connect request packet (fncConnectStr) with m_user1/m_user2 identifiers for the connection.  When the connection is made, QAS responds with a fncConConf and the m_connectionID. 

With the new INT1terminalPort, QAS sends the client a connect request for a terminal (fncConnect) with m_connectionID and the client responds with a fncConConf with m_user1/m_user2, or a fncConRej if the client does not want to accept the connection. 

INT1     TP0 request        fncConnect (m_connectionID)
terminal-------------> QAS ----------------------------------> Client
                            fncConConfirm (m_user1/m_user2)
                           <---------------------------------

All data packets are exchanged with the exchanged connection identifiers.  Either side is able to issue a fncDisconnected command to cover the situations where the terminal operator closes the session or the host closes the session. 

2.4     Terminal Initialization

After a terminal has connected and the connection has been accepted by the client the terminal's INT1 context has to be initialized, by sending WRTP commands.

The following zone parameters are sent to the terminal to initialize the INT1 state for a TIP type context. 

Zone Parameter

Value

Description

6

0

Device dependant mode 1

8

0

Device dependant input mode

9

x90

x80 = send POS hic for 1st char pos
x10 = send PRE

2.5     Terminal Printing

It is assumed that each terminal device has only a single printer.

It is assumed that all print invocation is in the UTS datastream; no other indication is to be sent in the message header.

A status message (fncStatus) will be returned on the client connection for each print message sent to a terminal.

2.6     Network Management

The existing visual format implemented by QMC will be used, and extended for this new port type. 

The configuration dialog for the client listening port is the same as for the INT1dataPort except for the addition of the terminal port number.


 

3        Message Details

The message level interface describes a message format that is used to pass all messages to and from the client.  These message functions will be introduced to support new commands. 

Command

m_function

Description

fncRegister

x14

Register client with ‘host’ name

fncConnect

x05

Terminal connection requested

fncRcvFKey

x23

Function key received from terminal

See the INT1dataPort for function details.