1 /* BEGIN INCLUDE FILE ... tcb.incl.pl1 */ 2 3 /* Date Last Modified and Reason 4 Created 04/19/77 by J. Stern (from part of tty.incl.pl1) 5 Modified 2/6/78 by Robert Coren to add input_msg_size 6 Modified 4/18/78 by Robert Coren to add framing_chars 7 Modified 8/31/78 by J. Nicholls to add scroll mode 8 Extracted 9/12/78 by J. Stern from tty_data.incl.pl1 9 Modified Oct.1979 by Robert Coren to expand to 36 possible modes 10 Modified 1/21/80 by Robert Coren to add no_outp, oddp, & eight_bit modes 11 Modified 10/08/80 by Robert Coren to add meters for tty_read & tty_write 12 Modified: 10 November 1980 by G. Palter to add can_type and explicit padding 13 Modified 12/04/80 by Robert Coren to add saved copy of meters 14 Modified 2/24/81 by Robert Coren to add time spent in tty_read and _write 15 Modified April 1981 by Robert Coren to add time last dialed up 16 */ 17 18 dcl tcbp ptr; 19 20 dcl 1 tcb based (tcbp) aligned, /* declaration of per terminal control block */ 21 22 2 terminal_type char (32) unaligned, /* terminal type name */ 23 2 tables, 24 3 input_mvtrp bit (18) unaligned, /* rel pointer to current input mvt table */ 25 3 output_mvtrp bit (18) unaligned, /* rel pointer to current output mvt table */ 26 3 input_tctrp bit (18) unaligned, /* rel pointer to current input tct table */ 27 3 output_tctrp bit (18) unaligned, /* rel pointer to current output tct table */ 28 3 specialrp bit (18) unaligned, /* rel pointer to current special chars table */ 29 3 delayrp bit (18) unaligned, /* rel pointer to current delay table */ 30 2 default_tables, 31 3 df_input_mvtrp bit (18) unaligned, /* rel pointer to default input mvt table */ 32 3 df_output_mvtrp bit (18) unaligned, /* rel pointer to default output mvt table */ 33 3 df_input_tctrp bit (18) unaligned, /* rel pointer to default input tct table */ 34 3 df_output_tctrp bit (18) unaligned, /* rel pointer to default output tct table */ 35 3 df_specialrp bit (18) unaligned, /* rel pointer to default special chars table */ 36 3 df_delayrp bit (18) unaligned, /* rel pointer to default delay table */ 37 2 special_input_chars unaligned, 38 3 erase char (1) unaligned, /* erase character */ 39 3 kill char (1) unaligned, /* kill character */ 40 2 old_type fixed bin (17) unaligned, /* old terminal type number */ 41 42 2 modes unaligned, /* modes set by order call */ 43 3 edited bit (1) unaligned, /* edited output mode */ 44 3 tabm bit (1) unaligned, /* insert output tabs mode */ 45 3 canm bit (1) unaligned, /* do canonical form conversion */ 46 47 3 escm bit (1) unaligned, /* do input escape conversions */ 48 3 erklm bit (1) unaligned, /* do erase kill processing */ 49 3 rawim bit (1) unaligned, /* don't convert input */ 50 51 3 rawom bit (1) unaligned, /* don't convert output */ 52 3 redm bit (1) unaligned, /* has red-shift function */ 53 3 vertsp bit (1) unaligned, /* send real ff's and vt's if on, else escape them */ 54 55 3 echo_cr bit (1) unaligned, /* echo carriage returns */ 56 3 echo_lf bit (1) unaligned, /* echo line feeds */ 57 3 echo_tab bit (1) unaligned, /* echo tabs */ 58 59 3 hndlquit bit (1) unaligned, /* cr's on quit */ 60 3 full_duplex bit (1) unaligned, /* xmit and receive simultaneously */ 61 3 echoplex bit (1) unaligned, /* echo input characters on terminal */ 62 63 3 upper_case bit (1) unaligned, /* map lower-case output into upper-case */ 64 3 replay bit (1) unaligned, /* replay interrupted input */ 65 3 polite bit (1) unaligned, /* output must start at left margin */ 66 67 3 control bit (1) unaligned, /* accept control characters */ 68 3 blk_xfer bit (1) unaligned, /* block transfer or "frame" mode */ 69 3 breakall bit (1) unaligned, /* break on all characters */ 70 71 3 scroll bit (1) unaligned, /* scroll mode for crt terminals */ 72 3 prefixnl bit (1) unaligned, /* prefix output iwth nl when input interrupted */ 73 3 wake_tbl bit (1) unaligned, /* input wakeups determined by wakeup table */ 74 75 3 iflow bit (1) unaligned, /* input flow control */ 76 3 oflow bit (1) unaligned, /* output flow control */ 77 3 no_outp bit (1) unaligned, /* don't generate output parity */ 78 79 3 eight_bit bit (1) unaligned, /* don't strip input parity */ 80 3 odd_parity bit (1) unaligned, /* generate odd parity (if any) */ 81 82 3 modes_pad bit (7) unaligned, 83 84 2 id char (4) unaligned, /* terminal id */ 85 86 2 colmax fixed bin (8) unaligned, /* current maximum number of columns */ 87 2 linemax fixed bin (8) unaligned, /* current maximum number of lines/frame */ 88 2 wrt_lchar fixed bin (17) unaligned, /* char within last write block */ 89 90 2 input_msg_size fixed bin, /* maximum input message size in chars */ 91 2 framing_chars unaligned, 92 3 frame_begin char (1) unaligned, /* frame-begin character */ 93 3 frame_end char (1) unaligned, /* frame-end character */ 94 2 max_output_block fixed bin (18) unsigned unaligned, /* maximum size of output block in block_acknowledge */ 95 96 2 input_suspend_seq unaligned, /* sequence for input suspension */ 97 3 count fixed bin (9) unsigned, 98 3 chars char (3), 99 2 input_resume_seq unaligned, /* likewise for input resumption */ 100 3 count fixed bin (9) unsigned, 101 3 chars char (3), 102 103 2 output_suspend_etb_seq unaligned, /* sequence for output suspension or end_of_block */ 104 3 count fixed bin (9) unsigned, 105 3 chars char (3), 106 2 output_resume_ack_seq unaligned, /* likewise for resumption or ack */ 107 3 count fixed bin (9) unsigned, 108 3 chars char (3), 109 110 2 flags unaligned, /* tty dim flag bits */ 111 3 breakall_enabled bit (1) unaligned, /* channel is permitted to use breakall mode */ 112 3 dont_count_next bit (1) unaligned, /* next output character is escaped */ 113 3 keyboard_locking bit (1) unaligned, /* ON if doing keybd locking for ASCIi line type */ 114 3 no_printer_off bit (1) unaligned, /* reject printer_off/printer_on orders */ 115 3 break_char_pending bit (1) unaligned, /* break character is in preconverted buffer */ 116 3 uproc_attached bit (1) unaligned, /* user process has attached device */ 117 3 block_acknowledge bit (1) unaligned, /* block acknowledgement output protocol */ 118 3 flags_pad bit (27) unaligned, 119 120 2 actshift bit (2) unaligned, /* tty shift, 00 none, 01 lower, 10 upper, 11 unknown */ 121 122 2 cumulative_meters, /* continuously running meters */ 123 3 read_calls fixed bin (35), /* number of calls to tty_read */ 124 3 write_calls fixed bin (35), /* number of calls to tty_write */ 125 3 read_chars fixed bin (35), /* after conversion */ 126 3 write_chars fixed bin (35), /* before conversion */ 127 3 read_time fixed bin (71), /* total time spent in tty_read */ 128 3 write_time fixed bin (71), /* total time spent in tty_write */ 129 2 saved_meters like tcb.cumulative_meters, /* meters saved at last dialup */ 130 131 2 can_type fixed binary (9) unaligned unsigned, /* type of canonicalization to use on this channel */ 132 2 pad1 bit (27) unaligned, /* to word boundary */ 133 2 time_dialed fixed bin (71); /* clock time of last copy_meters order */ 134 135 /* END INCLUDE FILE ... tcb.incl.pl1 */