Virtual Display Driver (VDD) Interface (lftvi)

Purpose

Provides a communication path from the LFT driver to the lower-level display adapter drivers.

Syntax

static int  Function (VP, Down)
struct vtmstruc *VP;
struct down_stream *Down;

Description

The lftvi interface provides a communication path from the LFT driver to the lower-level display adapter drivers. an array of vtmstruc structures with one entry for each configured display adapter is maintained by the lftvi interface.

LFT cannot use the normal driver entry points, since the display drivers cannot sleep except in their own open routines. Therefore, all virtual display driver (VDD) functions are called via function pointers in the phys_display structure.

The lftvi interface includes a collection of functions called by the vtmupd and vtmupd3 subroutines. These functions update information such as cursor position and the tab stop map by calling the appropriate display driver function.

Parameters

Item Description
Function Specifies one of the functions provided by the lftvi interface. The following functions are provided:
cursor_up
Moves the cursor up the number of rows specified in the escape sequence.
 
cursor_down
Moves the cursor down the number of rows specified in the escape sequence.
 
cursor_left
Moves the cursor left the number of columns specified in the escape sequence.
 
cursor_right
Moves the cursor right the number of columns specified in the escape sequence.
 
cursor_absolute
Moves the cursor to the row and column coordinates specified in the escape sequence.
 
delete_char
Deletes data from the cursor X position. The number of characters to be deleted is specified in the escape sequence.
 
delete_line
Deletes the number of lines specified in the escape sequence from the cursor line. Any data following the deleted lines is scrolled up.
 
erase_l
Erases a line. The escape sequence specifies whether to delete to the end of the line, from the start of the line, or all of the line. This routine calls the clear_rectangle function to perform the erasure.
 
erase_display
Clears all or part of the screen as specified in the escape sequence.
 
screen_updat
Processes a graphics string. Chops the output string into lines if necessary and calls the vtt* routines in the display driver.
 
copy_part
Calls the VDD that services the terminal to copy part of a line to the presentation space.
 
clear_rect
Calls the VDD that services the terminal to clear a rectangle.
 
sound_beep
Calls the sound driver to emit a beep.
 
set_attributes
Sets the graphics rendition.
 
update_ds_modes
Sets or resets the data-stream modes.
 
set_clear_tab
Sets or clears the tabs as specified in the escape sequence. This function operates on either a line or screen model.
 
update_ht_stop
Sets or clears horizontal tabs. This function can set or clear the horizontal tabs for one line or the whole screen.
 
clear_all_ht
Clears all horizontal tabs on a line.
 
cursor_back_tab
Moves the cursor to the previous tab stop.
 
cursor_ht
Places the cursor at the next horizontal tab.
 
find_prior_tab
Finds the previous tab by examining the terminal's tab array and setting the cursor's X and Y coordinates to that point. This function takes wrap and autonewline into consideration.
 
find_next_tab
Finds the next tab by examining the terminal's tab array and setting the cursor's X and Y coordinates to that point. This function takes wrap and autonewline into consideration.
 
scroll_down
Moves the entire presentation space down the number of lines specified in the escape sequence.
 
scroll_up
Moves the entire presentation space up the number of lines specified in the escape sequence.
 
erase_char
Erases the number of characters specified in the escape sequence from the line. If an erase occurs at the end of a line, the line length is altered.
 
insert_line
Scrolls the cursored line and all lines following it down the number of lines specified in the escape sequence.
 
insert_char
Inserts the number of empty spaces specified in the escape sequence before the character indicated by the cursor. Characters beginning at the cursor are shifted right. Characters shifted past the right margin are lost.
 
upd_cursor
Calls the vttmove function to update the cursor position.
 
ascii_index
Moves the cursor down one line. If the cursor was already on the last line, all lines are scrolled up one line.
 
vttscr
Specifies the scroll entry point.
 
vtttext
Specifies the display graphics characters entry point.
 
vttclr
Specifies the clear rectangle entry point.
 
vttcpl
Specifies the copy line entry point.
 
vttmove
Specifies the move cursor entry point.
 
vttcfl
Specifies the copy full line entry point.