00001 #ifndef ttyucbdef_h 00002 #define ttyucbdef_h 00003 00004 #include <ucbdef.h> 00005 00006 struct _ltrm_ucb { 00007 struct _ucb ucb_r_ucb; 00008 struct _acb *ucb_l_tl_ctrly; 00009 struct _acb *ucb_l_tl_ctrlc; 00010 unsigned int ucb_l_tl_outband; 00011 long ucb_l_tl_bandque; 00012 struct _ucb *ucb_l_tl_phyucb; 00013 unsigned int ucb_l_tl_ctlpid; 00014 unsigned long long ucb_q_tl_brkthru; 00015 void *ucb_l_tl_posix_data; 00016 void *ucb_l_tl_asian_data; 00017 union { 00018 unsigned char ucb_b_tl_a_mode; 00019 unsigned int ucb_l_tl_a_charset; 00020 }; 00021 void *ucb_l_tl_a_fi_ucb; 00022 }; 00023 00024 #define UCB_C_TL_LENGTH 288 00025 #define UCB_K_TL_LENGTH 288 00026 00027 #define TTY_M_ST_POWER 0x1 00028 #define TTY_M_ST_CTRLS 0x2 00029 #define TTY_M_ST_LOSTCTS 0x4 00030 #define TTY_M_ST_MODEM_OFF 0x8 00031 #define TTY_M_ST_POSIXSTALL 0x10 00032 #define TTY_M_ST_FILL 0x20 00033 #define TTY_M_ST_CURSOR 0x40 00034 #define TTY_M_ST_SENDLF 0x80 00035 #define TTY_M_ST_BACKSPACE 0x100 00036 #define TTY_M_ST_MULTI 0x200 00037 #define TTY_M_ST_WRITE 0x400 00038 #define TTY_M_ST_POSIXWRITE 0x800 00039 #define TTY_M_ST_EOL 0x1000 00040 #define TTY_M_ST_EDITREAD 0x2000 00041 #define TTY_M_ST_RDVERIFY 0x4000 00042 #define TTY_M_ST_RECALL 0x8000 00043 #define TTY_M_ST_READ 0x10000 00044 #define TTY_M_ST_POSIXREAD 0x20000 00045 #define TTY_M_ST_CTRLO 0x1 00046 #define TTY_M_ST_DEL 0x2 00047 #define TTY_M_ST_PASALL 0x4 00048 #define TTY_M_ST_NOECHO 0x8 00049 #define TTY_M_ST_WRTALL 0x10 00050 #define TTY_M_ST_PROMPT 0x20 00051 #define TTY_M_ST_NOFLTR 0x40 00052 #define TTY_M_ST_ESC 0x80 00053 #define TTY_M_ST_BADESC 0x100 00054 #define TTY_M_ST_NL 0x200 00055 #define TTY_M_ST_REFRSH 0x400 00056 #define TTY_M_ST_ESCAPE 0x800 00057 #define TTY_M_ST_TYPFUL 0x1000 00058 #define TTY_M_ST_SKIPLF 0x2000 00059 #define TTY_M_ST_ESC_O 0x4000 00060 #define TTY_M_ST_WRAP 0x8000 00061 #define TTY_M_ST_OVRFLO 0x10000 00062 #define TTY_M_ST_AUTOP 0x20000 00063 #define TTY_M_ST_CTRLR 0x40000 00064 #define TTY_M_ST_SKIPCRLF 0x80000 00065 #define TTY_M_ST_EDITING 0x100000 00066 #define TTY_M_ST_TABEXPAND 0x200000 00067 #define TTY_M_ST_QUOTING 0x400000 00068 #define TTY_M_ST_OVERSTRIKE 0x800000 00069 #define TTY_M_ST_TERMNORM 0x1000000 00070 #define TTY_M_ST_ECHAES 0x2000000 00071 #define TTY_M_ST_PRE 0x4000000 00072 #define TTY_M_ST_NINTMULTI 0x8000000 00073 #define TTY_M_ST_RECONNECT 0x10000000 00074 #define TTY_M_ST_CTSLOW 0x20000000 00075 #define TTY_M_ST_TABRIGHT 0x40000000 00076 #define UCB_M_TT_XXPARITY 0x1 00077 #define UCB_M_TT_DISPARERR 0x2 00078 #define UCB_M_TT_USERFRAME 0x4 00079 #define UCB_M_TT_LEN 0x18 00080 #define UCB_M_TT_STOP 0x20 00081 #define UCB_M_TT_PARTY 0x40 00082 #define UCB_M_TT_ODD 0x80 00083 #define TTY_M_TANK_PREMPT 0x100 00084 #define TTY_M_TANK_STOP 0x200 00085 #define TTY_M_TANK_HOLD 0x400 00086 #define TTY_M_TANK_BURST 0x800 00087 #define TTY_M_TANK_DMA 0x1000 00088 #define TTY_M_PC_NOTIME 0x1 00089 #define TTY_M_PC_DMAENA 0x2 00090 #define TTY_M_PC_DMAAVL 0x4 00091 #define TTY_M_PC_PRMMAP 0x8 00092 #define TTY_M_PC_MAPAVL 0x10 00093 #define TTY_M_PC_XOFAVL 0x20 00094 #define TTY_M_PC_XOFENA 0x40 00095 #define TTY_M_PC_NOCRLF 0x80 00096 #define TTY_M_PC_BREAK 0x100 00097 #define TTY_M_PC_PORTFDT 0x200 00098 #define TTY_M_PC_NOMODEM 0x400 00099 #define TTY_M_PC_NODISCONNECT 0x800 00100 #define TTY_M_PC_SMART_READ 0x1000 00101 #define TTY_M_PC_ACCPORNAM 0x2000 00102 #define TTY_M_PC_MULTISESSION 0x8000 00103 #define UCB_M_TT_DSBL 0x80 00104 00105 struct _tty_ucb { 00106 struct _ltrm_ucb ucb_r_ltrmucb; 00107 unsigned int ucb_l_tt_rdue; 00108 void (*ucb_l_tt_rtimou)(); 00109 union { 00110 unsigned long long ucb_q_tt_state; 00111 struct { 00112 union { 00113 unsigned int ucb_l_tt_state1; 00114 struct { 00115 unsigned tty_v_st_power : 1; 00116 unsigned tty_v_st_ctrls : 1; 00117 unsigned tty_v_st_lostcts : 1; 00118 unsigned tty_v_st_modem_off : 1; 00119 unsigned tty_v_st_posixstall : 1; 00120 unsigned tty_v_st_fill : 1; 00121 unsigned tty_v_st_cursor : 1; 00122 unsigned tty_v_st_sendlf : 1; 00123 unsigned tty_v_st_backspace : 1; 00124 unsigned tty_v_st_multi : 1; 00125 unsigned tty_v_st_write : 1; 00126 unsigned tty_v_st_posixwrite : 1; 00127 unsigned tty_v_st_eol : 1; 00128 unsigned tty_v_st_editread : 1; 00129 unsigned tty_v_st_rdverify : 1; 00130 unsigned tty_v_st_recall : 1; 00131 unsigned tty_v_st_read : 1; 00132 unsigned tty_v_st_posixread : 1; 00133 unsigned tty_v_fill_0_ : 6; 00134 }; 00135 }; 00136 union { 00137 unsigned int ucb_l_tt_state2; 00138 struct { 00139 unsigned tty_v_st_ctrlo : 1; 00140 unsigned tty_v_st_del : 1; 00141 unsigned tty_v_st_pasall : 1; 00142 unsigned tty_v_st_noecho : 1; 00143 unsigned tty_v_st_wrtall : 1; 00144 unsigned tty_v_st_prompt : 1; 00145 unsigned tty_v_st_nofltr : 1; 00146 unsigned tty_v_st_esc : 1; 00147 unsigned tty_v_st_badesc : 1; 00148 unsigned tty_v_st_nl : 1; 00149 unsigned tty_v_st_refrsh : 1; 00150 unsigned tty_v_st_escape : 1; 00151 unsigned tty_v_st_typful : 1; 00152 unsigned tty_v_st_skiplf : 1; 00153 unsigned tty_v_st_esc_o : 1; 00154 unsigned tty_v_st_wrap : 1; 00155 unsigned tty_v_st_ovrflo : 1; 00156 unsigned tty_v_st_autop : 1; 00157 unsigned tty_v_st_ctrlr : 1; 00158 unsigned tty_v_st_skipcrlf : 1; 00159 unsigned tty_v_st_editing : 1; 00160 unsigned tty_v_st_tabexpand : 1; 00161 unsigned tty_v_st_quoting : 1; 00162 unsigned tty_v_st_overstrike : 1; 00163 unsigned tty_v_st_termnorm : 1; 00164 unsigned tty_v_st_echaes : 1; 00165 unsigned tty_v_st_pre : 1; 00166 unsigned tty_v_st_nintmulti : 1; 00167 unsigned tty_v_st_reconnect : 1; 00168 unsigned tty_v_st_ctslow : 1; 00169 unsigned tty_v_st_tabright : 1; 00170 unsigned tty_v_fill_1_ : 1; 00171 }; 00172 }; 00173 }; 00174 }; 00175 struct _ucb *ucb_l_tt_logucb; 00176 unsigned int ucb_l_tt_dechar; 00177 unsigned int ucb_l_tt_decha1; 00178 unsigned int ucb_l_tt_decha2; 00179 unsigned int ucb_l_tt_decha3; 00180 struct _twp *ucb_l_tt_wflink; 00181 struct _twp *ucb_l_tt_wblink; 00182 struct _twp *ucb_l_tt_wrtbuf; 00183 void *ucb_l_tt_multi; 00184 unsigned short int ucb_w_tt_multilen; 00185 unsigned short int ucb_w_tt_smltlen; 00186 void *ucb_l_tt_smlt; 00187 unsigned short int ucb_w_tt_despee; 00188 unsigned char ucb_b_tt_decrf; 00189 unsigned char ucb_b_tt_delff; 00190 unsigned char ucb_b_tt_depari; 00191 unsigned char ucb_b_tt_defspe_spare1; 00192 unsigned short int ucb_w_tt_defspe_spare2; 00193 unsigned short int ucb_w_tt_desize; 00194 unsigned char ucb_b_tt_detype; 00195 unsigned char ucb_b_tt_spare1; 00196 union { 00197 unsigned short int ucb_w_tt_speed; 00198 struct { 00199 unsigned char ucb_b_tt_tspeed; 00200 unsigned char ucb_b_tt_rspeed; 00201 }; 00202 }; 00203 unsigned char ucb_b_tt_crfill; 00204 unsigned char ucb_b_tt_lffill; 00205 union { 00206 unsigned char ucb_b_tt_parity; 00207 struct { 00208 unsigned ucb_v_tt_xxparity : 1; 00209 unsigned ucb_v_tt_disparerr : 1; 00210 unsigned ucb_v_tt_userframe : 1; 00211 unsigned ucb_v_tt_len : 2; 00212 unsigned ucb_v_tt_stop : 1; 00213 unsigned ucb_v_tt_party : 1; 00214 unsigned ucb_v_tt_odd : 1; 00215 }; 00216 }; 00217 unsigned char ucb_b_tt_par_spare1; 00218 unsigned short int ucb_w_tt_par_spare2; 00219 void *ucb_l_tt_typahd; 00220 unsigned short int ucb_w_tt_cursor; 00221 unsigned char ucb_b_tt_line; 00222 unsigned char ucb_b_tt_lastc; 00223 unsigned short int ucb_w_tt_bsplen; 00224 unsigned char ucb_b_tt_fill; 00225 unsigned char ucb_b_tt_esc; 00226 unsigned char ucb_b_tt_esc_o; 00227 unsigned char ucb_b_tt_intcnt; 00228 unsigned short int ucb_w_tt_unitbit; 00229 union { 00230 unsigned short int ucb_w_tt_hold; 00231 struct { 00232 unsigned char tty_b_tank_char; 00233 unsigned tty_v_tank_prempt : 1; 00234 unsigned tty_v_tank_stop : 1; 00235 unsigned tty_v_tank_hold : 1; 00236 unsigned tty_v_tank_burst : 1; 00237 unsigned tty_v_tank_dma : 1; 00238 unsigned tty_v_fill_2_ : 3; 00239 }; 00240 }; 00241 unsigned char ucb_b_tt_prempt; 00242 char ucb_b_tt_outype; 00243 int (*ucb_l_tt_getnxt)(); 00244 int (*ucb_l_tt_putnxt)(); 00245 int ucb_l_tt_class; 00246 int ucb_l_tt_port; 00247 void *ucb_l_tt_outadr; 00248 unsigned short int ucb_w_tt_outlen; 00249 union { 00250 unsigned short int ucb_w_tt_prtctl; 00251 struct { 00252 unsigned tty_v_pc_notime : 1; 00253 unsigned tty_v_pc_dmaena : 1; 00254 unsigned tty_v_pc_dmaavl : 1; 00255 unsigned tty_v_pc_prmmap : 1; 00256 unsigned tty_v_pc_mapavl : 1; 00257 unsigned tty_v_pc_xofavl : 1; 00258 unsigned tty_v_pc_xofena : 1; 00259 unsigned tty_v_pc_nocrlf : 1; 00260 unsigned tty_v_pc_break : 1; 00261 unsigned tty_v_pc_portfdt : 1; 00262 unsigned tty_v_pc_nomodem : 1; 00263 unsigned tty_v_pc_nodisconnect : 1; 00264 unsigned tty_v_pc_smart_read : 1; 00265 unsigned tty_v_pc_accpornam : 1; 00266 unsigned tty_v_pc_fill_1 : 1; 00267 unsigned tty_v_pc_multisession : 1; 00268 }; 00269 }; 00270 unsigned int ucb_l_tt_ds_st; 00271 unsigned char ucb_b_tt_ds_rcv; 00272 unsigned char ucb_b_tt_ds_tx; 00273 unsigned short int ucb_w_tt_ds_tim; 00274 union { 00275 unsigned char ucb_b_tt_maint; 00276 struct { 00277 unsigned ucb_v_tt_maint_fill : 7; 00278 unsigned ucb_v_tt_dsbl : 1; 00279 }; 00280 }; 00281 unsigned char ucb_b_tt_oldcpzorg; 00282 unsigned short int ucb_w_tt_fillrup; 00283 void *ucb_l_tt_fbk; 00284 void *ucb_l_tt_rdverify; 00285 unsigned int ucb_l_tt_class1; 00286 unsigned int ucb_l_tt_class2; 00287 void *ucb_l_tt_accpornam; 00288 void *ucb_l_tt_a_gcbadr; 00289 unsigned short int ucb_w_tt_a_edsts; 00290 unsigned char ucb_b_tt_a_state; 00291 unsigned char ucb_b_tt_a_parse; 00292 unsigned char ucb_b_tt_a_trans; 00293 unsigned char ucb_b_tt_a_xedsts; 00294 unsigned short int ucb_w_tt_a_resrv1; 00295 union { 00296 unsigned char ucb_b_tt_a_char; 00297 unsigned int ucb_l_tt_a_dechset; 00298 }; 00299 }; 00300 00301 #define UCB_C_TT_CLSLEN 460 00302 #define UCB_K_TT_CLSLEN 460 00303 00304 #define TTY_M_TP_ABORT 0x1 00305 #define TTY_M_TP_ALLOC 0x2 00306 #define TTY_M_TP_DLLOC 0x4 00307 00308 struct _tpd_ucb { 00309 struct _tty_ucb ucb_r_ttyucb; 00310 int ucb_l_tp_map; 00311 union { 00312 unsigned char ucb_b_tp_stat; 00313 struct { 00314 unsigned tty_v_tp_abort : 1; 00315 unsigned tty_v_tp_alloc : 1; 00316 unsigned tty_v_tp_dlloc : 1; 00317 unsigned tty_v_fill_3_ : 5; 00318 }; 00319 }; 00320 unsigned char ucb_b_tp_spare1; 00321 unsigned short int ucb_w_tp_spare2; 00322 }; 00323 00324 #define UCB_C_TP_LENGTH 468 00325 #define UCB_K_TP_LENGTH 468 00326 #define UCB_C_TT_LENGTH 468 00327 #define UCB_K_TT_LENGTH 468 00328 00329 #define TTY_M_SX_LOSTCTS 0x4 00330 #define TTY_M_SX_POSIXSTALL 0x10 00331 00332 struct _sx_state { 00333 struct _tpd_ucb tty_r_tpducb; 00334 struct { 00335 unsigned tty_v_sx_power : 1; 00336 unsigned tty_v_sx_ctrls : 1; 00337 unsigned tty_v_sx_lostcts : 1; 00338 unsigned tty_v_sx_modem_off : 1; 00339 unsigned tty_v_sx_posixstall : 1; 00340 unsigned tty_v_sx_fill : 1; 00341 unsigned tty_v_sx_cursor : 1; 00342 unsigned tty_v_sx_sendlf : 1; 00343 unsigned tty_v_sx_backspace : 1; 00344 unsigned tty_v_sx_multi : 1; 00345 unsigned tty_v_sx_write : 1; 00346 unsigned tty_v_sx_posixwrite : 1; 00347 unsigned tty_v_sx_eol : 1; 00348 unsigned tty_v_sx_editread : 1; 00349 unsigned tty_v_sx_rdverify : 1; 00350 unsigned tty_v_sx_recall : 1; 00351 unsigned tty_v_sx_read : 1; 00352 unsigned tty_v_sx_posixread : 1; 00353 unsigned tty_v_sx_fillbits : 14; 00354 unsigned tty_v_sx_ctrlo : 1; 00355 unsigned tty_v_sx_del : 1; 00356 unsigned tty_v_sx_pasall : 1; 00357 unsigned tty_v_sx_noecho : 1; 00358 unsigned tty_v_sx_wrtall : 1; 00359 unsigned tty_v_sx_prompt : 1; 00360 unsigned tty_v_sx_nofltr : 1; 00361 unsigned tty_v_sx_esc : 1; 00362 unsigned tty_v_sx_badesc : 1; 00363 unsigned tty_v_sx_nl : 1; 00364 unsigned tty_v_sx_refrsh : 1; 00365 unsigned tty_v_sx_escape : 1; 00366 unsigned tty_v_sx_typful : 1; 00367 unsigned tty_v_sx_skiplf : 1; 00368 unsigned tty_v_sx_esc_o : 1; 00369 unsigned tty_v_sx_wrap : 1; 00370 unsigned tty_v_sx_ovrflo : 1; 00371 unsigned tty_v_sx_autop : 1; 00372 unsigned tty_v_sx_ctrlr : 1; 00373 unsigned tty_v_sx_skipcrlf : 1; 00374 unsigned tty_v_sx_editing : 1; 00375 unsigned tty_v_sx_tabexpand : 1; 00376 unsigned tty_v_sx_quoting : 1; 00377 unsigned tty_v_sx_overstrike : 1; 00378 unsigned tty_v_sx_termnorm : 1; 00379 unsigned tty_v_sx_echaes : 1; 00380 unsigned tty_v_sx_pre : 1; 00381 unsigned tty_v_sx_nintmulti : 1; 00382 unsigned tty_v_sx_reconnect : 1; 00383 unsigned tty_v_sx_ctslow : 1; 00384 unsigned tty_v_sx_tabright : 1; 00385 unsigned tty_v_fill_4_ : 1; 00386 }; 00387 }; 00388 00389 #define TTY_S_TTYUCB 188 00390 #define TTY_S_TTYRTTUCB 188 00391 #define TTY_S_TTYUCBDEF 476 00392 00393 #define FLG_M_CTRLO 0x1 00394 #define FLG_M_CANCTRLO 0x2 00395 #define FLG_M_VAXTOVAX 0x4 00396 #define FLG_M_CTRLC 0x8 00397 #define FLG_M_INIT 0x10 00398 #define FLG_M_RESET_TIMER 0x20 00399 #define FLG_M_DECNET_BUSY 0x40 00400 #define FLG_M_OUTPUT_BUSY 0x80 00401 #define FLG_M_READ_BUSY 0x100 00402 #define FLG_M_SENSE_BUSY 0x200 00403 #define FLG_M_OOB_CHAR 0x400 00404 #define FLG_M_FLUSH_OUTPUT 0x800 00405 #define FLG_M_CLR_NOBRDCST 0x1000 00406 #define FLG_M_READ_ABORT 0x2000 00407 #define FLG_M_READ_ABORTED 0x4000 00408 #define FLG_M_ISUPPORT 0x8000 00409 #define FLG_M_PARTIAL_READ 0x10000 00410 00411 struct _rtt_ucb { 00412 struct _ltrm_ucb ucb_r_ltrmucb; 00413 struct { 00414 struct _ucb *ucb_l_rtt_netucb; 00415 struct _wcb *ucb_l_rtt_netwind; 00416 struct _irp *ucb_l_rtt_irpfl; 00417 struct _irp *ucb_l_rtt_irpbl; 00418 struct _irp *ucb_l_rtt_netirp; 00419 int ucb_l_rtt_bandincl; 00420 unsigned int ucb_l_rtt_bandinmsk; 00421 unsigned int ucb_l_rtt_bandexcl; 00422 unsigned int ucb_l_rtt_bandexmsk; 00423 unsigned char ucb_b_rtt_provrs; 00424 unsigned char ucb_b_rtt_proeco; 00425 unsigned short int ucb_w_rtt_link; 00426 unsigned char ucb_b_rtt_obj; 00427 unsigned short int ucb_w_rtt_systype; 00428 unsigned char ucb_b_rtt_fillbyte; 00429 union { 00430 unsigned int ucb_l_ct_flags; 00431 struct { 00432 unsigned flg_v_ctrlo : 1; 00433 unsigned flg_v_canctrlo : 1; 00434 unsigned flg_v_vaxtovax : 1; 00435 unsigned flg_v_ctrlc : 1; 00436 unsigned flg_v_init : 1; 00437 unsigned flg_v_reset_timer : 1; 00438 unsigned flg_v_decnet_busy : 1; 00439 unsigned flg_v_output_busy : 1; 00440 unsigned flg_v_read_busy : 1; 00441 unsigned flg_v_sense_busy : 1; 00442 unsigned flg_v_oob_char : 1; 00443 unsigned flg_v_flush_output : 1; 00444 unsigned flg_v_clr_nobrdcst : 1; 00445 unsigned flg_v_read_abort : 1; 00446 unsigned flg_v_read_aborted : 1; 00447 unsigned flg_v_isupport : 1; 00448 unsigned flg_v_partial_read : 1; 00449 unsigned flg_v_fill_5_ : 7; 00450 }; 00451 }; 00452 struct _irp *ucb_l_ct_wiirp; 00453 struct _tqe *ucb_l_ct_tqe; 00454 struct _dcb *ucb_l_ct_netqfl; 00455 struct _dcb *ucb_l_ct_netqbl; 00456 struct _irp *ucb_l_ct_senseqfl; 00457 struct _irp *ucb_l_ct_senseqbl; 00458 struct _irp *ucb_l_ct_readqfl; 00459 struct _irp *ucb_l_ct_readqbl; 00460 struct _dcb *ucb_l_ct_wrtdcb; 00461 struct _dcb *ucb_l_ct_curdcb; 00462 unsigned short int ucb_w_ct_remsiz; 00463 short int ucb_w_ct_qdcbcnt; 00464 unsigned short int ucb_w_ct_maxmsg; 00465 unsigned short int ucb_w_ct_maxread; 00466 unsigned int ucb_l_ct_legalmsg; 00467 unsigned char ucb_b_ct_version; 00468 unsigned char ucb_b_ct_eco; 00469 unsigned short int ucb_w_ct_speed; 00470 unsigned char ucb_b_ct_crfill; 00471 unsigned char ucb_b_ct_lffill; 00472 unsigned short int ucb_w_ct_parity; 00473 unsigned int ucb_l_ct_include; 00474 unsigned int ucb_l_ct_exclude; 00475 unsigned int ucb_l_ct_abort; 00476 unsigned char ucb_b_ct_oob_char; 00477 unsigned char ucb_b_ct_fill_byte; 00478 unsigned short int ucb_w_ct_prtctl; 00479 unsigned long long ucb_q_ct_isupport; 00480 unsigned int ucb_l_ct_fill_longword; 00481 }; 00482 }; 00483 00484 #define UCB_C_RTT_LENGTH 424 00485 #define UCB_K_RTT_LENGTH 424 00486 00487 #endif 00488 00489