Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
ACC Programmer's Reference Guide > Chapter 3 ZCOM Tables and Data Structures

Physical Terminal Tables

» 

Technical documentation

Complete book in PDF
» Feedback
Content starts here

 » Table of Contents

 » Index

The physical terminal table (zptt_type) contains information used by the LDM and DAM to initialize and control a physical terminal (or other device). The PTT consists of a system area, which is reserved for use by the ZCOM subsystem, and a user area which may be manipulated by application programs. The user modifiable portion of the PTT immediately follows the reserved area. The layout of the PTT is shown in Table 3-11 “Physical Terminal Tables (System Area)” and Table 3-12 “Physical Terminal Tables (User Maintainable Area PTUSER)”.

Table 3-11 Physical Terminal Tables (System Area)

Field Name

Field Description

Field Type

Size (Bytes)

PTZLU

Owning terminal ZLU number

uns.short

2

PTZCS

Owning terminal ZLU checksum

uns.short

2

PTMUX

MUX number for this terminal

uns.short

2

PTPORT

Port number within interface

uns.char

1

PTTERM

Terminal number within port

uns.char

1

PTMX_TERM

Terminal number in card

uns.short

2

SUBCH

Subchannel number on port

uns.short

2

PTZPRCVR

ZCOM address of primary receiver

struct

6

PTZPCTL_RCVR

ZCOM address of primary control receiver

struct

6

PTZSHRCVRS

Pointer to list of shared receivers

pointer

8

PTZSHCTLRCVRS

Pointer to list of shared control receivers

pointer

8

PTLIST

Pointer to next PTT of same port

pointer

8

PTTXLX

Pointer to next PTT on express list

pointer

8

PTTXQX

Express transmit buffer queue

struct

56

PTTXLA

Pointer to next PTT on high priority list

pointer

8

PTTXQA

High priority transmit buffer queue

struct

56

PTTXLB

Pointer to next PTT on low priority list

pointer

8

PTTXQB

Low priority transmit buffer queue

struct

56

PTTXQC

Unacknowledged transmit buffer queue

struct

56

PENDG_TXREQ

Next request for $DATA

struct

56

PTPZLK

ZLU of next PTT on this port

uns.short

2

PTDRST

Driver terminal status

uns.short

2

PTFWST

Firmware terminal status

uns.short

2

PTTYPE

Physical type of terminal

uns.short

2

SCFG_LEN

Length of special configuration

uns.short

2

SPEC_CFG

Special protocol configuration

uns.char[6]

6

 

Table 3-12 Physical Terminal Tables (User Maintainable Area PTUSER)

Field Name

Field Description

Field Type

Size (Bytes)

PTPOLL

Terminal poll address

uns.short

2

PTSLCT

Terminal select address

uns.short

2

PTOPTN

Protocol options

uns.short

2

PTVCNO

X.25 logical channel number

uns.short

2

PTCNFG

Special configuration

uns.char [8]

8

PTCWCT

Control write counter

uns.int

4

PTTXCT

Transmit message counter

uns.int

4

PTRXCT

Receive message counter

uns.int

4

PTERCT

Error counter

uns.int

4

 

PTZLU - Owning terminal ZLU number

PTZCS - Owning terminal ZLU checksum

The terminal ZLU number points back to the ZLU table entry for the owner of the terminal. The ZLU contains the checksum for the ZLU as well as its number. It is used by the driver to derive the source ZLU for all messages received for this physical terminal. This parameter is initially setup by TTGEN in the memory image file. These fields are maintained by the ZCOM subsystem when ZLU and terminal linkage are modified.

PTMUX - Mux number of terminal

The Mux interface number of the terminal. This is set initially through the TTGEN configuration file and is subsequently maintainable.

PTPORT - Terminal port number

The port number of the terminal on the Mux interface. This is set initially through the TTGEN configuration file and is subsequently maintainable.

PTTERM - Terminal number within port

The terminal number on the Mux interface card within the port. This is set initially through the TTGEN configuration file and is subsequently maintainable. This field has been replaced by the ptmx_term field. It remains valid for 2/8-channel cards for backwards compatibility reasons.

