2 Structures

Telnet VTNT Terminal Type Format specifies two structures:

  • VTNT_CHAR_INFO is used by the server to send console display information back to the client.

  • INPUT_RECORD is used by the client to send keyboard input to the server.

To specify how the data sent by server to client is to be organized and interpreted, Telnet VTNT Terminal Type Format assumes the availability of the following:

  • A console screen buffer abstract data type that is capable of holding multiple rows of character data in the server.

  • A mechanism that populates the server's console screen buffer based on the actual output in the server's terminal.

  • A console screen buffer abstract data type that is capable of holding multiple rows of character data in the client.

  • A mechanism to synchronize the contents of the console screen buffer and the actual display in the client's terminal.

The sequence of operations involved in sending the console display information from server to client is as follows:

  • The server reads its console screen buffer, packs the following in a VTNT_CHAR_INFO structure, and sends it to the client:

    • The coordinates of the region in the console screen buffer that have to be rewritten.

    • The characters to be displayed and their attributes.

  • The client rewrites its console screen buffer based on the data in the VTNT_CHAR_INFO structure it received from the server.

  • The client synchronizes the contents of the console screen buffer and the actual display in the terminal.

The preceding details are implementation-specific and are provided only as guidance. This protocol does not prescribe or advocate any specific implementation technique. Telnet VTNT Terminal Type Format does not specify how the abstract data types are to be implemented. The console screen buffers are local to the implementation and are not transported over the network. Implementations can implement their own buffers or use any system-provided buffers that are available. The mechanism to synchronize the contents of the console screen buffer and the actual display in the console in the client is, again, an implementation choice. <1>

Unless otherwise specified, multibyte fields (that is, 16-bit, 32-bit, and 64-bit fields) in a Telnet VTNT Terminal Type Format structure MUST be transmitted in little-endian byte order (least-significant byte first).