/********************************************************************************************************************************/ /* Created: 9-Mar-2021 22:28:04 by OpenVMS SDL EV3-3 */ /* Source: 09-MAR-2021 22:28:01 $1$DGA8085:[STARLET_H.SRC]SCRDEF.SDI;1 */ /********************************************************************************************************************************/ /*** MODULE $SCRDEF ***/ #ifndef __SCRDEF_LOADED #define __SCRDEF_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 /* SCREEN PACKAGE REQUEST TYPES */ #define SCR$C_PUT_SCREEN 0 /* SCR$PUT_SCREEN */ #define SCR$C_GET_SCREEN 1 /* SCR$GET_SCREEN */ #define SCR$C_ERASE_PAGE 2 /* SCR$ERASE_PAGE */ #define SCR$C_ERASE_LINE 3 /* SCR$ERASE_LINE */ #define SCR$C_SET_CURSOR 4 /* SCR$SET_CURSOR */ #define SCR$C_DOWN_SCROLL 5 /* SCR$DOWN_SCROLL */ #define SCR$C_SCREEN_INFO 6 /* SCR$SCREEN_INFO */ #define SCR$C_PUT_LINE 7 /* SCR$PUT_LINE */ #define SCR$C_MOVE_CURSOR 8 /* SCR$MOVE_CURSOR */ #define SCR$C_SET_SCROLL 9 /* SCR$SET_SCROLL */ #define SCR$C_UP_SCROLL 10 /* SCR$UP_SCROLL */ /* */ /* DEFINE BIT MASKS AND VALUES FOR SCREEN ATTRIBUTES */ /* */ #define SCR$M_BOLD 0x1 #define SCR$M_REVERSE 0x2 #define SCR$M_BLINK 0x4 #define SCR$M_UNDERLINE 0x8 #define SCR$M_NORMAL 0 /*no bits set */ #ifdef __NEW_STARLET typedef union _scrdef { __struct { unsigned scr$v_bold : 1; unsigned scr$v_reverse : 1; unsigned scr$v_blink : 1; unsigned scr$v_underline : 1; unsigned scr$v_fill_0_ : 4; } scr$r_scrdef_bits; } SCRDEF; #if !defined(__VAXC) #define scr$v_bold scr$r_scrdef_bits.scr$v_bold #define scr$v_reverse scr$r_scrdef_bits.scr$v_reverse #define scr$v_blink scr$r_scrdef_bits.scr$v_blink #define scr$v_underline scr$r_scrdef_bits.scr$v_underline #endif /* #if !defined(__VAXC) */ #else /* __OLD_STARLET */ union scrdef { __struct { unsigned scr$v_bold : 1; unsigned scr$v_reverse : 1; unsigned scr$v_blink : 1; unsigned scr$v_underline : 1; unsigned scr$v_fill_0_ : 4; } scr$r_scrdef_bits; } ; #if !defined(__VAXC) #define scr$v_bold scr$r_scrdef_bits.scr$v_bold #define scr$v_reverse scr$r_scrdef_bits.scr$v_reverse #define scr$v_blink scr$r_scrdef_bits.scr$v_blink #define scr$v_underline scr$r_scrdef_bits.scr$v_underline #endif /* #if !defined(__VAXC) */ #endif /* #ifdef __NEW_STARLET */ /* */ /* DEFINE FORMAT OF SCR$SCREEN_INFO RETURN BUFFER */ /* */ #define SCR$M_SCREEN 0x1 #define SCR$M_ANSICRT 0x2 #define SCR$M_REGIS 0x4 #define SCR$M_BLOCK 0x8 #define SCR$M_AVO 0x10 #define SCR$M_EDIT 0x20 #define SCR$M_DECCRT 0x40 #define SCR$K_LENGTH 20 /* LENGTH OF INFO RETURN BUFFER */ #define SCR$C_LENGTH 20 /* LENGTH OF INFO RETURN BUFFER */ #ifdef __NEW_STARLET typedef struct _scrdef1 { __union { unsigned int scr$l_flags; /* FLAGS LONGWORD */ __struct { unsigned scr$v_screen : 1; /* 1 = SCREEN ORIENTED, 0 = SCROLLING */ unsigned scr$v_ansicrt : 1; /* ANSI TERMINAL */ unsigned scr$v_regis : 1; /* REGIS TERMINAL */ unsigned scr$v_block : 1; /* BLOCK MODE TERMINAL */ unsigned scr$v_avo : 1; /* ADVANCED VIDEO TERMINAL */ unsigned scr$v_edit : 1; /* TERMINAL HAS EDIT CAPABILITY */ unsigned scr$v_deccrt : 1; /* TERMINAL IS A DEC CRT */ unsigned scr$v_fill_1_ : 1; } scr$r_flags_bits; } scr$r_flags_overlay; unsigned short int scr$w_width; /* WIDTH OF EACH LINE */ unsigned short int scr$w_pagesize; /* LINES IN SCREEN */ unsigned char scr$b_devtype; /* DEVICE TYPE (SEE $DCDEF) */ char scrdef$$_fill_1 [11]; /* (RESERVED) */ } SCRDEF1; #if !defined(__VAXC) #define scr$l_flags scr$r_flags_overlay.scr$l_flags #define scr$r_flags_bits scr$r_flags_overlay.scr$r_flags_bits #define scr$v_screen scr$r_flags_bits.scr$v_screen #define scr$v_ansicrt scr$r_flags_bits.scr$v_ansicrt #define scr$v_regis scr$r_flags_bits.scr$v_regis #define scr$v_block scr$r_flags_bits.scr$v_block #define scr$v_avo scr$r_flags_bits.scr$v_avo #define scr$v_edit scr$r_flags_bits.scr$v_edit #define scr$v_deccrt scr$r_flags_bits.scr$v_deccrt #endif /* #if !defined(__VAXC) */ #else /* __OLD_STARLET */ struct scrdef1 { __union { unsigned int scr$l_flags; /* FLAGS LONGWORD */ __struct { unsigned scr$v_screen : 1; /* 1 = SCREEN ORIENTED, 0 = SCROLLING */ unsigned scr$v_ansicrt : 1; /* ANSI TERMINAL */ unsigned scr$v_regis : 1; /* REGIS TERMINAL */ unsigned scr$v_block : 1; /* BLOCK MODE TERMINAL */ unsigned scr$v_avo : 1; /* ADVANCED VIDEO TERMINAL */ unsigned scr$v_edit : 1; /* TERMINAL HAS EDIT CAPABILITY */ unsigned scr$v_deccrt : 1; /* TERMINAL IS A DEC CRT */ unsigned scr$v_fill_1_ : 1; } scr$r_flags_bits; } scr$r_flags_overlay; unsigned short int scr$w_width; /* WIDTH OF EACH LINE */ unsigned short int scr$w_pagesize; /* LINES IN SCREEN */ unsigned char scr$b_devtype; /* DEVICE TYPE (SEE $DCDEF) */ char scrdef$$_fill_1 [11]; /* (RESERVED) */ } ; #if !defined(__VAXC) #define scr$l_flags scr$r_flags_overlay.scr$l_flags #define scr$v_screen scr$r_flags_overlay.scr$r_flags_bits.scr$v_screen #define scr$v_ansicrt scr$r_flags_overlay.scr$r_flags_bits.scr$v_ansicrt #define scr$v_regis scr$r_flags_overlay.scr$r_flags_bits.scr$v_regis #define scr$v_block scr$r_flags_overlay.scr$r_flags_bits.scr$v_block #define scr$v_avo scr$r_flags_overlay.scr$r_flags_bits.scr$v_avo #define scr$v_edit scr$r_flags_overlay.scr$r_flags_bits.scr$v_edit #define scr$v_deccrt scr$r_flags_overlay.scr$r_flags_bits.scr$v_deccrt #endif /* #if !defined(__VAXC) */ #endif /* #ifdef __NEW_STARLET */ #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 /* __SCRDEF_LOADED */