/**/ /***************************************************************************/ /** **/ /** © Copyright 2010, Hewlett-Packard Development Company, L.P. **/ /** **/ /** Confidential computer software. Valid license from HP and/or **/ /** its subsidiaries required for possession, use, or copying. **/ /** **/ /** Consistent with FAR 12.211 and 12.212, Commercial Computer Software, **/ /** Computer Software Documentation, and Technical Data for Commercial **/ /** Items are licensed to the U.S. Government under vendor's standard **/ /** commercial license. **/ /** **/ /** Neither HP nor any of its subsidiaries shall be liable for technical **/ /** or editorial errors or omissions contained herein. The information **/ /** in this document is provided "as is" without warranty of any kind and **/ /** is subject to change without notice. The warranties for HP products **/ /** are set forth in the express limited warranty statements accompanying **/ /** such products. Nothing herein should be construed as constituting an **/ /** additional warranty. **/ /** **/ /***************************************************************************/ /********************************************************************************************************************************/ /* Created: 30-Mar-2010 17:26:05 by OpenVMS SDL EV3-3 */ /* Source: 05-OCT-2006 13:32:18 $1$DGA7274:[LIB_H.SRC]GCONOUTDEF.SDL;1 */ /********************************************************************************************************************************/ /*** MODULE gconoutdef IDENT X-2 ***/ #ifndef __GCONOUTDEF_LOADED #define __GCONOUTDEF_LOADED 1 #pragma __nostandard /* This file uses non-ANSI-Standard features */ #pragma __member_alignment __save #pragma __nomember_alignment #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __save /* Save the previously-defined required ptr size */ #pragma __required_pointer_size __short /* And set ptr size default to 32-bit pointers */ #endif #ifdef __cplusplus extern "C" { #define __unknown_params ... #define __optional_params ... #else #define __unknown_params #define __optional_params ... #endif #ifndef __struct #if !defined(__VAXC) #define __struct struct #else #define __struct variant_struct #endif #endif #ifndef __union #if !defined(__VAXC) #define __union union #else #define __union variant_union #endif #endif /* */ /* Copyright © 2006 Hewlett-Packard Development Company, L.P. */ /* */ /* Confidential computer software. Valid license from HP and/or */ /* its subsidiaries required for possession, use, or copying. */ /* */ /* Consistent with FAR 12.211 and 12.212, Commercial Computer Software, */ /* Computer Software Documentation, and Technical Data for Commercial */ /* Items are licensed to the U.S. Government under vendor's standard */ /* commercial license. */ /* */ /* Neither HP nor any of its subsidiaries shall be liable for technical */ /* or editorial errors or omissions contained herein. The information */ /* in this document is provided "as is" without warranty of any kind and */ /* is subject to change without notice. The warranties for HP products */ /* are set forth in the express limited warranty statements accompanying */ /* such products. Nothing herein should be construed as constituting an */ /* additional warranty. */ /* */ /* ABSTRACT: */ /* */ /* This module describes the data structure for the generic */ /* graphics console for IA64 */ /* */ /* AUTHOR: */ /* */ /* Fred Kleinsorge, May 2006 */ /* */ /* MODIFIED BY: */ /* */ /* X-2 FGK0929-01 Fred Kleinsorge 29-Sep-2006 */ /* Add busy indication, and get rid of VISIBLE bit - it isn't */ /* being used on IA64 (HW_READY is always set/cleared at the */ /* same time). */ /* */ /* X-1 FGK Fred Kleinsorge 28-Sep-2006 */ /* Initial entry. */ /* */ #define GCON$K_MAGIC 136911190 /* Magic number */ #define GCON$K_NO_DRIVER 0 /* No driver init */ #define GCON$K_BOOT_DRIVER 1 /* Boot driver */ #define GCON$K_EXEC_DRIVER 2 /* Exec driver */ #define GCON$K_GRAPHICS_DRIVER 3 /* Graphics driver */ #define GCON$M_INHIBIT 0x1 #define GCON$M_HW_READY 0x2 #define GCON$M_CURSOR_ENABLED 0x4 #define GCON$M_CURSOR_DISPLAYED 0x8 #define GCON$M_STATUS_LINE 0x10 #define GCON$M_STATUS_WS_SELECT 0x20 #define GCON$M_VT52_GRAPHICS 0x40 #define GCON$M_VT52_MODE 0x80 #define GCON$M_VT100_GRAPHICS 0x100 #define GCON$M_VT100_MODE 0x200 #define GCON$K_NO_STATUS 0 /* No status line */ #define GCON$K_BOOT_STATUS 1 /* Boot driver status line */ #define GCON$K_WINDOW_STATUS 2 /* Graphics driver status line */ #define GCON$K_EXEC_STATUS 3 /* Execlet status line */ #define GCON$K_LENGTH 25480 #define GCON$K_DEF_WIDTH 80 #define GCON$K_DEF_HEIGHT 24 #define GCON$K_MAX_WIDTH 132 #define GCON$K_MAX_HEIGHT 44 #define GCON$K_MINOR_VERSION 1 #define GCON$K_MAJOR_VERSION 1 #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __quadword #else #pragma __nomember_alignment #endif typedef struct _gcon { #pragma __nomember_alignment unsigned int gcon$l_version; /* Block version # */ int gcon$l_length; /* Block length */ int gcon$l_valid; /* Structure valid when equal to MAGIC */ int gcon$l_error; /* Error */ int gcon$l_driver; /* Which driver last initialized address data */ __union { int gcon$l_flags; /* Flags word */ __struct { unsigned gcon$v_inhibit : 1; /* Inhibit HW output to console */ unsigned gcon$v_hw_ready : 1; /* HW ready */ unsigned gcon$v_cursor_enabled : 1; /* Cursor enabled */ unsigned gcon$v_cursor_displayed : 1; /* Cursor is displayed */ unsigned gcon$v_status_line : 1; /* Status line enabled */ unsigned gcon$v_status_ws_select : 1; /* Select Window System status line */ unsigned gcon$v_vt52_graphics : 1; /* VT52 graphic character set... */ unsigned gcon$v_vt52_mode : 1; /* Recognize VT52 escape sequences */ unsigned gcon$v_vt100_graphics : 1; /* VT100 graphic character set... */ unsigned gcon$v_vt100_mode : 1; /* Recognize VT100 escape sequences */ unsigned gcon$v_fill_0_ : 6; } gcon$r_flags_struct; } gcon$r_flags_union; int gcon$l_column; /* Console X position */ int gcon$l_row; /* Console Y position */ int gcon$l_width; /* Console width (chars) */ int gcon$l_height; /* Console height (chars) */ unsigned int gcon$l_vt52_escape; /* VT52 Escape sequence type */ /* */ /* Video text attributes */ /* */ unsigned int gcon$l_attributes; /* Video attributes */ unsigned int gcon$l_attr_normal; /* Normal text */ unsigned int gcon$l_attr_current; /* Current attributes */ unsigned int gcon$l_text; /* Normal Text Color (0xBBGGRR00) */ unsigned int gcon$l_back; /* Normal Background Color (0xBBGGRR00) */ int gcon$l_text_color; /* Text color in ANSI format (30-37) */ int gcon$l_text_back; /* Text background color in ANSI format (40-47) */ /* */ /* */ /* */ int gcon$l_error_char; /* Error character */ /* */ /* Force quadword alignment! */ /* */ char gcon$t_align_1 [4]; /* Quadword Alignment */ /* */ /* */ /* */ __union { __int64 gcon$q_device_dependent; void *gcon$a_device_dependent; /* Pointer to device dependent extension */ } gcon$r_dd_union; /* */ /* */ /* */ __union { __int64 gcon$q_window_data; void *gcon$a_window_data; /* Pointer to runtime window context */ } gcon$r_wd_union; /* */ /* Public entry for OPDRIVER style call */ /* */ /* PUTC(char *string, int length, UCB* pUCB, int *ret_len) */ /* */ __union { __int64 gcon$q_conout; int (*gcon$a_conout)(); /* Output a string */ } gcon$r_conout_union; /* */ /* This is the GCON version... */ /* */ /* PUT_STRING(GCON, char *string, int length) */ /* */ __union { __int64 gcon$q_put_string; int (*gcon$a_put_string)(); /* Output a string */ } gcon$r_puts_union; /* */ /* Device dependent action routines for drawing to the graphics device. */ /* */ __union { __int64 gcon$q_draw_string; void (*gcon$a_draw_string)(); /* Draw string routine */ } gcon$r_ds_union; __union { __int64 gcon$q_draw_dev_segment; void (*gcon$a_draw_dev_segment)(); /* Draw string routine */ } gcon$r_dds_union; __union { __int64 gcon$q_erase_dev_segment; void (*gcon$a_erase_dev_segment)(); /* Draw string routine */ } gcon$r_eds_union; __union { __int64 gcon$q_draw_char; void (*gcon$a_draw_char)(); /* Draw a character */ } gcon$r_dc_union; __union { __int64 gcon$q_read_char; void (*gcon$a_read_char)(); /* Read a char from the display */ } gcon$r_rc_union; __union { __int64 gcon$q_clear_background; void (*gcon$a_clear_background)(); /* Clear the entire console */ } gcon$r_cb_union; __union { __int64 gcon$q_redraw_screen; void (*gcon$a_redraw_screen)(); /* Redraw screen from backing store */ } gcon$r_rs_union; __union { __int64 gcon$q_select_console; void (*gcon$a_select_console)(); /* Device select */ } gcon$r_sc_union; __union { __int64 gcon$q_deselect_console; void (*gcon$a_deselect_console)(); /* Device unselect */ } gcon$r_dsc_union; __union { __int64 gcon$q_enable_console; void (*gcon$a_enable_console)(); /* Device enable */ } gcon$r_ec_union; __union { __int64 gcon$q_disable_console; int (*gcon$a_disable_console)(); /* Device disable */ } gcon$r_dic_union; __union { __int64 gcon$q_erase_row; void (*gcon$a_erase_row)(); /* Clear a character row */ } gcon$r_er_union; __union { __int64 gcon$q_scroll_up; void (*gcon$a_scroll_up)(); /* Up scroll (linefeed) */ } gcon$r_su_union; __union { __int64 gcon$q_scroll_down; void (*gcon$a_scroll_down)(); /* Down scroll (reverse index) */ } gcon$r_sd_union; __union { __int64 gcon$q_draw_cursor; void (*gcon$a_draw_cursor)(); /* Draw cursor */ } gcon$r_drc_union; __union { __int64 gcon$q_read_cursor_pos; void (*gcon$a_read_cursor_pos)(); /* Read the cursor position */ } gcon$r_rcp_union; __union { __int64 gcon$q_erase_cursor; void (*gcon$a_erase_cursor)(); /* Erase Cursor */ } gcon$r_ecr_union; __union { __int64 gcon$q_scroll_bs_up; void (*gcon$a_scroll_bs_up)(); /* Up scroll (linefeed) */ } gcon$r_sbu_union; __union { __int64 gcon$q_scroll_bs_down; void (*gcon$a_scroll_bs_down)(); /* Down scroll (reverse index) */ } gcon$r_sbd_union; __union { __int64 gcon$q_draw_string_to_bs; void (*gcon$a_draw_string_to_bs)(); /* Draw string routine */ } gcon$r_dsbs_union; __union { __int64 gcon$q_save_screen_to_bs; void (*gcon$a_save_screen_to_bs)(); /* Save screen to BS */ } gcon$r_ssbs_union; __union { __int64 gcon$q_init_font; void (*gcon$a_init_font)(); /* Initialize font */ } gcon$r_ldf_union; __union { __int64 gcon$q_load_glyph; void (*gcon$a_load_glyph)(); /* Load a single glyph */ } gcon$r_ldg_union; __union { __int64 gcon$q_save_console; void (*gcon$a_save_console)(); /* Save console state */ } gcon$r_save_union; __union { __int64 gcon$q_restore_console; void (*gcon$a_restore_console)(); /* Restore console state */ } gcon$r_rest_union; __union { __int64 gcon$q_reinit_console; void (*gcon$a_reinit_console)(); /* Do re-init sequence */ } gcon$r_rint_union; __union { __int64 gcon$q_set_status_line; void (*gcon$a_set_status_line)(); /* Set status line */ } gcon$r_ssl_union; __union { __int64 gcon$q_send_input; void (*gcon$a_send_input)(); /* Emulate input from terminal */ } gcon$r_skb_union; __union { __int64 gcon$q_set_text_attr; void (*gcon$a_set_text_attr)(); /* Set color/bold/blink/etc */ } gcon$r_sta_union; unsigned int gcon$l_reserved [32]; /* Extra's */ int gcon$l_busy; /* Set/Cleared on entry to PUT_STRING */ /* */ /* Status line defaults */ /* */ int gcon$l_status_line_len; /* Status line length */ char gcon$b_status_line [132]; /* Status line (0) */ int gcon$l_status_line_ws_len; /* Status line length */ char gcon$b_status_line_ws [132]; /* Status line (1) */ int gcon$l_status_line_row; /* Status line row number */ unsigned int gcon$l_attr_status_line; /* Status line attributes */ int gcon$l_line_offsets [48]; /* Offsets to line starts */ char gcon$b_line_lengths [48]; /* Length of each line */ /* */ /* Force quadword alignment! */ /* */ char gcon$t_align_2 [4]; /* Quadword Alignment */ /* */ /* Each character position has space for the character attribute and the character */ /* */ int gcon$l_line_data [6120]; /* Character array */ } GCON; #if !defined(__VAXC) #define gcon$l_flags gcon$r_flags_union.gcon$l_flags #define gcon$v_inhibit gcon$r_flags_union.gcon$r_flags_struct.gcon$v_inhibit #define gcon$v_hw_ready gcon$r_flags_union.gcon$r_flags_struct.gcon$v_hw_ready #define gcon$v_cursor_enabled gcon$r_flags_union.gcon$r_flags_struct.gcon$v_cursor_enabled #define gcon$v_cursor_displayed gcon$r_flags_union.gcon$r_flags_struct.gcon$v_cursor_displayed #define gcon$v_status_line gcon$r_flags_union.gcon$r_flags_struct.gcon$v_status_line #define gcon$v_status_ws_select gcon$r_flags_union.gcon$r_flags_struct.gcon$v_status_ws_select #define gcon$v_vt52_graphics gcon$r_flags_union.gcon$r_flags_struct.gcon$v_vt52_graphics #define gcon$v_vt52_mode gcon$r_flags_union.gcon$r_flags_struct.gcon$v_vt52_mode #define gcon$v_vt100_graphics gcon$r_flags_union.gcon$r_flags_struct.gcon$v_vt100_graphics #define gcon$v_vt100_mode gcon$r_flags_union.gcon$r_flags_struct.gcon$v_vt100_mode #define gcon$q_device_dependent gcon$r_dd_union.gcon$q_device_dependent #define gcon$a_device_dependent gcon$r_dd_union.gcon$a_device_dependent #define gcon$q_window_data gcon$r_wd_union.gcon$q_window_data #define gcon$a_window_data gcon$r_wd_union.gcon$a_window_data #define gcon$q_conout gcon$r_conout_union.gcon$q_conout #define gcon$a_conout gcon$r_conout_union.gcon$a_conout #define gcon$q_put_string gcon$r_puts_union.gcon$q_put_string #define gcon$a_put_string gcon$r_puts_union.gcon$a_put_string #define gcon$q_draw_string gcon$r_ds_union.gcon$q_draw_string #define gcon$a_draw_string gcon$r_ds_union.gcon$a_draw_string #define gcon$q_draw_dev_segment gcon$r_dds_union.gcon$q_draw_dev_segment #define gcon$a_draw_dev_segment gcon$r_dds_union.gcon$a_draw_dev_segment #define gcon$q_erase_dev_segment gcon$r_eds_union.gcon$q_erase_dev_segment #define gcon$a_erase_dev_segment gcon$r_eds_union.gcon$a_erase_dev_segment #define gcon$q_draw_char gcon$r_dc_union.gcon$q_draw_char #define gcon$a_draw_char gcon$r_dc_union.gcon$a_draw_char #define gcon$q_read_char gcon$r_rc_union.gcon$q_read_char #define gcon$a_read_char gcon$r_rc_union.gcon$a_read_char #define gcon$q_clear_background gcon$r_cb_union.gcon$q_clear_background #define gcon$a_clear_background gcon$r_cb_union.gcon$a_clear_background #define gcon$q_redraw_screen gcon$r_rs_union.gcon$q_redraw_screen #define gcon$a_redraw_screen gcon$r_rs_union.gcon$a_redraw_screen #define gcon$q_select_console gcon$r_sc_union.gcon$q_select_console #define gcon$a_select_console gcon$r_sc_union.gcon$a_select_console #define gcon$q_deselect_console gcon$r_dsc_union.gcon$q_deselect_console #define gcon$a_deselect_console gcon$r_dsc_union.gcon$a_deselect_console #define gcon$q_enable_console gcon$r_ec_union.gcon$q_enable_console #define gcon$a_enable_console gcon$r_ec_union.gcon$a_enable_console #define gcon$q_disable_console gcon$r_dic_union.gcon$q_disable_console #define gcon$a_disable_console gcon$r_dic_union.gcon$a_disable_console #define gcon$q_erase_row gcon$r_er_union.gcon$q_erase_row #define gcon$a_erase_row gcon$r_er_union.gcon$a_erase_row #define gcon$q_scroll_up gcon$r_su_union.gcon$q_scroll_up #define gcon$a_scroll_up gcon$r_su_union.gcon$a_scroll_up #define gcon$q_scroll_down gcon$r_sd_union.gcon$q_scroll_down #define gcon$a_scroll_down gcon$r_sd_union.gcon$a_scroll_down #define gcon$q_draw_cursor gcon$r_drc_union.gcon$q_draw_cursor #define gcon$a_draw_cursor gcon$r_drc_union.gcon$a_draw_cursor #define gcon$q_read_cursor_pos gcon$r_rcp_union.gcon$q_read_cursor_pos #define gcon$a_read_cursor_pos gcon$r_rcp_union.gcon$a_read_cursor_pos #define gcon$q_erase_cursor gcon$r_ecr_union.gcon$q_erase_cursor #define gcon$a_erase_cursor gcon$r_ecr_union.gcon$a_erase_cursor #define gcon$q_scroll_bs_up gcon$r_sbu_union.gcon$q_scroll_bs_up #define gcon$a_scroll_bs_up gcon$r_sbu_union.gcon$a_scroll_bs_up #define gcon$q_scroll_bs_down gcon$r_sbd_union.gcon$q_scroll_bs_down #define gcon$a_scroll_bs_down gcon$r_sbd_union.gcon$a_scroll_bs_down #define gcon$q_draw_string_to_bs gcon$r_dsbs_union.gcon$q_draw_string_to_bs #define gcon$a_draw_string_to_bs gcon$r_dsbs_union.gcon$a_draw_string_to_bs #define gcon$q_save_screen_to_bs gcon$r_ssbs_union.gcon$q_save_screen_to_bs #define gcon$a_save_screen_to_bs gcon$r_ssbs_union.gcon$a_save_screen_to_bs #define gcon$q_init_font gcon$r_ldf_union.gcon$q_init_font #define gcon$a_init_font gcon$r_ldf_union.gcon$a_init_font #define gcon$q_load_glyph gcon$r_ldg_union.gcon$q_load_glyph #define gcon$a_load_glyph gcon$r_ldg_union.gcon$a_load_glyph #define gcon$q_save_console gcon$r_save_union.gcon$q_save_console #define gcon$a_save_console gcon$r_save_union.gcon$a_save_console #define gcon$q_restore_console gcon$r_rest_union.gcon$q_restore_console #define gcon$a_restore_console gcon$r_rest_union.gcon$a_restore_console #define gcon$q_reinit_console gcon$r_rint_union.gcon$q_reinit_console #define gcon$a_reinit_console gcon$r_rint_union.gcon$a_reinit_console #define gcon$q_set_status_line gcon$r_ssl_union.gcon$q_set_status_line #define gcon$a_set_status_line gcon$r_ssl_union.gcon$a_set_status_line #define gcon$q_send_input gcon$r_skb_union.gcon$q_send_input #define gcon$a_send_input gcon$r_skb_union.gcon$a_send_input #define gcon$q_set_text_attr gcon$r_sta_union.gcon$q_set_text_attr #define gcon$a_set_text_attr gcon$r_sta_union.gcon$a_set_text_attr #endif /* #if !defined(__VAXC) */ #if !defined(__NOBASEALIGN_SUPPORT) && !defined(__cplusplus) /* If using pre DECC V4.0 or C++ */ #pragma __nomember_alignment __quadword #else #pragma __nomember_alignment #endif typedef struct _gfont { #pragma __nomember_alignment int gfont$l_width; /* Glyph width */ int gfont$l_height; /* Glyph height */ int gfont$l_byte_count; /* Byte count */ int gfont$l_byte_width; /* Byte width */ int gfont$l_fill_count; /* fill count */ int gfont$l_fill_data; /* fill data */ int gfont$l_char_count; /* Number of characters */ int gfont$l_first_char; /* First Character */ int gfont$l_error_character; /* Error glyph index */ char *gfont$ps_char_directory [260]; /* Array of glyph pointers */ char gfont$b_fill_1_ [4]; } GFONT; #pragma __member_alignment __restore #ifdef __INITIAL_POINTER_SIZE /* Defined whenever ptr size pragmas supported */ #pragma __required_pointer_size __restore /* Restore the previously-defined required ptr size */ #endif #ifdef __cplusplus } #endif #pragma __standard #endif /* __GCONOUTDEF_LOADED */