Simplified VAX terminal interface
Date/Time of Processing: Wednesday 25 May 1994 02:34:25Pm Overall Assessment of System: OK Classification of System: B Basis of Classification -- Syntax Errors PASS Completeness PASS Independence from External Libraries FAIL Independence from a Specific Ada Compiler PASS Explanations for failures -- System withs non-standard library units that are not provided Number of ... Files 3 Library Units 6 Lines 4862 Statements 753 Comments 2769 Unidentified Withed Units -- 2 unidentified withed units
languages/ada/swcomps/dsrs/termio: File Name Size --------- ---- termio.zip 44,570 languages/ada/swcomps/dsrs/immedio: File Name Size --------- ---- immedio.zip 22,827 languages/ada/swcomps/dsrs/vmsutil: File Name Size --------- ---- vmsutil.zip 13,718 Totals ============== ============== 3 Files 81,115
Terminal_Io_Package 01D001OD.1 (Old ID: RIC0002A) PURPOSE/INTENDED USE: Terminal_Io_Package is an Ada package that provides a few of the screen and keyboard manipulation subprograms suggested by package Cais_Tcroll_Terminal which is defined in the CAIS (Common APSE Interface Set) proposal (MIL-STD-CAIS 31-OCT-1984). Many subprograms provide VT200 terminal features. EXAMPLE APPLICATIONS: Terminal_Io_Package can be used to write a word processor or a text editor. CERTIFICATION LEVEL: Terminal_Io_Package is certified at Level 4. This means that the Defense Information Systems Agency/Center for Information Management Software Reuse Program (SRP) management office has successfully compiled the code of this Reusable Software Asset (RSA) and measured maintainability, portability, reliability and reusability. In addition, this RSA includes a test suite and a Reuser's Manual, which will be provided when the asset is extracted. Note: The AdaMAT metrics measurement score for reusability is unusually low because of the low proportion of variable declarations in the package body that include initialization; the low proportion of read-only objects declared in library body units that are constants; the low proportion of user defined types used for parameters, and used in the package specification and body; the mixing of input/output and non-input/output statements in the same code unit; and the high proportion of constants, types and subtypes that are visible. A check by the SRP staff revealed the use of acceptable coding practices. IMPLEMENTATION ISSUES: Terminal_Io_Package may invalidate Text_Io's column, line, and page subprograms through its use of Immediate_Io_Package. Terminal_Io_Package depends on (withs) Immediate_Io_Package (01D001OB). Terminal_Io_Package is highly system dependent to VAX VMS (Qio & Assign). HARDWARE/ENVIRONMENT CONSTRAINTS AND LIMITATIONS: This package was compiled, linked, and tested on a DEC VAX/VMS machine using the Ada Compilation System (ACS). SUBUNITS: Terminal_Io_Package has the following visible subunits, which are grouped according to their functionality: CAIS subprograms: Size Returns the screen's maximum dimensions. Set_Position Sets the cursor position to a specific location. Position Returns the cursor position. Clear_Screen Erases everything on the screen. Home_Cursor Puts the cursor in the upper left corner of the screen. Bell Causes the terminal to beep once. Col_In_Screen Returns true if the line is in the terminal screen. Line_In_Screen Returns true if the column is in the terminal screen. In_Screen Returns true if the line and column are in the terminal screen. Get and Put any Terminal Character: Set_Alternate_Keypad_Mode Sets terminal so the keypad sends a distinct code. Reset_Alternate_Keypad_Mode Resets the keypad mode to the numeric keypad mode. Alternate_Keypad_Mode Returns true if the keypad mode is set. Get_Terminal_Char Gets a terminal specific character. Put_Terminal_Char Puts a terminal specific character. Ada_Char Converts a terminal character type. Get_Keypad_Char Gets only a keypad character. Put_Keypad_Char Puts only a keypad character. Get_Cursor_Key Gets only a cursor key (up, down, left, right arrow key). Move_Cursor Moves the cursor up, down, left, or right. Fancy Display: Put_Wide Outputs a double wide string. Put_Large Outputs a double size string. Reset_Character_Size Resets character size on a given line or line and column. Put_Flashing Outputs a flashing string to the terminal. Set_Reverse_Screen Sets screen background to white and text to black. Reset_Reverse_Screen Resets screen background to white and text to black. Set_Highlight Sets screen output mode to reverse video. Reset_Highlight Puts screen output mode back to normal. Put_Reverse Outputs string, character, or integer in reverse video. Usascii_Char_Set Sets character set to ASCII. Graphic_Char_Set Sets character set to graphic. Columns_80 Sets the columns per line to 80. Columns_132 Sets the columns per line to 132. Jump_Scroll Sets scrolling to jump mode. Smooth_Scroll Sets scrolling to smooth mode. Scrolling Region: Set_Scrolling_Region Sets the scrolling region. Reset_Scrolling_Region Resets the scrolling region to the whole screen. Scroll_Region_Down Moves everything in the scrolling region down. Scroll_Region_Up Moves everything in the scrolling region up. Scrolling_Region_Size Sets the scrolling region size. Set_Position_In_Region Sets the cursor position to a specific location relative to the scrolling region. Position_In_Region Returns cursor position relative to the scrolling region. Clear_Screen_In_Region Erases screen relative to the scrolling region. Home_Cursor_In_Region Puts cursor in upper left corner relative to the scrolling region. In_Region_Absolute Returns true if absolute screen position or line is in region. In_Region_Relative Returns true if region relative position or line is in region. Erasing: Erase_Cursor_To_Eol Erases from the cursor location to the end of line. Erase_Beginning_Of_Line_To_Cursor Erases from the beginning of line to the cursor location. Erase_Line Erases the line where the cursor is located. Erase_Cursor_To_End_Of_Screen Erases from the cursor location to the end of screen Erase_Begininning_Of_Screen_To_Cursor Erases from the beginning of screen (upper left corner) to the cursor location. Erase_Screen Erases the whole screen. Manipulation on the Keyboard LED's: Reset_Leds Turns all LEDs (L1 - L4) off. Set_Led1 Turns LED L1 on. Set_Led2 Turns LED L2 on. Set_Led3 Turns LED L3 on. Set_Led4 Turns LED L4 on. Display Alignment: Alignment_Display Displays the alignment pattern (fills the screen with E's). DSRS CLASSIFICATION: availability: extractable certification level: level_4 component type: implementation data representation: boolean data representation: character data representation: enumeration data representation: numeric data representation: record environment: mvii/vms/vaxada function: control function: delete function: display function: erase function: get function: input_output function: inquire function: move function: put function: query function: replace function: verify language: ada object: character object: key object: number object: screen object: size object: string originator: rapid unit type: package LEGAL RESTRICTIONS: This RSA contains public domain data with unlimited rights for all users. Extraction is permitted to all authorized library users. This software and its documentation are provided "as is" and without any expressed or implied warranties whatsoever. No warranties as to performance, merchantability, or fitness for a particular purpose exist. The user is advised to test the software thoroughly before relying on it. The user must assume the entire risk and liability of using this software. In no event shall any person or organization of people be held responsible for any direct, indirect, consequential or inconsequential damages or lost profits. MISCELLANEOUS: The standard for Level 4 certification has recently been upgraded. This asset is currently undergoing modification to meet the new Level 4 requirements.
January 17, 1994 Version 1 Original submission to PAL
This prologue must be included in all copies of this software. Restrictions on use or distribution: NONE LEGAL RESTRICTIONS: This RSA contains public domain data with unlimited rights for all users. Extraction is permitted to all authorized library users. This software and its documentation are provided "as is" and without any expressed or implied warranties whatsoever. No warranties as to performance, merchantability, or fitness for a particular purpose exist.
This software and its documentation are provided "AS IS" and without any expressed or implied warranties whatsoever. No warranties as to performance, merchantability, or fitness for a particularpurpose exist. The user is advised to test the software thoroughly before relying on it. The user must assume the entire risk and liability of using this software. In no event shall any person or organization of people be held responsible for any direct, indirect, consequential or inconsequential damages or lost profits.