/* Ported to GNU C openVMS/Alpha by Klaus Kämpf, kkaempf@progis.de */ /* * * Screen Management run-time library definitions */ #ifndef _SMGDEF_H #define _SMGDEF_H /* Input terminator codes */ #define SMG$K_TRM_NULL_CHAR 0 /* NUL */ #define SMG$K_TRM_CTRLA 1 /* SOH */ #define SMG$K_TRM_CTRLB 2 /* STX */ #define SMG$K_TRM_CTRLC 3 /* ETX */ #define SMG$K_TRM_CTRLD 4 /* EOT */ #define SMG$K_TRM_CTRLE 5 /* ENQ */ #define SMG$K_TRM_CTRLF 6 /* ACK */ #define SMG$K_TRM_CTRLG 7 /* BEL */ #define SMG$K_TRM_CTRLH 8 /* BS */ #define SMG$K_TRM_CTRLI 9 /* HT */ #define SMG$K_TRM_CTRLJ 10 /* LF */ #define SMG$K_TRM_CTRLK 11 /* VT */ #define SMG$K_TRM_CTRLL 12 /* FF */ #define SMG$K_TRM_CTRLM 13 /* CR */ #define SMG$K_TRM_CTRLN 14 /* SO */ #define SMG$K_TRM_CTRLO 15 /* SI */ #define SMG$K_TRM_CTRLP 16 /* DLE */ #define SMG$K_TRM_CTRLQ 17 /* DC1 */ #define SMG$K_TRM_CTRLR 18 /* DC2 */ #define SMG$K_TRM_CTRLS 19 /* DC3 */ #define SMG$K_TRM_CTRLT 20 /* DC4 */ #define SMG$K_TRM_CTRLU 21 /* NAK */ #define SMG$K_TRM_CTRLV 22 /* SYN */ #define SMG$K_TRM_CTRLW 23 /* ETB */ #define SMG$K_TRM_CTRLX 24 /* CAN */ #define SMG$K_TRM_CTRLY 25 /* EM */ #define SMG$K_TRM_CTRLZ 26 /* SUB */ #define SMG$K_TRM_ESCAPE 27 /* ESC */ #define SMG$K_TRM_FS 28 /* FS */ #define SMG$K_TRM_GS 29 /* GS */ #define SMG$K_TRM_RS 30 /* RS */ #define SMG$K_TRM_US 31 /* US */ #define SMG$K_TRM_SPACE 32 /* SP */ #define SMG$K_TRM_EXCLAMATION_POINT 33 /* ! */ #define SMG$K_TRM_DOUBLE_QUOTE 34 /* " double quote " */ #define SMG$K_TRM_NUMBER_SIGN 35 /* # */ #define SMG$K_TRM_DOLLAR_SIGN 36 /* $ */ #define SMG$K_TRM_PERCENT_SIGN 37 /* % */ #define SMG$K_TRM_AMPERSAND 38 /* & */ #define SMG$K_TRM_QUOTE 39 /* ' single quote ' */ #define SMG$K_TRM_LEFT_PAREN 40 /* ( */ #define SMG$K_TRM_RIGHT_PAREN 41 /* ) */ #define SMG$K_TRM_ASTERISK 42 /* * */ #define SMG$K_TRM_PLUS_SIGN 43 /* + */ #define SMG$K_TRM_COMMA_CHAR 44 /* , */ #define SMG$K_TRM_DASH 45 /* - */ #define SMG$K_TRM_DOT 46 /* . */ #define SMG$K_TRM_SLASH 47 /* / */ #define SMG$K_TRM_ZERO 48 /* 0 */ #define SMG$K_TRM_ONE 49 /* 1 */ #define SMG$K_TRM_TWO 50 /* 2 */ #define SMG$K_TRM_THREE 51 /* 3 */ #define SMG$K_TRM_FOUR 52 /* 4 */ #define SMG$K_TRM_FIVE 53 /* 5 */ #define SMG$K_TRM_SIX 54 /* 6 */ #define SMG$K_TRM_SEVEN 55 /* 7 */ #define SMG$K_TRM_EIGHT 56 /* 8 */ #define SMG$K_TRM_NINE 57 /* 9 */ #define SMG$K_TRM_COLON 58 /* : */ #define SMG$K_TRM_SEMICOLON 59 /* ; */ #define SMG$K_TRM_LESS_THAN 60 /* < */ #define SMG$K_TRM_EQUAL 61 /* = */ #define SMG$K_TRM_GREATER_THAN 62 /* > */ #define SMG$K_TRM_QUESTION_MARK 63 /* ? */ #define SMG$K_TRM_AT_SIGN 64 /* @ */ #define SMG$K_TRM_UPPERCASE_A 65 /* A */ #define SMG$K_TRM_UPPERCASE_B 66 /* B */ #define SMG$K_TRM_UPPERCASE_C 67 /* C */ #define SMG$K_TRM_UPPERCASE_D 68 /* D */ #define SMG$K_TRM_UPPERCASE_E 69 /* E */ #define SMG$K_TRM_UPPERCASE_F 70 /* F */ #define SMG$K_TRM_UPPERCASE_G 71 /* G */ #define SMG$K_TRM_UPPERCASE_H 72 /* H */ #define SMG$K_TRM_UPPERCASE_I 73 /* I */ #define SMG$K_TRM_UPPERCASE_J 74 /* J */ #define SMG$K_TRM_UPPERCASE_K 75 /* K */ #define SMG$K_TRM_UPPERCASE_L 76 /* L */ #define SMG$K_TRM_UPPERCASE_M 77 /* M */ #define SMG$K_TRM_UPPERCASE_N 78 /* N */ #define SMG$K_TRM_UPPERCASE_O 79 /* O */ #define SMG$K_TRM_UPPERCASE_P 80 /* P */ #define SMG$K_TRM_UPPERCASE_Q 81 /* Q */ #define SMG$K_TRM_UPPERCASE_R 82 /* R */ #define SMG$K_TRM_UPPERCASE_S 83 /* S */ #define SMG$K_TRM_UPPERCASE_T 84 /* T */ #define SMG$K_TRM_UPPERCASE_U 85 /* U */ #define SMG$K_TRM_UPPERCASE_V 86 /* V */ #define SMG$K_TRM_UPPERCASE_W 87 /* W */ #define SMG$K_TRM_UPPERCASE_X 88 /* X */ #define SMG$K_TRM_UPPERCASE_Y 89 /* Y */ #define SMG$K_TRM_UPPERCASE_Z 90 /* Z */ #define SMG$K_TRM_LEFT_BRACKET 91 /* [ */ #define SMG$K_TRM_BACKSLASH 92 /* \ */ #define SMG$K_TRM_RIGHT_BRACKET 93 /* ] */ #define SMG$K_TRM_CARET 94 /* ^ */ #define SMG$K_TRM_UNDERLINE 95 /* _ */ #define SMG$K_TRM_GRAVE_ACCENT 96 /* ` */ #define SMG$K_TRM_LOWERCASE_A 97 /* a */ #define SMG$K_TRM_LOWERCASE_B 98 /* b */ #define SMG$K_TRM_LOWERCASE_C 99 /* c */ #define SMG$K_TRM_LOWERCASE_D 100 /* d */ #define SMG$K_TRM_LOWERCASE_E 101 /* e */ #define SMG$K_TRM_LOWERCASE_F 102 /* f */ #define SMG$K_TRM_LOWERCASE_G 103 /* g */ #define SMG$K_TRM_LOWERCASE_H 104 /* h */ #define SMG$K_TRM_LOWERCASE_I 105 /* i */ #define SMG$K_TRM_LOWERCASE_J 106 /* j */ #define SMG$K_TRM_LOWERCASE_K 107 /* k */ #define SMG$K_TRM_LOWERCASE_L 108 /* l */ #define SMG$K_TRM_LOWERCASE_M 109 /* m */ #define SMG$K_TRM_LOWERCASE_N 110 /* n */ #define SMG$K_TRM_LOWERCASE_O 111 /* o */ #define SMG$K_TRM_LOWERCASE_P 112 /* p */ #define SMG$K_TRM_LOWERCASE_Q 113 /* q */ #define SMG$K_TRM_LOWERCASE_R 114 /* r */ #define SMG$K_TRM_LOWERCASE_S 115 /* s */ #define SMG$K_TRM_LOWERCASE_T 116 /* t */ #define SMG$K_TRM_LOWERCASE_U 117 /* u */ #define SMG$K_TRM_LOWERCASE_V 118 /* v */ #define SMG$K_TRM_LOWERCASE_W 119 /* w */ #define SMG$K_TRM_LOWERCASE_X 120 /* x */ #define SMG$K_TRM_LOWERCASE_Y 121 /* y */ #define SMG$K_TRM_LOWERCASE_Z 122 /* z */ #define SMG$K_TRM_LEFT_BRACE 123 /* { */ #define SMG$K_TRM_VERTICAL_LINE 124 /* | */ #define SMG$K_TRM_RIGHT_BRACE 125 /* } */ #define SMG$K_TRM_TILDE 126 /* ~ */ #define SMG$K_TRM_DELETE 127 /* DEL */ /* Synonyms for control characters */ #define SMG$K_TRM_NUL 0 /* note: this one is not in Starlet */ #define SMG$K_TRM_BS 8 #define SMG$K_TRM_HT 9 #define SMG$K_TRM_LF 10 #define SMG$K_TRM_VT 11 #define SMG$K_TRM_FF 12 #define SMG$K_TRM_CR 13 #define SMG$K_TRM_ESC 27 /* note: this one is not is Starlet */ /* Keypad keys */ #define SMG$K_TRM_PF1 256 #define SMG$K_TRM_PF2 257 #define SMG$K_TRM_PF3 258 #define SMG$K_TRM_PF4 259 #define SMG$K_TRM_KP0 260 #define SMG$K_TRM_KP1 261 #define SMG$K_TRM_KP2 262 #define SMG$K_TRM_KP3 263 #define SMG$K_TRM_KP4 264 #define SMG$K_TRM_KP5 265 #define SMG$K_TRM_KP6 266 #define SMG$K_TRM_KP7 267 #define SMG$K_TRM_KP8 268 #define SMG$K_TRM_KP9 269 #define SMG$K_TRM_ENTER 270 #define SMG$K_TRM_MINUS 271 #define SMG$K_TRM_COMMA 272 #define SMG$K_TRM_PERIOD 273 /* Cursor positioning keys */ #define SMG$K_TRM_UP 274 #define SMG$K_TRM_DOWN 275 #define SMG$K_TRM_LEFT 276 #define SMG$K_TRM_RIGHT 277 /* symonyms (not in Starlet) */ #define SMG$K_TRM_UP_ARROW 274 #define SMG$K_TRM_DOWN_ARROW 275 #define SMG$K_TRM_LEFT_ARROW 276 #define SMG$K_TRM_RIGHT_ARROW 277 /* Function keys; VK2xx and later keyboards */ #define SMG$K_TRM_F1 281 #define SMG$K_TRM_F2 282 #define SMG$K_TRM_F3 283 #define SMG$K_TRM_F4 284 #define SMG$K_TRM_F5 285 #define SMG$K_TRM_F6 286 #define SMG$K_TRM_F7 287 #define SMG$K_TRM_F8 288 #define SMG$K_TRM_F9 289 #define SMG$K_TRM_F10 290 #define SMG$K_TRM_F11 291 #define SMG$K_TRM_F12 292 #define SMG$K_TRM_F13 293 #define SMG$K_TRM_F14 294 #define SMG$K_TRM_F15 295 #define SMG$K_TRM_F16 296 #define SMG$K_TRM_F17 297 #define SMG$K_TRM_F18 298 #define SMG$K_TRM_F19 299 #define SMG$K_TRM_F20 300 /* Synonyms for function keys */ #define SMG$K_TRM_HELP 295 #define SMG$K_TRM_DO 296 /* Editing keys; VK2xx and later keyboards */ #define SMG$K_TRM_E1 311 /* FIND */ #define SMG$K_TRM_E2 312 /* INSERT_HERE */ #define SMG$K_TRM_E3 313 /* REMOVE */ #define SMG$K_TRM_E4 314 /* SELECT */ #define SMG$K_TRM_E5 315 /* PREV_SCREEN */ #define SMG$K_TRM_E6 316 /* NEXT_SCREEN */ /* Synonyms for editing keys */ #define SMG$K_TRM_FIND 311 /* E1 */ #define SMG$K_TRM_INSERT_HERE 312 /* E2 */ #define SMG$K_TRM_REMOVE 313 /* E3 */ #define SMG$K_TRM_SELECT 314 /* E4 */ #define SMG$K_TRM_PREV_SCREEN 315 /* E5 */ #define SMG$K_TRM_NEXT_SCREEN 316 /* E6 */ /* Locator keys (optional mouse: button actions) */ #define SMG$K_TRM_FIRST_DOWN 321 /* Left button down */ #define SMG$K_TRM_SECOND_DOWN 322 /* Middle button down */ #define SMG$K_TRM_THIRD_DOWN 323 /* Right button down */ #define SMG$K_TRM_FOURTH_DOWN 324 /* Fourth button down */ #define SMG$K_TRM_FIRST_UP 325 /* Left button up */ #define SMG$K_TRM_SECOND_UP 326 /* Middle button up */ #define SMG$K_TRM_THIRD_UP 327 /* Right button up */ #define SMG$K_TRM_FOURTH_UP 328 /* Fourth button up */ /* Conditions */ #define SMG$K_TRM_CANCELLED 508 /* I/O cancelled by SMG$CANCEL_INPUT */ #define SMG$K_TRM_TIMEOUT 509 /* Timeout period expired */ #define SMG$K_TRM_BUFFER_FULL 510 /* Buffer is full */ #define SMG$K_TRM_UNKNOWN 511 /* Unknown terminator */ /* Screen Management request types - These constants are used internally */ /* by SMG$ and should not be used by users. */ #define SMG$C_CHANGE_RENDITION 10 #define SMG$C_DELETE_CHARS 11 #define SMG$C_ERASE_DISPLAY 12 #define SMG$C_ERASE_LINE 13 #define SMG$C_HOME_CURSOR 14 #define SMG$C_INSERT_CHARS 15 #define SMG$C_INSERT_LINE 16 #define SMG$C_PUT_CHARS 17 #define SMG$C_PUT_LINE 18 #define SMG$C_PUT_DISPLAY_ENCODED 19 #define SMG$C_RETURN_CURSOR_POS 20 #define SMG$C_PUT_WITH_SCROLL 21 #define SMG$C_SET_CURSOR_ABS 22 #define SMG$C_SET_CURSOR_REL 23 #define SMG$C_DELETE_LINE 24 #define SMG$C_ERASE_CHARS 25 #define SMG$C_SCROLL_DISPLAY_AREA 26 #define SMG$C_CHANGE_VIRTUAL_DISPLAY 27 #define SMG$C_LABEL_BORDER 28 #define SMG$C_END_DISPLAY_UPDATE 29 #define SMG$C_MOVE_TEXT 30 /* Character Set Codes */ #define SMG$C_UNITED_KINGDOM 0 /* Unused */ #define SMG$C_ASCII 1 /* ASCII char set */ #define SMG$C_SPEC_GRAPHICS 2 /* Line drawing set */ #define SMG$C_ALT_CHAR 3 /* Unused */ #define SMG$C_ALT_GRAPHICS 4 /* Unused */ #define SMG$C_UNKNOWN 5 #define SMG$C_SUPPLEMENTAL 6 #define SMG$C_JIS_ROMAN 7 #define SMG$C_JIS_KANA 8 #define SMG$C_KANJI 9 #define SMG$C_HANZI 10 #define SMG$C_HANYU 11 #define SMG$C_HANGUL 12 #define SMG$C_KS_ROMAN 13 /* corner cursor positions used in SMG$HOME_CURSOR */ #define SMG$C_UPPER_LEFT 0 /* Home cursor to upper left corner */ #define SMG$C_LOWER_LEFT 1 /* Home cursor to lower left corner */ #define SMG$C_UPPER_RIGHT 2 /* Home cursor to upper right corner */ #define SMG$C_LOWER_RIGHT 3 /* Home cursor to lower right corner */ /* label positions used in SMG$LABEL_BORDER */ #define SMG$K_TOP 0 /* Place label on top border */ #define SMG$K_BOTTOM 1 /* Place label on bottom border */ #define SMG$K_LEFT 2 /* Place label on left border */ #define SMG$K_RIGHT 3 /* Place label on right border */ /* menu types used in SMG$CREATE_MENU */ #define SMG$K_BLOCK 0 /* Matrix of menu items */ #define SMG$K_VERTICAL 1 /* Vertical vector of menu items */ #define SMG$K_HORIZONTAL 2 /* Horizontal vector of menu items */ /* master color wheel for screen background colors; SMG$CHANGE_PBD_CHARACTERISTICS */ #define SMG$C_COLOR_UNKNOWN 0 /* Unknown background */ #define SMG$C_COLOR_WHITE 1 /* White background */ #define SMG$C_COLOR_BLACK 2 /* Black background */ #define SMG$C_COLOR_BLUE 3 /* Blue background */ #define SMG$C_COLOR_CYAN 4 /* Cyan background */ #define SMG$C_COLOR_GREEN 5 /* Green background */ #define SMG$C_COLOR_MAGENTA 6 /* Magenta background */ #define SMG$C_COLOR_RED 7 /* Red background */ #define SMG$C_COLOR_YELLOW 8 /* Yellow background */ #define SMG$C_COLOR_LIGHT 9 /* Light background */ #define SMG$C_COLOR_DARK 10 /* Dark background */ #define SMG$C_COLOR_USER1 11 /* User 1 background */ #define SMG$C_COLOR_USER2 12 /* User 2 background */ #define SMG$C_COLOR_USER3 13 /* User 3 background */ #define SMG$C_COLOR_USER4 14 /* User 4 background */ #define SMG$C_COLOR_USER5 15 /* User 5 background */ #define SMG$C_COLOR_USER6 16 /* User 6 background */ #define SMG$C_COLOR_USER7 17 /* User 7 background */ #define SMG$C_COLOR_USER8 18 /* User 8 background */ /* type of terminal, used with SMG$GET_PASTEBOARD_ATTRIBUTES */ #define SMG$K_UNKNOWN 0 /* Unknown type */ #define SMG$K_VT05 1 /* Unused */ #define SMG$K_VT52 2 /* Unused */ #define SMG$K_VT100 3 /* Unused */ #define SMG$K_VTFOREIGN 4 /* Foreign terminal (ft1-8) */ #define SMG$K_HARDCOPY 5 /* Hardcopy device */ #define SMG$K_VTTERMTABLE 6 /* Video terminal */ #define SMG$K_FIRST_PRIV_TYPE 191 /* Used internally by SMG$ */ /* Define bits, masks, and fields for the control modes. */ #define SMG$K_BUF_ENABLED 0 /* Enable Buffering */ #define SMG$K_MINUPD 1 /* Enable minimal update */ #define SMG$K_CLEAR_SCREEN 2 /* Clear screen on exit */ #define SMG$K_NOTABS 3 /* Don't use physical tabs */ #define SMG$K_PROTECT 4 /* Protect against ASTs */ #define SMG$K_IGNORE 5 /* Don't output PBD if batched */ #define SMG$K_RELEASE_PBD 6 /* Don't touch users part of PBD */ #define SMG$V_BUF_ENABLED 0 #define SMG$V_MINUPD 1 #define SMG$V_CLEAR_SCREEN 2 #define SMG$V_NOTABS 3 #define SMG$V_PROTECT 4 #define SMG$V_IGNORE 5 #define SMG$V_RELEASE_PBD 6 #define SMG$M_BUF_ENABLED (1<