PTMX_TERM - Terminal number within port or card

This field contains the firmware terminal number this terminal ZLU is associated with. The firmware manages terminals using a terminal number while the ZCOM subsystem manages terminals using ZLUs on the host. On 2/8-channel cards, the terminal number must be unique for a given port. On E1/T1 cards, the terminal number is unique per card.

SUBCH - Subchannel number within port

This field contains the subchannel this terminal ZLU is configured on. If the card does not support subchannels, this field is set to zero.

PTZPRCVR - ZCOM address of primary receiver

Node number, ZLU, and checksum used as the destination address for normal messages and unsolicited status messages received for this physical terminal. This field is set by the zset_rcvr call (mode 0 or mode 1 if multiplexed terminal).

PTZPCTL_RCVR - ZCOM address of primary control receiver

This is the node number, ZLU, and checksum used as the destination address for any control input messages received for this terminal. This field is set by a zset_rcvr mode 3 call. The control input messages are distinguished by the protocol modules on the MUX, by setting bit 1 of the input message tag byte.

PTZSHRCVRS - Pointer to a linked list of shared receivers

This field contains a pointer to a linked list of programs that wish to receive normal messages and unsolicited status messages from this physical terminal. Each entry in the linked list contains the node number, ZLU, and checksum of the application which will be used as the destination address for normal messages and unsolicited status messages received from this physical terminal. This field is set by the zset_rcvr call (mode 0 or mode 1 if multiplexed terminal). If there are no shared receivers, this field will contain a zero. When a data or status message arrives, it will be delivered to each application in the linked list (as well any primary receiver).

PTZSHCTLRCVRS - Pointer to a linked list of shared control receivers

This field contains a pointer to a linked list of programs that wish to receive control messages from this physical terminal. Each entry in the linked list contains the node number, ZLU, and checksum used as the destination address for any control input messages received for this terminal. This field is set by a zset_rcvr mode 3 call. The control input messages are distinguished by the protocol modules on the MUX, by setting bit 1 of the input message tag byte. If there are no shared control receivers, this field will contain a zero. When a control message arrives, it will be delivered to each application in the linked list (as well an any primary control receiver).

PTLIST - Pointer to next PTT on the same port

Contains a pointer to the physical terminal table of the next terminal on the same Mux interface card and port number as the current terminal. These pointers form a circular list of terminals on the same port. Field PTPZLK forms the same circular list, but contains the ZLU number.

PTTXLX - Pointer to next PTT on the express list linkage

This linkage (containing the physical terminal table address) is used to link together physical terminals on the Mux which have messages queued on the express transmit queue. This field is NULL if the terminal is not on the list. It is initialized to NULL by TTGEN and is maintained by the LDM and DAM.

PTTXQX - Express transmit buffer queue

This queue contains the express transmit requests waiting to be sent. It also contains the terminal configuration (zcntl) requests. When a message has been transferred to the card, the buffers are moved to the unacknowledged transmit buffer queue. Once the buffer has been acknowledged as sent or flushed by the card it is removed from the unacknowledged queue and returned to the sending program (if requested by the program).

The express transmit queue is designed for passing critical control (protocol dependent) data to the terminal. In general, none of the normal queue limit mechanisms apply to requests on this queue. Normal user data should NEVER be placed on this queue. An example of appropriate requests would be an X.25 Reset request or X.25 Expedited data. Requests on this queue are always processed first, regardless of any transmit limits that may have been reached.

PTTXLA - Pointer to next PTT on the high priority list linkage

This linkage (containing the physical terminal table address) is used to link together physical terminals on the Mux which have messages queued on their high priority transmit queue. This field is NULL if the terminal is not on the list. It is initialized to NULL by TTGEN and is maintained by the LDM and DAM.

PTTXQA - High priority transmit buffer queue

This queue contains the high priority transmit requests waiting to be sent. It also contains the terminal configuration (zcntl) requests. The data on this queue is processed only after all express transmit data has been processed. When a message has been transferred to the card, the buffers are moved to the unacknowledged transmit buffer queue. Once the buffer has been acknowledged as sent or flushed by the card it is removed from the unacknowledged queue and returned to the sending program (if requested by the program). Note that requests on this queue are subject to the unacknowledged and port transmit limits.

