[ Next Article | Previous Article | Book Contents | Library Home | Legal | Search ]
Kernel and Subsystems Technical Reference, Volume 2

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

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.

[ Next Article | Previous Article | Book Contents | Library Home | Legal | Search ]