00001 #ifndef smgdef_h 00002 #define smgdef_h 00003 00004 #define SMG_K_TRM_NULL_CHAR 0 00005 #define SMG_K_TRM_CTRLA 1 00006 #define SMG_K_TRM_CTRLB 2 00007 #define SMG_K_TRM_CTRLC 3 00008 #define SMG_K_TRM_CTRLD 4 00009 #define SMG_K_TRM_CTRLE 5 00010 #define SMG_K_TRM_CTRLF 6 00011 #define SMG_K_TRM_CTRLG 7 00012 #define SMG_K_TRM_CTRLH 8 00013 #define SMG_K_TRM_CTRLI 9 00014 #define SMG_K_TRM_CTRLJ 10 00015 #define SMG_K_TRM_CTRLK 11 00016 #define SMG_K_TRM_CTRLL 12 00017 #define SMG_K_TRM_CTRLM 13 00018 #define SMG_K_TRM_CTRLN 14 00019 #define SMG_K_TRM_CTRLO 15 00020 #define SMG_K_TRM_CTRLP 16 00021 #define SMG_K_TRM_CTRLQ 17 00022 #define SMG_K_TRM_CTRLR 18 00023 #define SMG_K_TRM_CTRLS 19 00024 #define SMG_K_TRM_CTRLT 20 00025 #define SMG_K_TRM_CTRLU 21 00026 #define SMG_K_TRM_CTRLV 22 00027 #define SMG_K_TRM_CTRLW 23 00028 #define SMG_K_TRM_CTRLX 24 00029 #define SMG_K_TRM_CTRLY 25 00030 #define SMG_K_TRM_CTRLZ 26 00031 #define SMG_K_TRM_ESCAPE 27 00032 #define SMG_K_TRM_FS 28 00033 #define SMG_K_TRM_GS 29 00034 #define SMG_K_TRM_RS 30 00035 #define SMG_K_TRM_US 31 00036 #define SMG_K_TRM_SPACE 32 00037 #define SMG_K_TRM_EXCLAMATION_POINT 33 00038 #define SMG_K_TRM_DOUBLE_QUOTE 34 00039 #define SMG_K_TRM_NUMBER_SIGN 35 00040 #define SMG_K_TRM_DOLLAR_SIGN 36 00041 #define SMG_K_TRM_PERCENT_SIGN 37 00042 #define SMG_K_TRM_AMPERSAND 38 00043 #define SMG_K_TRM_QUOTE 39 00044 #define SMG_K_TRM_LEFT_PAREN 40 00045 #define SMG_K_TRM_RIGHT_PAREN 41 00046 #define SMG_K_TRM_ASTERISK 42 00047 #define SMG_K_TRM_PLUS_SIGN 43 00048 #define SMG_K_TRM_COMMA_CHAR 44 00049 #define SMG_K_TRM_DASH 45 00050 #define SMG_K_TRM_DOT 46 00051 #define SMG_K_TRM_SLASH 47 00052 #define SMG_K_TRM_ZERO 48 00053 #define SMG_K_TRM_ONE 49 00054 #define SMG_K_TRM_TWO 50 00055 #define SMG_K_TRM_THREE 51 00056 #define SMG_K_TRM_FOUR 52 00057 #define SMG_K_TRM_FIVE 53 00058 #define SMG_K_TRM_SIX 54 00059 #define SMG_K_TRM_SEVEN 55 00060 #define SMG_K_TRM_EIGHT 56 00061 #define SMG_K_TRM_NINE 57 00062 #define SMG_K_TRM_COLON 58 00063 #define SMG_K_TRM_SEMICOLON 59 00064 #define SMG_K_TRM_LESS_THAN 60 00065 #define SMG_K_TRM_EQUAL 61 00066 #define SMG_K_TRM_GREATER_THAN 62 00067 #define SMG_K_TRM_QUESTION_MARK 63 00068 #define SMG_K_TRM_AT_SIGN 64 00069 #define SMG_K_TRM_UPPERCASE_A 65 00070 #define SMG_K_TRM_UPPERCASE_B 66 00071 #define SMG_K_TRM_UPPERCASE_C 67 00072 #define SMG_K_TRM_UPPERCASE_D 68 00073 #define SMG_K_TRM_UPPERCASE_E 69 00074 #define SMG_K_TRM_UPPERCASE_F 70 00075 #define SMG_K_TRM_UPPERCASE_G 71 00076 #define SMG_K_TRM_UPPERCASE_H 72 00077 #define SMG_K_TRM_UPPERCASE_I 73 00078 #define SMG_K_TRM_UPPERCASE_J 74 00079 #define SMG_K_TRM_UPPERCASE_K 75 00080 #define SMG_K_TRM_UPPERCASE_L 76 00081 #define SMG_K_TRM_UPPERCASE_M 77 00082 #define SMG_K_TRM_UPPERCASE_N 78 00083 #define SMG_K_TRM_UPPERCASE_O 79 00084 #define SMG_K_TRM_UPPERCASE_P 80 00085 #define SMG_K_TRM_UPPERCASE_Q 81 00086 #define SMG_K_TRM_UPPERCASE_R 82 00087 #define SMG_K_TRM_UPPERCASE_S 83 00088 #define SMG_K_TRM_UPPERCASE_T 84 00089 #define SMG_K_TRM_UPPERCASE_U 85 00090 #define SMG_K_TRM_UPPERCASE_V 86 00091 #define SMG_K_TRM_UPPERCASE_W 87 00092 #define SMG_K_TRM_UPPERCASE_X 88 00093 #define SMG_K_TRM_UPPERCASE_Y 89 00094 #define SMG_K_TRM_UPPERCASE_Z 90 00095 #define SMG_K_TRM_LEFT_BRACKET 91 00096 #define SMG_K_TRM_BACKSLASH 92 00097 #define SMG_K_TRM_RIGHT_BRACKET 93 00098 #define SMG_K_TRM_CARET 94 00099 #define SMG_K_TRM_UNDERLINE 95 00100 #define SMG_K_TRM_GRAVE_ACCENT 96 00101 #define SMG_K_TRM_LOWERCASE_A 97 00102 #define SMG_K_TRM_LOWERCASE_B 98 00103 #define SMG_K_TRM_LOWERCASE_C 99 00104 #define SMG_K_TRM_LOWERCASE_D 100 00105 #define SMG_K_TRM_LOWERCASE_E 101 00106 #define SMG_K_TRM_LOWERCASE_F 102 00107 #define SMG_K_TRM_LOWERCASE_G 103 00108 #define SMG_K_TRM_LOWERCASE_H 104 00109 #define SMG_K_TRM_LOWERCASE_I 105 00110 #define SMG_K_TRM_LOWERCASE_J 106 00111 #define SMG_K_TRM_LOWERCASE_K 107 00112 #define SMG_K_TRM_LOWERCASE_L 108 00113 #define SMG_K_TRM_LOWERCASE_M 109 00114 #define SMG_K_TRM_LOWERCASE_N 110 00115 #define SMG_K_TRM_LOWERCASE_O 111 00116 #define SMG_K_TRM_LOWERCASE_P 112 00117 #define SMG_K_TRM_LOWERCASE_Q 113 00118 #define SMG_K_TRM_LOWERCASE_R 114 00119 #define SMG_K_TRM_LOWERCASE_S 115 00120 #define SMG_K_TRM_LOWERCASE_T 116 00121 #define SMG_K_TRM_LOWERCASE_U 117 00122 #define SMG_K_TRM_LOWERCASE_V 118 00123 #define SMG_K_TRM_LOWERCASE_W 119 00124 #define SMG_K_TRM_LOWERCASE_X 120 00125 #define SMG_K_TRM_LOWERCASE_Y 121 00126 #define SMG_K_TRM_LOWERCASE_Z 122 00127 #define SMG_K_TRM_LEFT_BRACE 123 00128 #define SMG_K_TRM_VERTICAL_LINE 124 00129 #define SMG_K_TRM_RIGHT_BRACE 125 00130 #define SMG_K_TRM_TILDE 126 00131 #define SMG_K_TRM_DELETE 127 00132 00133 #define SMG_K_TRM_BS 8 00134 #define SMG_K_TRM_HT 9 00135 #define SMG_K_TRM_LF 10 00136 #define SMG_K_TRM_VT 11 00137 #define SMG_K_TRM_FF 12 00138 #define SMG_K_TRM_CR 13 00139 00140 #define SMG_K_TRM_PF1 256 00141 #define SMG_K_TRM_PF2 257 00142 #define SMG_K_TRM_PF3 258 00143 #define SMG_K_TRM_PF4 259 00144 #define SMG_K_TRM_KP0 260 00145 #define SMG_K_TRM_KP1 261 00146 #define SMG_K_TRM_KP2 262 00147 #define SMG_K_TRM_KP3 263 00148 #define SMG_K_TRM_KP4 264 00149 #define SMG_K_TRM_KP5 265 00150 #define SMG_K_TRM_KP6 266 00151 #define SMG_K_TRM_KP7 267 00152 #define SMG_K_TRM_KP8 268 00153 #define SMG_K_TRM_KP9 269 00154 #define SMG_K_TRM_ENTER 270 00155 #define SMG_K_TRM_MINUS 271 00156 #define SMG_K_TRM_COMMA 272 00157 #define SMG_K_TRM_PERIOD 273 00158 00159 #define SMG_K_TRM_UP 274 00160 #define SMG_K_TRM_DOWN 275 00161 #define SMG_K_TRM_LEFT 276 00162 #define SMG_K_TRM_RIGHT 277 00163 00164 #define SMG_K_TRM_F1 281 00165 #define SMG_K_TRM_F2 282 00166 #define SMG_K_TRM_F3 283 00167 #define SMG_K_TRM_F4 284 00168 #define SMG_K_TRM_F5 285 00169 #define SMG_K_TRM_F6 286 00170 #define SMG_K_TRM_F7 287 00171 #define SMG_K_TRM_F8 288 00172 #define SMG_K_TRM_F9 289 00173 #define SMG_K_TRM_F10 290 00174 #define SMG_K_TRM_F11 291 00175 #define SMG_K_TRM_F12 292 00176 #define SMG_K_TRM_F13 293 00177 #define SMG_K_TRM_F14 294 00178 #define SMG_K_TRM_F15 295 00179 #define SMG_K_TRM_F16 296 00180 #define SMG_K_TRM_F17 297 00181 #define SMG_K_TRM_F18 298 00182 #define SMG_K_TRM_F19 299 00183 #define SMG_K_TRM_F20 300 00184 00185 #define SMG_K_TRM_HELP 295 00186 #define SMG_K_TRM_DO 296 00187 00188 #define SMG_K_TRM_E1 311 00189 #define SMG_K_TRM_E2 312 00190 #define SMG_K_TRM_E3 313 00191 #define SMG_K_TRM_E4 314 00192 #define SMG_K_TRM_E5 315 00193 #define SMG_K_TRM_E6 316 00194 00195 #define SMG_K_TRM_FIND 311 00196 #define SMG_K_TRM_INSERT_HERE 312 00197 #define SMG_K_TRM_REMOVE 313 00198 #define SMG_K_TRM_SELECT 314 00199 #define SMG_K_TRM_PREV_SCREEN 315 00200 #define SMG_K_TRM_NEXT_SCREEN 316 00201 00202 #define SMG_K_TRM_FIRST_DOWN 321 00203 #define SMG_K_TRM_SECOND_DOWN 322 00204 #define SMG_K_TRM_THIRD_DOWN 323 00205 #define SMG_K_TRM_FOURTH_DOWN 324 00206 #define SMG_K_TRM_FIRST_UP 325 00207 #define SMG_K_TRM_SECOND_UP 326 00208 #define SMG_K_TRM_THIRD_UP 327 00209 #define SMG_K_TRM_FOURTH_UP 328 00210 00211 #define SMG_K_TRM_CANCELLED 508 00212 #define SMG_K_TRM_TIMEOUT 509 00213 #define SMG_K_TRM_BUFFER_FULL 510 00214 #define SMG_K_TRM_UNKNOWN 511 00215 00216 #define SMG_C_CHANGE_RENDITION 10 00217 #define SMG_C_DELETE_CHARS 11 00218 #define SMG_C_ERASE_DISPLAY 12 00219 #define SMG_C_ERASE_LINE 13 00220 #define SMG_C_HOME_CURSOR 14 00221 #define SMG_C_INSERT_CHARS 15 00222 #define SMG_C_INSERT_LINE 16 00223 #define SMG_C_PUT_CHARS 17 00224 #define SMG_C_PUT_LINE 18 00225 #define SMG_C_PUT_DISPLAY_ENCODED 19 00226 #define SMG_C_RETURN_CURSOR_POS 20 00227 #define SMG_C_PUT_WITH_SCROLL 21 00228 #define SMG_C_SET_CURSOR_ABS 22 00229 #define SMG_C_SET_CURSOR_REL 23 00230 #define SMG_C_DELETE_LINE 24 00231 #define SMG_C_ERASE_CHARS 25 00232 #define SMG_C_SCROLL_DISPLAY_AREA 26 00233 #define SMG_C_CHANGE_VIRTUAL_DISPLAY 27 00234 #define SMG_C_LABEL_BORDER 28 00235 #define SMG_C_END_DISPLAY_UPDATE 29 00236 #define SMG_C_MOVE_TEXT 30 00237 00238 #define SMG_C_UNITED_KINGDOM 0 00239 #define SMG_C_ASCII 1 00240 #define SMG_C_SPEC_GRAPHICS 2 00241 #define SMG_C_ALT_CHAR 3 00242 #define SMG_C_ALT_GRAPHICS 4 00243 #define SMG_C_UNKNOWN 5 00244 #define SMG_C_SUPPLEMENTAL 6 00245 #define SMG_C_JIS_ROMAN 7 00246 #define SMG_C_JIS_KANA 8 00247 #define SMG_C_KANJI 9 00248 #define SMG_C_HANZI 10 00249 #define SMG_C_HANYU 11 00250 #define SMG_C_HANGUL 12 00251 #define SMG_C_KS_ROMAN 13 00252 00253 #define SMG_C_UPPER_LEFT 0 00254 #define SMG_C_LOWER_LEFT 1 00255 #define SMG_C_UPPER_RIGHT 2 00256 #define SMG_C_LOWER_RIGHT 3 00257 00258 #define SMG_K_TOP 0 00259 #define SMG_K_BOTTOM 1 00260 #define SMG_K_LEFT 2 00261 #define SMG_K_RIGHT 3 00262 00263 #define SMG_K_BLOCK 0 00264 #define SMG_K_VERTICAL 1 00265 #define SMG_K_HORIZONTAL 2 00266 00267 #define SMG_C_COLOR_UNKNOWN 0 00268 #define SMG_C_COLOR_WHITE 1 00269 #define SMG_C_COLOR_BLACK 2 00270 #define SMG_C_COLOR_BLUE 3 00271 #define SMG_C_COLOR_CYAN 4 00272 #define SMG_C_COLOR_GREEN 5 00273 #define SMG_C_COLOR_MAGENTA 6 00274 #define SMG_C_COLOR_RED 7 00275 #define SMG_C_COLOR_YELLOW 8 00276 #define SMG_C_COLOR_LIGHT 9 00277 #define SMG_C_COLOR_DARK 10 00278 #define SMG_C_COLOR_USER1 11 00279 #define SMG_C_COLOR_USER2 12 00280 #define SMG_C_COLOR_USER3 13 00281 #define SMG_C_COLOR_USER4 14 00282 #define SMG_C_COLOR_USER5 15 00283 #define SMG_C_COLOR_USER6 16 00284 #define SMG_C_COLOR_USER7 17 00285 #define SMG_C_COLOR_USER8 18 00286 00287 #define SMG_K_UNKNOWN 0 00288 #define SMG_K_VT05 1 00289 #define SMG_K_VT52 2 00290 #define SMG_K_VT100 3 00291 #define SMG_K_VTFOREIGN 4 00292 #define SMG_K_HARDCOPY 5 00293 #define SMG_K_VTTERMTABLE 6 00294 #define SMG_K_FIRST_PRIV_TYPE 191 00295 00296 #define SMG_K_BUF_ENABLED 0 00297 #define SMG_K_MINUPD 1 00298 #define SMG_K_CLEAR_SCREEN 2 00299 #define SMG_K_NOTABS 3 00300 #define SMG_K_PROTECT 4 00301 #define SMG_K_IGNORE 5 00302 #define SMG_K_RELEASE_PBD 6 00303 #define SMG_M_BUF_ENABLED 0x1 00304 #define SMG_M_MINUPD 0x2 00305 #define SMG_M_CLEAR_SCREEN 0x4 00306 #define SMG_M_NOTABS 0x8 00307 #define SMG_M_PROTECT 0x10 00308 #define SMG_M_IGNORE 0x20 00309 #define SMG_M_RELEASE_PBD 0x40 00310 #define SMG_M_SPARE15 0xFFFFFF80 00311 00312 struct _smgmode_bits { 00313 unsigned smg_v_buf_enabled : 1; 00314 unsigned smg_v_minupd : 1; 00315 unsigned smg_v_clear_screen : 1; 00316 unsigned smg_v_notabs : 1; 00317 unsigned smg_v_protect : 1; 00318 unsigned smg_v_ignore : 1; 00319 unsigned smg_v_release_pbd : 1; 00320 unsigned smg_v_spare15 : 25; 00321 }; 00322 00323 #define SMG_M_KEY_NOECHO 0x1 00324 #define SMG_M_KEY_TERMINATE 0x2 00325 #define SMG_M_KEY_LOCK 0x4 00326 #define SMG_M_KEY_PROTECTED 0x8 00327 #define SMG_M_KEY_SETSTATE 0x10 00328 #define SMG_M_SPARE18 0xFFFFFFE0 00329 00330 struct _smg_r_key_def_attr { 00331 unsigned smg_v_key_noecho : 1; 00332 unsigned smg_v_key_terminate : 1; 00333 unsigned smg_v_key_lock : 1; 00334 unsigned smg_v_key_protected : 1; 00335 unsigned smg_v_key_setstate : 1; 00336 unsigned smg_v_spare18 : 27; 00337 }; 00338 00339 #define SMG_M_BOLD 0x1 00340 #define SMG_M_REVERSE 0x2 00341 #define SMG_M_BLINK 0x4 00342 #define SMG_M_UNDERLINE 0x8 00343 #define SMG_M_INVISIBLE 0x10 00344 #define SMG_M_USER1 0x100 00345 #define SMG_M_USER2 0x200 00346 #define SMG_M_USER3 0x400 00347 #define SMG_M_USER4 0x800 00348 #define SMG_M_USER5 0x1000 00349 #define SMG_M_USER6 0x2000 00350 #define SMG_M_USER7 0x4000 00351 #define SMG_M_USER8 0x8000 00352 #define SMG_M_SPARE14 0xFFFF0000 00353 00354 struct _smgdef_bits { 00355 unsigned smg_v_bold : 1; 00356 unsigned smg_v_reverse : 1; 00357 unsigned smg_v_blink : 1; 00358 unsigned smg_v_underline : 1; 00359 unsigned smg_v_invisible : 1; 00360 unsigned smg_v_fill1 : 3; 00361 unsigned smg_v_user1 : 1; 00362 unsigned smg_v_user2 : 1; 00363 unsigned smg_v_user3 : 1; 00364 unsigned smg_v_user4 : 1; 00365 unsigned smg_v_user5 : 1; 00366 unsigned smg_v_user6 : 1; 00367 unsigned smg_v_user7 : 1; 00368 unsigned smg_v_user8 : 1; 00369 unsigned smg_v_spare14 : 16; 00370 }; 00371 00372 #define SMG_M_BORDER 0x1 00373 #define SMG_M_TRUNC_ICON 0x2 00374 #define SMG_M_DISPLAY_CONTROLS 0x4 00375 #define SMG_M_USER_DISPLAY 0x8 00376 #define SMG_M_BLOCK_BORDER 0x10 00377 #define SMG_M_PROTECT_DISPLAY 0x20 00378 #define SMG_M_SPARE12 0xFFFFFFC0 00379 00380 struct _display_attributes { 00381 unsigned smg_v_border : 1; 00382 unsigned smg_v_trunc_icon : 1; 00383 unsigned smg_v_display_controls : 1; 00384 unsigned smg_v_user_display : 1; 00385 unsigned smg_v_block_border : 1; 00386 unsigned smg_v_protect_display : 1; 00387 unsigned smg_v_spare12 : 26; 00388 }; 00389 00390 #define SMG_M_TRUSTED 0x1 00391 #define SMG_M_AUTHPRIV 0x2 00392 #define SMG_M_SUBSYSTEM 0x4 00393 #define SMG_M_SPARE20 0xFFFFFFF8 00394 00395 struct _smg_r_create_subprocess_flags { 00396 unsigned smg_v_trusted : 1; 00397 unsigned smg_v_authpriv : 1; 00398 unsigned smg_v_subsystem : 1; 00399 unsigned smg_v_spare20 : 29; 00400 }; 00401 00402 #define SMG_M_DATA_FOLLOWS 0x1 00403 #define SMG_M_SEND_EOF 0x2 00404 #define SMG_M_NO_PRINT 0x4 00405 #define SMG_M_SPARE11 0xFFFFFFF8 00406 00407 struct _smg_r_subprocess_flags { 00408 unsigned smg_v_data_follows : 1; 00409 unsigned smg_v_send_eof : 1; 00410 unsigned smg_v_no_print : 1; 00411 unsigned smg_v_spare11 : 29; 00412 }; 00413 00414 #define SMG_M_ERASE_PBD 0x1 00415 #define SMG_M_IGNORE_BATCHED 0x2 00416 #define SMG_M_SPARE10 0xFFFFFFFC 00417 00418 struct _smg_r_delete_pbd_flags { 00419 unsigned smg_v_erase_pbd : 1; 00420 unsigned smg_v_ignore_batched : 1; 00421 unsigned smg_v_spare10 : 30; 00422 }; 00423 00424 #define SMG_M_KEEP_CONTENTS 0x1 00425 #define SMG_M_WORKSTATION 0x2 00426 #define SMG_M_SPARE9 0xFFFFFFFC 00427 00428 struct _smg_r_create_pbd_flags { 00429 unsigned smg_v_keep_contents : 1; 00430 unsigned smg_v_workstation : 1; 00431 unsigned smg_v_spare9 : 30; 00432 }; 00433 00434 #define SMG_M_FUNC_KEYS 0x1 00435 #define SMG_M_NOKEEP 0x2 00436 #define SMG_M_NORECALL 0x4 00437 #define SMG_M_SPARE8 0xFFFFFFF8 00438 00439 struct _smg_r_read_flags { 00440 unsigned smg_v_func_keys : 1; 00441 unsigned smg_v_nokeep : 1; 00442 unsigned smg_v_norecall : 1; 00443 unsigned smg_v_spare8 : 29; 00444 }; 00445 00446 #define SMG_M_CURSOR_OFF 0x1 00447 #define SMG_M_CURSOR_ON 0x2 00448 #define SMG_M_SCROLL_JUMP 0x4 00449 #define SMG_M_SCROLL_SMOOTH 0x8 00450 #define SMG_M_SPARE16 0xFFFFFFF0 00451 00452 struct _smg_r_set_cursor_flags { 00453 unsigned smg_v_cursor_off : 1; 00454 unsigned smg_v_cursor_on : 1; 00455 unsigned smg_v_scroll_jump : 1; 00456 unsigned smg_v_scroll_smooth : 1; 00457 unsigned smg_v_spare16 : 28; 00458 }; 00459 00460 #define SMG_M_VIEWPORT 0x1 00461 #define SMG_M_SUBPROCESS 0x2 00462 #define SMG_M_MENU 0x4 00463 #define SMG_M_SPARE7 0xFFFFFFF8 00464 00465 struct _smg_r_get_display_flags { 00466 unsigned smg_v_viewport : 1; 00467 unsigned smg_v_subprocess : 1; 00468 unsigned smg_v_menu : 1; 00469 unsigned smg_v_spare7 : 29; 00470 }; 00471 00472 #define SMG_M_ERASE_LINE 0x1 00473 #define SMG_M_ERASE_TO_EOL 0x2 00474 #define SMG_M_SPARE6 0xFFFFFFFC 00475 00476 struct _smg_r_put_chars_flags { 00477 unsigned smg_v_erase_line : 1; 00478 unsigned smg_v_erase_to_eol : 1; 00479 unsigned smg_v_spare6 : 30; 00480 }; 00481 00482 #define SMG_M_TEXT_SAVE 0x1 00483 #define SMG_M_TEXT_ONLY 0x2 00484 #define SMG_M_SPARE17 0xFFFFFFFC 00485 00486 struct _smg_r_move_text_flags { 00487 unsigned smg_v_text_save : 1; 00488 unsigned smg_v_text_only : 1; 00489 unsigned smg_v_spare17 : 30; 00490 }; 00491 00492 #define SMG_M_FORM_FEED 0x1 00493 #define SMG_M_SPARE5 0xFFFFFFFE 00494 00495 struct _smg_r_snapshot_flags { 00496 unsigned smg_v_form_feed : 1; 00497 unsigned smg_v_spare5 : 31; 00498 }; 00499 00500 #define SMG_M_WRAP_CHAR 0x1 00501 #define SMG_M_WRAP_WORD 0x2 00502 #define SMG_M_SPARE4 0xFFFFFFFC 00503 00504 struct _smg_r_put_line_flags { 00505 unsigned smg_v_wrap_char : 1; 00506 unsigned smg_v_wrap_word : 1; 00507 unsigned smg_v_spare4 : 30; 00508 }; 00509 00510 #define SMG_M_KEYPAD_APPLICATION 0x1 00511 #define SMG_M_KEYPAD_NUMERIC 0x2 00512 #define SMG_M_SPARE3 0xFFFFFFFC 00513 00514 struct _smg_r_keypad_modes { 00515 unsigned smg_v_keypad_application : 1; 00516 unsigned smg_v_keypad_numeric : 1; 00517 unsigned smg_v_spare3 : 30; 00518 }; 00519 00520 #define SMG_M_DISPLAY_PASTED 0x1 00521 #define SMG_M_SPARE19 0xFFFFFFFE 00522 00523 struct _smg_r_pasting_info_flags { 00524 unsigned smg_v_display_pasted : 1; 00525 unsigned smg_v_spare19 : 31; 00526 }; 00527 00528 #define SMG_M_REMOVE_ITEM 0x1 00529 #define SMG_M_FIXED_FORMAT 0x2 00530 #define SMG_M_DOUBLE_SPACE 0x4 00531 #define SMG_M_RETURN_IMMED 0x8 00532 #define SMG_M_ERASE_MENU 0x10 00533 #define SMG_M_WIDE_MENU 0x20 00534 #define SMG_M_WRAP_MENU 0x40 00535 #define SMG_M_FULL_FIELD 0x80 00536 #define SMG_M_SPARE2 0xFFFFFF00 00537 00538 struct _smg_r_menu_flags { 00539 unsigned smg_v_remove_item : 1; 00540 unsigned smg_v_fixed_format : 1; 00541 unsigned smg_v_double_space : 1; 00542 unsigned smg_v_return_immed : 1; 00543 unsigned smg_v_erase_menu : 1; 00544 unsigned smg_v_wide_menu : 1; 00545 unsigned smg_v_wrap_menu : 1; 00546 unsigned smg_v_full_field : 1; 00547 unsigned smg_v_spare2 : 24; 00548 }; 00549 00550 #define SMG_M_UP 0x1 00551 #define SMG_M_DOWN 0x2 00552 #define SMG_M_RIGHT 0x4 00553 #define SMG_M_LEFT 0x8 00554 #define SMG_M_SPARE1 0xFFFFFFF0 00555 00556 struct _scroll_dirs { 00557 unsigned smg_v_up : 1; 00558 unsigned smg_v_down : 1; 00559 unsigned smg_v_right : 1; 00560 unsigned smg_v_left : 1; 00561 unsigned smg_v_spare1 : 28; 00562 }; 00563 00564 #define SMG_C_BAND_INFORMATION_TABLE 12 00565 00566 #define SMG_C_PASTEBOARD_INFO_BLOCK 36 00567 00568 #define SMG_C_KEYBOARD_INFO_BLOCK 36 00569 00570 union _smgdef { 00571 struct { 00572 unsigned int smg_l_pasteboard_id; 00573 unsigned int smg_l_arg; 00574 union { 00575 unsigned char smg_b_character; 00576 unsigned int smg_l_character; 00577 }; 00578 }; 00579 struct { 00580 unsigned int smg_l_devchar; 00581 unsigned int smg_l_devdepend; 00582 unsigned int smg_l_devdepend2; 00583 unsigned char smg_b_devclass; 00584 unsigned char smg_b_smg_devtype; 00585 unsigned char smg_b_phy_devtype; 00586 unsigned char smg_b_rows; 00587 unsigned short int smg_w_width; 00588 unsigned char smg_b_color; 00589 unsigned char smg_b_parity; 00590 unsigned short int smg_w_speed; 00591 unsigned short int smg_w_fill; 00592 unsigned short int smg_w_cursor_row; 00593 unsigned short int smg_w_cursor_col; 00594 unsigned int smg_l_cursor_did; 00595 unsigned int smg_l_devdepend3; 00596 }; 00597 struct { 00598 unsigned int smg_l_fill1; 00599 unsigned int smg_l_fill2; 00600 unsigned int smg_l_fill3; 00601 unsigned char smg_b_fill4; 00602 unsigned char smg_b_recall_size; 00603 unsigned char smg_b_fill5; 00604 unsigned char smg_b_typeahead_char; 00605 unsigned short int smg_w_fill6; 00606 unsigned short int smg_w_typeahead_count; 00607 unsigned int smg_l_fill7; 00608 unsigned int smg_l_fill8; 00609 unsigned int smg_l_fill9; 00610 unsigned int smg_l_fill10; 00611 }; 00612 }; 00613 00614 struct _smg_r_out_of_band_table { 00615 unsigned int smg_l_pbd_id; 00616 unsigned int smg_l_user_arg; 00617 union { 00618 unsigned char smg_b_char; 00619 unsigned int smg_l_char; 00620 }; 00621 }; 00622 00623 #define SMG_C_OUT_OF_BAND_TABLE 12 00624 00625 struct _smg_r_subprocess_info_table { 00626 unsigned int smg_l_disp_id; 00627 unsigned int smg_l_usr_arg; 00628 unsigned int smg_l_status; 00629 }; 00630 00631 #define SMG_C_SUBPROCESS_INFO_TABLE 12 00632 00633 struct _smg_r_attribute_info_block { 00634 unsigned int smg_l_dev_char; 00635 unsigned int smg_l_dev_depend; 00636 unsigned int smg_l_dev_depend2; 00637 unsigned char smg_b_dev_class; 00638 union { 00639 unsigned char smg_b_pbd_type; 00640 unsigned char smg_b_recall_num; 00641 }; 00642 unsigned char smg_b_dev_type; 00643 union { 00644 unsigned char smg_b_num_rows; 00645 unsigned char smg_b_typeahd_char; 00646 }; 00647 unsigned short int smg_w_num_columns; 00648 union { 00649 unsigned short int smg_w_typeahd_cnt; 00650 struct { 00651 unsigned char smg_b_pbd_color; 00652 unsigned char smg_b_dev_parity; 00653 }; 00654 }; 00655 unsigned short int smg_w_dev_speed; 00656 unsigned short int smg_w_dev_fill; 00657 unsigned short int smg_w_phys_cursor_row; 00658 unsigned short int smg_w_phys_cursor_col; 00659 unsigned int smg_l_display_id; 00660 unsigned int smg_l_dev_depend3; 00661 }; 00662 00663 #endif 00664 00665