PTTXLB - Pointer to next PTT on low priority list linkage

As for PTTXLA above, except that the linkage pertains to the low priority transmit queue.

PTTXQB - Low priority transmit buffer queue

The low priority queue is operated in a similar manner to the high priority queue. Data on this queue is processed only after all express and high priority data has been processed. Note that requests on this queue are subject to the unacknowledged and port transmit limits.

PTTXQC - Unacknowledged transmit buffer queue

This queue contains the buffers from PTTXQA/B after they have been transferred to the interface card, and until they have been acknowledged as sent (or aborted) by the Mux interface card.

PENDG_TXREQ - Next request of $DATA in unack'd transmit queue

This field is used internally by the ZCOM subsystem.

PTPZLK - ZLU of next PTT on this port

Contains the ZLU number of the next terminal which is on the same Mux interface and port as this terminal. These ZLU numbers form a circular list of terminals on the same port. Field PTLIST forms the same circular list, but contains the physical terminal table memory address.

PTDRST - Terminal status

The terminal status is maintained by the driver in this field. The status change requests from application programs are updated in this field after they are successfully passed to the interface card. The driver uses this value to reset the terminal status on the Mux interface after a powerfail or reset.

The content of this field is as follows:

Figure 3-4 Terminal Status Field PTDRST

Terminal Status Field PTDRST

The IN bit indicates whether the terminal is considered as part of the current configuration. It is initialized by TTGEN and maintained by the driver. The EN and AC bits represent the current status of the terminal. They are initialized by TTGEN and maintained by the driver. They are reflected in the opposite sense by DS and IA on the interface card and in PTFWST.

When the ZCOM subsystem starts up, the driver sets the AV bit if the terminal is successfully initialized.

PTFWST - Firmware terminal status

This word contains the TMSTAT and TMSTT2 bytes from the Mux (via $STDT buffer)

Figure 3-5 Firmware terminal status PTFWST

Firmware terminal status PTFWST

The status in bits 7-0 is copied from the $STDT buffer. These bits represent the field TMSTT2 from the interface terminal table.

PTTYPE - Terminal type (physical)

Protocol module terminal type. It is initially setup by TTGEN in the memory image file but is subsequently maintainable.

SCFG_LEN - Length of the special protocol configuration bytes.

This field contains the length of any protocol specific configuration data contained in the spec_cfg[] field.

SPEC_CFG - Special protocol configuration data

This field contains any protocol specific configuration data that might be needed. The details on its contents and how to configure this field is documented in the protocol manuals.

PTUSER - User-maintainable area

This area extends to the end of the physical terminal table. It defines the area that may be modified by a zptup call, and contains all the following fields:

PTPOLL - Terminal poll addresses

PTSLCT - Terminal select addresses

These words usually contain the poll and select addresses specified for the terminal in the TTGEN configuration file. For some protocols however, they contain other configuration information. Specific content for these words is documented in protocol accessory manuals.

PTOPTN - Protocol options

Used to define options to the protocol module on the Mux interface card. Only bits 0 - 7 are relevant to the Mux. Bits 8 - 15 may contain other (host level) options. The definition of the bits depends on the protocol (PTTYPE) type.

PTVCNO - X.25 logical channel number

Used to contain status information - by x25cn & zx25d for X.25 terminals.

PTCNFG - Special configuration

For X.25, contains a call number.

PTCWCT - Terminal control write counter

This counter is incremented by the driver every time a control write buffer for this terminal is transferred to the Mux interface card.

PTTXCT - Terminal transmit message counter

This counter is incremented by the driver every time a transmit buffer for this terminal is transferred to the Mux interface card.

PTRXCT - Terminal receive message counter

This counter is incremented by the driver every time a receive message is transferred from the Mux interface card for this terminal.

PTERCT - Terminal error message counter

This counter is updated by the driver after each $STDT buffer has been transferred from the Mux interface card. The $STDT buffer contains the number of errors that have occurred for a terminal since the last $STDT buffer was sent to the driver.

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© 2000 Hewlett-Packard Development Company, L.P.