[ Previous | Next | Contents | Home | Search ]
AIX Version 4.3 Kernel and Subsystems Technical Reference, Volume 2

vtmstruct Structure

The vtmstruct structure is defined in the vt.h file. The Low Function Terminal (LFT) subsystem does not support virtual terminals. However, for backward compatibility with current display drivers, the name of this structure remains the same as in previous releases. The vtmstruct structure contains all of the device-dependent data needed by LFT for a given display adapter. LFT allocates and initializes each vtmstruct structure. The number of vtmstruct structures is determined by the number_of_displays variable stored in the lft_dds structure. The vtmstruct structure is defined as follows:

struct vtmstruct {
        struct phys_displays     *display;
        struct vtt_cp_parms      mparms;
        char                     *vttld;
        off_t                    vtid;
        uchar                    vtm_mode;
        int                      font_index;
        int                      number_of_fonts;
        struct font_data         *fonts;
        int                      (*fsp_enq) ();
};

The vtmstruct structure members are defined as follows:

display Specifies a pointer to the physical display structure with the display. The *display pointer is acquired by LFT by passing the display's device number to the devswqry command. The display device drivers initialize the phys_displays structures.
mparms Specifies a structure that contains a code-point mask for implementing 7- or 8-bit ASCII, the code base that is added to the code point if the code base is greater than or equal to 0, the attribute bits, and the cursor position. The x and y cursor coordinates are initialized to 0. The vtt_cp_parms structure is defined as follows:
struct vtt_cp_parms
{
        ulong                    cp_mask;
        long                     cp_base;
        ushort                   attributes;
        struct vtt_cursor        cursor;
};
vttld Specifies a pointer to the local data area of the display adapter. The display driver initializes the *vttld pointer.
vtid Specifies the virtual terminal ID. This ID is no longer used, but is retained for backward compatibility. LFT initializes the vtid member to 0.
vtm_mode Specifies a flag which indicates the state of the display. LFT initializes the vtm_mode member to ksr mode, and the vtm_mode member remains unchanged, since using a hot-key to switch between Keyboard Send-Receive (KSR) and Monitor Mode (MOM) is no longer allowed. The vtm_mode member is retained only for backward compatibility.
font_index Specifies an index into the font structures for a specific font chosen via a chfont command. LFT copies this member from the font_index member of the lft_disp_t structure.
number_of_fonts Specifies the number of fonts. The number_of_fonts member is copied from the lft_dds structure during the initialization of the vtmstruct structure.
fonts Specifies a pointer to the array of font tables initialized by LFT. The display driver uses this pointer to acquire its font information.

LFT initializes an array of structures of type font_data from data read in from the font files specified in the Object Data Manager (ODM). A pointer to this array is then stored in the vtmstruct structure for each display. The display drivers use this pointer to load the appropriate font information. The members of the font_data structure are defined as follows:

struct font_data {
         ulong    font_id;
         char     font_name[20];
         char     font_weight[8];
         char     font_slant[8];
         char     font_page[8];
         ulong    font_style;
         long     font_width;
         long     font_height;
         long     f*font_ptr;
         ulong    font_size;
};
(*fsq_enq()) Specifies a pointer to the LFT function that queues messages to the font server. LFT initializes this pointer. If a display driver requires the services of the font server, it can queue a message to the font server using the function pointed to by the (*fsq_enq()) pointer.

Related Information

lft Structure.

lft_dds Structure.

phys_displays Structure.


[ Previous | Next | Contents | Home | Search ]