COMPILATION LISTING OF SEGMENT mowse_io_call_control_ Compiled by: Multics PL/I Compiler, Release 30, of February 16, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 08/08/88 1506.0 mst Mon Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1986 * 6* * * 7* *********************************************************** */ 8 9 /****^ HISTORY COMMENTS: 10* 1) change(86-08-14,Flegel), approve(87-07-15,MCR7580), 11* audit(87-07-30,RBarstad), install(87-08-07,MR12.1-1075): 12* Created. 13* 2) change(86-10-08,Flegel), approve(87-07-15,MCR7580), 14* audit(87-07-30,RBarstad), install(87-08-07,MR12.1-1075): 15* Added flush_subchannel control order to be 16* disallowed. 17* 3) change(86-11-27,Flegel), approve(86-11-27,MCR7580), 18* audit(87-07-30,RBarstad), install(87-08-07,MR12.1-1075): 19* Approved. 20* END HISTORY COMMENTS */ 21 22 /* format: style4,indattr,ifthen,^indcomtxt,thendo,^indproc,^indblkcom,initcol1,declareind8,dclind4,struclvlind3,comcol55 */ 23 mowse_io_call_control_: 24 proc (p_iocb_ptr, p_io_call_order, p_io_call_info_ptr, p_code); 25 26 /* : PROGRAM FUNCTION 27* 28*Sets up info structures to execute mowse_io_ control orders on behalf of the 29*io_call command. 30**/ 31 32 /* : NOTES 33* 34*The following orders are supported for io_call: 35* 36* store_id id 37* set_term_type 38* line_length N 39* 40*The following orders are supported for io_call_af: 41* 42* read_status 43* write_status 44* terminal_info terminal_type 45* terminal_info baud 46* terminal_info id 47* terminal_info line_type 48* 49*This procedure is primarily an extraction of tty_io_call_control_ with minor 50*modifications in order to supply support for MOWSE. 51**/ 52 53 /* INPUT PARAMETERS */ 54 dcl p_iocb_ptr ptr; /* Pointer to the iocb */ 55 dcl p_io_call_order char (*); /* "io_call" or "io_call_af" */ 56 dcl p_io_call_info_ptr ptr; /* Info pointer */ 57 58 59 /* OUTPUT PARAMETERS */ 60 dcl p_code fixed bin (35); 61 62 63 /* MISC VARIABLES */ 64 dcl line_length fixed bin (9); 65 dcl i fixed bin (35); 66 dcl new_type fixed bin (35); /* Index into device table */ 67 dcl new_id char (4); /* Info for store_id */ 68 dcl temp_type char (16); /* Temporary line type */ 69 dcl caller char (32); /* Name of calling procedure */ 70 dcl n_args fixed bin; /* Number of control args */ 71 dcl order char (32); /* Control order requested */ 72 dcl report entry variable options (variable); 73 /* io_call report handler */ 74 dcl error entry variable options (variable); 75 /* io_call error handler */ 76 dcl af_flag bit (1); /* If the call was from "io_call_af" */ 77 78 79 /* STRUCTURES */ 80 dcl 01 write_status aligned like tty_read_status_info; 81 dcl 01 read_status aligned like tty_read_status_info; 82 dcl 01 info like terminal_info automatic; 83 84 85 /* SYSTEM CALLS */ 86 dcl cv_dec_check_ entry (char (*), fixed bin (35)) 87 returns (fixed bin (35)); 88 dcl ioa_$rsnnl entry () options (variable); 89 dcl iox_$control entry (ptr, char (*), ptr, fixed bin (35)); 90 91 92 /* SYSTEM CALL SUPPORT */ 93 dcl error_table_$undefined_order_request 94 fixed bin (35) ext static; 95 dcl error_table_$noarg fixed bin (35) ext static; 96 dcl error_table_$badopt fixed bin (35) ext static; 97 98 99 /* BUILTINS */ 100 dcl addr builtin; 101 dcl hbound builtin; 102 dcl lbound builtin; 103 dcl null builtin; 104 dcl rtrim builtin; 105 dcl translate builtin; 106 dcl unspec builtin; 107 108 /* CONSTANTS */ 109 dcl info_orders (34) char (32) int static options (constant) 110 init ("set_delay", 111 "get_channel_info", 112 "get_delay", 113 "set_editing_chars", 114 "get_editing_chars", 115 "set_input_translation", 116 "set_input_conversion", 117 "set_output_translation", 118 "set_output_conversion", 119 "get_input_translation", 120 "get_input_conversion", 121 "get_output_translation", 122 "get_output_conversion", 123 "set_special", 124 "get_special", 125 "set_framing_chars", 126 "get_framing_chars", 127 "send_initial_string", 128 "set_default_modes", 129 "set_input_message_size", 130 "get_input_message_size", 131 "input_flow_control_chars", 132 "output_flow_control_chars", 133 "get_echo_break_table", 134 "set_wakeup_table", 135 "set_prompt", 136 "hangup_proc", 137 "get_terminal_emulator_state", 138 "get_mowse_info", 139 "put_to_sleep", 140 "send_message", 141 "send_local_message", 142 "store_mowse_info", 143 "flush_subchannel"); 144 145 /* */ 146 /* INITIALIZATION */ 147 148 /* : Load information from the io_call_info structure into local storage */ 149 150 io_call_infop = p_io_call_info_ptr; 151 caller = io_call_info.caller_name; 152 n_args = io_call_info.nargs; 153 order = io_call_info.order_name; 154 report = io_call_info.report; 155 error = io_call_info.error; 156 af_flag = (p_io_call_order = "io_call_af"); 157 p_code = 0; 158 159 /* MAIN */ 160 161 /* : read_status */ 162 163 if rtrim (order) = "read_status" then do; 164 call iox_$control (p_iocb_ptr, "read_status", 165 addr (read_status), p_code); 166 if p_code = 0 then do; 167 if af_flag then 168 if read_status.input_pending then 169 io_call_af_ret = "true"; 170 else 171 io_call_af_ret = "false"; 172 else 173 call report ( 174 "^a: Event channel=^24.3b, input is ^[^;" 175 || "not ^]available.", caller, 176 unspec (read_status.event_channel), 177 read_status.input_pending); 178 end; 179 end; 180 181 /* : write_status */ 182 183 else if rtrim (order) = "write_status" then do; 184 call iox_$control (p_iocb_ptr, "write_status", 185 addr (write_status), p_code); 186 if p_code = 0 then do; 187 if af_flag then 188 if write_status.input_pending then 189 io_call_af_ret = "true"; 190 else 191 io_call_af_ret = "false"; 192 else 193 call report ( 194 "^a: Event channel=^24.3b, output is ^[^;" 195 || "not ^]pending.", caller, 196 unspec (write_status.event_channel), 197 write_status.input_pending); 198 end; 199 end; 200 201 /* : terminal_info */ 202 203 else if rtrim (order) = "terminal_info" then do; 204 info.version = 1; 205 call iox_$control (p_iocb_ptr, "terminal_info", addr (info), 206 p_code); 207 if p_code = 0 then do; 208 if info.line_type < lbound (line_types, 1) 209 | info.line_type > hbound (line_types, 1) then 210 call ioa_$rsnnl ("^d", temp_type, (0), 211 info.line_type); 212 else 213 temp_type = line_types (info.line_type); 214 215 if af_flag then do; 216 if n_args = 0 then 217 io_call_af_ret = rtrim (info.term_type); 218 else if io_call_info.args (1) = "id" then 219 io_call_af_ret = rtrim (info.id); 220 else if io_call_info.args (1) = "baud" then 221 call ioa_$rsnnl ("^d", io_call_af_ret, (0), 222 info.baud_rate); 223 else if io_call_info.args (1) = "terminal_type" 224 then 225 io_call_af_ret = rtrim (info.term_type); 226 else if io_call_info.args (1) = "line_type" then 227 io_call_af_ret = rtrim (temp_type); 228 else 229 call error (error_table_$badopt, caller, 230 "^a", 231 io_call_info.args (1)); 232 end; 233 else 234 call report ( 235 "^a: Terminal id=""^a"", baud_rate=^d, " 236 || "term_type = ""^a"", line_type=""^a""", 237 caller, info.id, info.baud_rate, 238 info.term_type, 239 temp_type); 240 end; 241 end; 242 243 /* : Remaining orders are active functions only */ 244 245 else if af_flag then 246 call error (0, caller, 247 "The ^a order is not valid as an active function.", 248 order); 249 250 /* : store_id */ 251 252 else if rtrim (order) = "store_id" then do; 253 if n_args <= 0 then 254 call error (error_table_$noarg, caller, "ID."); 255 else do; 256 new_id = io_call_info.args (1); 257 call iox_$control (p_iocb_ptr, "store_id", 258 addr (new_id), 259 p_code); 260 end; 261 end; 262 263 /* : set_term_type */ 264 265 else if rtrim (order) = "set_term_type" then do; 266 if n_args <= 0 then 267 call error (error_table_$noarg, caller, "Type."); 268 else do; 269 270 /* : -- Convert the new type into fixed bin format, if error then the type 271* is of an ascii sequence and it must be hunted down in the tables */ 272 273 new_type = cv_dec_check_ ((io_call_info.args (1)), i); 274 if i ^= 0 then do; 275 temp_type = 276 translate (io_call_info.args (1), 277 "ABCDEFGHIJKLMNOPQRSTUVWXYZ", 278 "abcdefghijklmnopqrstuvwxyz"); 279 280 /* : -- Hunt down terminal type in tty_dev_type table */ 281 282 do new_type = lbound (tty_dev_type, 1) 283 to hbound (tty_dev_type, 1); 284 285 /* : --- Got match */ 286 287 if tty_dev_type (new_type) = temp_type 288 then do; 289 call iox_$control (p_iocb_ptr, 290 "set_type", 291 addr (new_type), p_code); 292 return; 293 end; 294 end; 295 296 call error (0, caller, "Invalid type: ^a", 297 io_call_info.args (1)); 298 p_code = 0; 299 end; 300 else 301 call iox_$control (p_iocb_ptr, "set_type", 302 addr (new_type), p_code); 303 end; 304 end; 305 306 /* : line_length */ 307 308 else if rtrim (order) = "line_length" then do; 309 if n_args ^> 0 then 310 call error (error_table_$noarg, caller, "Linelength."); 311 else do; 312 line_length = 313 cv_dec_check_ ((io_call_info.args (1)), i); 314 if i ^= 0 then 315 call error (0, caller, "Invalid line length: ^a", 316 io_call_info.args (1)); 317 else 318 call iox_$control (p_iocb_ptr, "line_length", 319 addr (line_length), p_code); 320 end; 321 end; 322 323 /* : Otherwise see if the order can be passed on (null info_ptr allowed) */ 324 325 else do; 326 do i = 1 to hbound (info_orders, 1) 327 while (order ^= info_orders (i)); 328 end; 329 330 /* : If on the disapproved list then it's an error */ 331 332 if i <= hbound (info_orders, 1) then 333 call error (error_table_$undefined_order_request, 334 caller, 335 order); 336 else 337 call iox_$control (p_iocb_ptr, (order), null (), 338 p_code); 339 end; 340 341 342 /* INCLUDE FILES */ 1 1 /* BEGIN INCLUDE FILE ... tty_read_status_info.incl.pl1 1 2* 1 3* control structure for the read_status and write_status orders to tty_ 1 4* 1 5* Modified 2/1/83 by Olin Sibert to add tty_write_status_info structure in 1 6* support of lap_simplex_ MPX. 1 7**/ 1 8 1 9 1 10 /****^ HISTORY COMMENTS: 1 11* 1) change(88-07-07,Beattie), approve(88-06-27,MCR7926), 1 12* audit(88-07-22,Brunelle), install(88-08-08,MR12.2-1082): 1 13* Prepared for installation. 1 14* END HISTORY COMMENTS */ 1 15 1 16 1 17 dcl 1 tty_read_status_info aligned based (tty_read_status_info_ptr), 1 18 2 event_channel fixed bin (71), 1 19 2 input_pending bit (1); 1 20 1 21 dcl tty_read_status_info_ptr ptr; 1 22 1 23 dcl 1 tty_write_status_info aligned based (tty_write_status_info_ptr), 1 24 2 event_channel fixed bin (71), 1 25 2 output_pending bit (1); 1 26 1 27 dcl tty_write_status_info_ptr ptr; 1 28 1 29 /* END INCLUDE FILE ... tty_read_status_info.incl.pl1 */ 343 2 1 /* BEGIN INCLUDE FILE ... ttyp.incl.pl1 */ 2 2 2 3 dcl max_tty_type fixed bin static init (11); 2 4 2 5 dcl tty_dev_type (0:16) char (8) aligned int static init /* ASCII explanations of terminal type */ 2 6 ("Network", "1050", "2741", "TTY37", "TN300", "ARDS", "CORR2741", "TTY33", 2 7 "TTY38", "G115", "type10", "ASCII", "type12", "type13", "type14", "type15", "type16"); 2 8 2 9 /* Note that device type 0 is used for both absentee and network. Distingush some other way */ 2 10 2 11 /* END INCLUDE FILE ... ttyp.incl.pl1 */ 344 3 1 /* BEGIN INCLUDE FILE ... set_term_type_info.incl.pl1 */ 3 2 /* Created 7/18/77 by Robert Coren */ 3 3 /* Defines info structure for set_term_type order */ 3 4 3 5 dcl stti_version_1 fixed bin int static options (constant) init (1); 3 6 dcl sttip ptr; 3 7 3 8 dcl 1 set_term_type_info aligned based (sttip), 3 9 2 version fixed bin, 3 10 2 name char (32) unal, 3 11 2 flags unal, 3 12 3 send_initial_string bit (1), 3 13 3 set_modes bit (1), 3 14 3 ignore_line_type bit (1), 3 15 3 mbz bit (33); 3 16 3 17 /* END INCLUDE FILE ... set_term_type_info.incl.pl1 */ 345 4 1 /* BEGIN INCLUDE FILE ... line_types.incl.pl1 */ 4 2 4 3 /* Written November 10 1975 by Paul Green */ 4 4 /* Modified October 1978 by Larry Johnson to include line_type_names */ 4 5 /* Modified 12/19/78 by J. Stern to add POLLED_VIP line type */ 4 6 /* Modified 9/27/79 by J. Stern to add X25LAP line type */ 4 7 /* Modified Spring 1981 by Charles Hornig to add HDLC line type */ 4 8 /* Modified May 1981 by Robert Coren to add COLTS line type */ 4 9 /* Modified September 1984 by Robert Coren to correctly count VIP as a synchronous line type */ 4 10 4 11 4 12 /****^ HISTORY COMMENTS: 4 13* 1) change(86-02-25,Negaret), approve(87-07-13,MCR7679), 4 14* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 4 15* Add a DSA line type. 4 16* 2) change(87-03-17,Beattie), approve(87-07-13,MCR7656), 4 17* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 4 18* Add HASP_OPR to identify HASP workstation consoles with login service. 4 19* END HISTORY COMMENTS */ 4 20 4 21 4 22 declare (LINE_MC initial (-2), 4 23 LINE_TELNET initial (-1), 4 24 LINE_UNKNOWN initial (0), 4 25 LINE_ASCII initial (1), 4 26 LINE_1050 initial (2), 4 27 LINE_2741 initial (3), 4 28 LINE_ARDS initial (4), 4 29 LINE_SYNCH initial (5), 4 30 LINE_G115 initial (6), 4 31 LINE_BSC initial (7), 4 32 LINE_ETX initial (8), 4 33 LINE_VIP initial (9), 4 34 LINE_ASYNC1 initial (10), 4 35 LINE_ASYNC2 initial (11), 4 36 LINE_ASYNC3 initial (12), 4 37 LINE_SYNC1 initial (13), 4 38 LINE_SYNC2 initial (14), 4 39 LINE_SYNC3 initial (15), 4 40 LINE_POLLED_VIP initial (16), 4 41 LINE_X25LAP initial (17), 4 42 LINE_HDLC initial (18), 4 43 LINE_COLTS initial (19), 4 44 LINE_DSA initial (20), 4 45 LINE_HASP_OPR initial (21) 4 46 ) fixed bin internal static options (constant); 4 47 4 48 dcl max_line_type fixed bin int static options (constant) init (21); 4 49 4 50 declare n_sync_line_types fixed bin int static options (constant) init (10); 4 51 4 52 declare sync_line_type (10) fixed bin int static options (constant) init (5, 6, 7, 9, 13, 14, 15, 16, 17, 18); 4 53 4 54 dcl line_types (-2:21) char (16) int static options (constant) init ( 4 55 "MC", /* -2 */ 4 56 "TELNET", /* -1 */ 4 57 "none", /* 0 */ 4 58 "ASCII", /* 1 */ 4 59 "1050", /* 2 */ 4 60 "2741", /* 3 */ 4 61 "ARDS", /* 4 */ 4 62 "Sync", /* 5 */ 4 63 "G115", /* 6 */ 4 64 "BSC", /* 7 */ 4 65 "202ETX", /* 8 */ 4 66 "VIP", /* 9 */ 4 67 "ASYNC1", /* 10 */ 4 68 "ASYNC2", /* 11 */ 4 69 "ASYNC3", /* 12 */ 4 70 "SYNC1", /* 13 */ 4 71 "SYNC2", /* 14 */ 4 72 "SYNC3", /* 15 */ 4 73 "POLLED_VIP", /* 16 */ 4 74 "X25LAP", /* 17 */ 4 75 "HDLC", /* 18 */ 4 76 "COLTS", /* 19 */ 4 77 "DSA", /* 20 */ 4 78 "HASP_OPR"); /* 21 */ 4 79 4 80 /* END INCLUDE FILE ... line_types.incl.pl1 */ 346 5 1 /* BEGIN INCLUDE FiLE ... terminal_info.incl.pl1 */ 5 2 5 3 /* Created 5/25/77 by J. Stern */ 5 4 5 5 5 6 dcl 1 terminal_info aligned based (terminal_info_ptr), /* info structure for terminal_info order */ 5 7 2 version fixed bin, /* version number of this sturcture */ 5 8 2 id char (4) unaligned, /* terminal id from answerback */ 5 9 2 term_type char (32) unaligned, /* terminal type name */ 5 10 2 line_type fixed bin, /* line type number */ 5 11 2 baud_rate fixed bin, 5 12 2 reserved (4) fixed bin; /* reserved for future use */ 5 13 5 14 5 15 dcl terminal_info_ptr ptr; 5 16 dcl terminal_info_version fixed bin int static options (constant) init (1); /* current version */ 5 17 5 18 5 19 /* END INCLUDE FILE ... terminal_info.incl.pl1 */ 347 6 1 /* Begin include file ..... io_call_info.incl.pl1 */ 6 2 6 3 /* This include file defines the info_structure used by an I/O module to perform an "io_call" order 6 4* on behalf of the io_call command. */ 6 5 /* Coded April 1976 by Larry Johnson */ 6 6 /* Changed June 1977 by Larry Johnson for "io_call_af" order */ 6 7 6 8 dcl io_call_infop ptr; 6 9 6 10 dcl 1 io_call_info aligned based (io_call_infop), 6 11 2 version fixed bin, 6 12 2 caller_name char (32), /* Caller name for error messages */ 6 13 2 order_name char (32), /* Actual name of the order to be performed */ 6 14 2 report entry variable options (variable), 6 15 /* Entry to ioa_ like procedure to report results */ 6 16 2 error entry variable options (variable), 6 17 /* Entry to com_err_ like procedure to report results */ 6 18 2 af_returnp ptr, /* Pointer to return string if "io_call_af" order */ 6 19 2 af_returnl fixed bin, /* Length of string */ 6 20 2 fill (5) bit (36) aligned, 6 21 2 nargs fixed bin, /* Number of additional command arguments provided */ 6 22 2 max_arglen fixed bin, /* Length of longest argument (used to define array) */ 6 23 2 args (0 refer (io_call_info.nargs)) char (0 refer (io_call_info.max_arglen)) varying; 6 24 6 25 dcl io_call_af_ret char (io_call_info.af_returnl) based (io_call_info.af_returnp) varying; 6 26 /* Return string for active function */ 6 27 6 28 /* End include file ..... io_call_info.incl.pl1 */ 348 349 350 /* : END */ 351 end mowse_io_call_control_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 08/08/88 1409.7 mowse_io_call_control_.pl1 >special_ldd>install>MR12.2-1082>mowse_io_call_control_.pl1 343 1 08/08/88 1400.0 tty_read_status_info.incl.pl1 >special_ldd>install>MR12.2-1082>tty_read_status_info.incl.pl1 344 2 08/29/75 0838.6 ttyp.incl.pl1 >ldd>include>ttyp.incl.pl1 345 3 09/01/77 1359.3 set_term_type_info.incl.pl1 >ldd>include>set_term_type_info.incl.pl1 346 4 08/06/87 0913.4 line_types.incl.pl1 >ldd>include>line_types.incl.pl1 347 5 06/29/77 1624.0 terminal_info.incl.pl1 >ldd>include>terminal_info.incl.pl1 348 6 07/19/79 1547.1 io_call_info.incl.pl1 >ldd>include>io_call_info.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. addr builtin function dcl 100 ref 164 164 184 184 205 205 257 257 289 289 300 300 317 317 af_flag 000142 automatic bit(1) packed unaligned dcl 76 set ref 156* 167 187 215 245 af_returnl 34 based fixed bin(17,0) level 2 dcl 6-10 ref 167 170 187 190 216 218 220 223 226 af_returnp 32 based pointer level 2 dcl 6-10 ref 167 170 187 190 216 218 220 223 226 args 44 based varying char array level 2 dcl 6-10 set ref 218 220 223 226 228* 256 273 275 296* 312 314* baud_rate 13 000153 automatic fixed bin(17,0) level 2 dcl 82 set ref 220* 233* caller 000110 automatic char(32) packed unaligned dcl 69 set ref 151* 172* 192* 228* 233* 245* 253* 266* 296* 309* 314* 332* caller_name 1 based char(32) level 2 dcl 6-10 ref 151 cv_dec_check_ 000010 constant entry external dcl 86 ref 273 312 error 26 based entry variable level 2 in structure "io_call_info" dcl 6-10 in procedure "mowse_io_call_control_" ref 155 error 000136 automatic entry variable dcl 74 in procedure "mowse_io_call_control_" set ref 155* 228 245 253 266 296 309 314 332 error_table_$badopt 000022 external static fixed bin(35,0) dcl 96 set ref 228* error_table_$noarg 000020 external static fixed bin(35,0) dcl 95 set ref 253* 266* 309* error_table_$undefined_order_request 000016 external static fixed bin(35,0) dcl 93 set ref 332* event_channel 000150 automatic fixed bin(71,0) level 2 in structure "read_status" dcl 81 in procedure "mowse_io_call_control_" set ref 172 172 event_channel 000144 automatic fixed bin(71,0) level 2 in structure "write_status" dcl 80 in procedure "mowse_io_call_control_" set ref 192 192 hbound builtin function dcl 101 ref 208 282 326 332 i 000101 automatic fixed bin(35,0) dcl 65 set ref 273* 274 312* 314 326* 326* 332 id 1 000153 automatic char(4) level 2 packed packed unaligned dcl 82 set ref 218 233* info 000153 automatic structure level 1 unaligned dcl 82 set ref 205 205 info_orders 000202 constant char(32) initial array packed unaligned dcl 109 ref 326 326 332 input_pending 2 000150 automatic bit(1) level 2 in structure "read_status" dcl 81 in procedure "mowse_io_call_control_" set ref 167 172* input_pending 2 000144 automatic bit(1) level 2 in structure "write_status" dcl 80 in procedure "mowse_io_call_control_" set ref 187 192* io_call_af_ret based varying char dcl 6-25 set ref 167* 170* 187* 190* 216* 218* 220* 223* 226* io_call_info based structure level 1 dcl 6-10 io_call_infop 000174 automatic pointer dcl 6-8 set ref 150* 151 152 153 154 155 167 167 170 170 187 187 190 190 216 216 218 218 218 220 220 220 223 223 223 226 226 226 228 256 273 275 296 312 314 ioa_$rsnnl 000012 constant entry external dcl 88 ref 208 220 iox_$control 000014 constant entry external dcl 89 ref 164 184 205 257 289 300 317 336 lbound builtin function dcl 102 ref 208 282 line_length 000100 automatic fixed bin(9,0) dcl 64 set ref 312* 317 317 line_type 12 000153 automatic fixed bin(17,0) level 2 dcl 82 set ref 208 208 208* 212 line_types 000000 constant char(16) initial array packed unaligned dcl 4-54 ref 208 208 212 max_arglen 43 based fixed bin(17,0) level 2 dcl 6-10 ref 218 218 220 220 223 223 226 226 228 228 228 256 256 273 273 275 275 296 296 296 312 312 314 314 314 n_args 000120 automatic fixed bin(17,0) dcl 70 set ref 152* 216 253 266 309 nargs 42 based fixed bin(17,0) level 2 dcl 6-10 ref 152 new_id 000103 automatic char(4) packed unaligned dcl 67 set ref 256* 257 257 new_type 000102 automatic fixed bin(35,0) dcl 66 set ref 273* 282* 287 289 289* 300 300 null builtin function dcl 103 ref 336 336 order 000121 automatic char(32) packed unaligned dcl 71 set ref 153* 163 183 203 245* 252 265 308 326 332* 336 order_name 11 based char(32) level 2 dcl 6-10 ref 153 p_code parameter fixed bin(35,0) dcl 60 set ref 23 157* 164* 166 184* 186 205* 207 257* 289* 298* 300* 317* 336* p_io_call_info_ptr parameter pointer dcl 56 ref 23 150 p_io_call_order parameter char packed unaligned dcl 55 ref 23 156 p_iocb_ptr parameter pointer dcl 54 set ref 23 164* 184* 205* 257* 289* 300* 317* 336* read_status 000150 automatic structure level 1 dcl 81 set ref 164 164 report 000132 automatic entry variable dcl 72 in procedure "mowse_io_call_control_" set ref 154* 172 192 233 report 22 based entry variable level 2 in structure "io_call_info" dcl 6-10 in procedure "mowse_io_call_control_" ref 154 rtrim builtin function dcl 104 ref 163 183 203 216 218 223 226 252 265 308 temp_type 000104 automatic char(16) packed unaligned dcl 68 set ref 208* 212* 226 233* 275* 287 term_type 2 000153 automatic char(32) level 2 packed packed unaligned dcl 82 set ref 216 223 233* terminal_info based structure level 1 dcl 5-6 translate builtin function dcl 105 ref 275 tty_dev_type 000140 constant char(8) initial array dcl 2-5 ref 282 282 287 tty_read_status_info based structure level 1 dcl 1-17 unspec builtin function dcl 106 ref 172 172 192 192 version 000153 automatic fixed bin(17,0) level 2 dcl 82 set ref 204* write_status 000144 automatic structure level 1 dcl 80 set ref 184 184 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. LINE_1050 internal static fixed bin(17,0) initial dcl 4-22 LINE_2741 internal static fixed bin(17,0) initial dcl 4-22 LINE_ARDS internal static fixed bin(17,0) initial dcl 4-22 LINE_ASCII internal static fixed bin(17,0) initial dcl 4-22 LINE_ASYNC1 internal static fixed bin(17,0) initial dcl 4-22 LINE_ASYNC2 internal static fixed bin(17,0) initial dcl 4-22 LINE_ASYNC3 internal static fixed bin(17,0) initial dcl 4-22 LINE_BSC internal static fixed bin(17,0) initial dcl 4-22 LINE_COLTS internal static fixed bin(17,0) initial dcl 4-22 LINE_DSA internal static fixed bin(17,0) initial dcl 4-22 LINE_ETX internal static fixed bin(17,0) initial dcl 4-22 LINE_G115 internal static fixed bin(17,0) initial dcl 4-22 LINE_HASP_OPR internal static fixed bin(17,0) initial dcl 4-22 LINE_HDLC internal static fixed bin(17,0) initial dcl 4-22 LINE_MC internal static fixed bin(17,0) initial dcl 4-22 LINE_POLLED_VIP internal static fixed bin(17,0) initial dcl 4-22 LINE_SYNC1 internal static fixed bin(17,0) initial dcl 4-22 LINE_SYNC2 internal static fixed bin(17,0) initial dcl 4-22 LINE_SYNC3 internal static fixed bin(17,0) initial dcl 4-22 LINE_SYNCH internal static fixed bin(17,0) initial dcl 4-22 LINE_TELNET internal static fixed bin(17,0) initial dcl 4-22 LINE_UNKNOWN internal static fixed bin(17,0) initial dcl 4-22 LINE_VIP internal static fixed bin(17,0) initial dcl 4-22 LINE_X25LAP internal static fixed bin(17,0) initial dcl 4-22 max_line_type internal static fixed bin(17,0) initial dcl 4-48 max_tty_type internal static fixed bin(17,0) initial dcl 2-3 n_sync_line_types internal static fixed bin(17,0) initial dcl 4-50 set_term_type_info based structure level 1 dcl 3-8 stti_version_1 internal static fixed bin(17,0) initial dcl 3-5 sttip automatic pointer dcl 3-6 sync_line_type internal static fixed bin(17,0) initial array dcl 4-52 terminal_info_ptr automatic pointer dcl 5-15 terminal_info_version internal static fixed bin(17,0) initial dcl 5-16 tty_read_status_info_ptr automatic pointer dcl 1-21 tty_write_status_info based structure level 1 dcl 1-23 tty_write_status_info_ptr automatic pointer dcl 1-27 NAME DECLARED BY EXPLICIT CONTEXT. mowse_io_call_control_ 001056 constant entry external dcl 23 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 3164 3210 3061 3174 Length 3526 3061 24 302 103 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME mowse_io_call_control_ 204 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME mowse_io_call_control_ 000100 line_length mowse_io_call_control_ 000101 i mowse_io_call_control_ 000102 new_type mowse_io_call_control_ 000103 new_id mowse_io_call_control_ 000104 temp_type mowse_io_call_control_ 000110 caller mowse_io_call_control_ 000120 n_args mowse_io_call_control_ 000121 order mowse_io_call_control_ 000132 report mowse_io_call_control_ 000136 error mowse_io_call_control_ 000142 af_flag mowse_io_call_control_ 000144 write_status mowse_io_call_control_ 000150 read_status mowse_io_call_control_ 000153 info mowse_io_call_control_ 000174 io_call_infop mowse_io_call_control_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_e_as alloc_char_temp call_ent_var_desc call_ext_out_desc return_mac shorten_stack ext_entry_desc THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. cv_dec_check_ ioa_$rsnnl iox_$control THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$badopt error_table_$noarg error_table_$undefined_order_request LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 23 001051 150 001071 151 001075 152 001100 153 001102 154 001105 155 001111 156 001115 157 001124 163 001125 164 001143 166 001174 167 001177 170 001217 172 001232 179 001263 183 001264 184 001270 186 001322 187 001325 190 001345 192 001360 199 001411 203 001412 204 001416 205 001420 207 001451 208 001454 212 001512 215 001522 216 001524 218 001551 220 001601 223 001643 226 001672 228 001721 232 001753 233 001754 241 002012 245 002013 252 002045 253 002051 256 002076 257 002102 261 002131 265 002132 266 002136 273 002163 274 002212 275 002215 282 002230 287 002235 289 002243 292 002274 294 002275 296 002302 298 002337 299 002341 300 002342 304 002373 308 002374 309 002400 312 002427 314 002460 317 002523 321 002557 326 002560 328 002573 332 002600 336 002624 351 002656 ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved