COMPILATION LISTING OF SEGMENT rcp_tape_survey_ Compiled by: Multics PL/I Compiler, Release 32f, of October 9, 1989 Compiled at: Bull HN, Phoenix AZ, System-M Compiled on: 11/11/89 0942.0 mst Sat Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 6* * * 7* *********************************************************** */ 8 9 /****^ HISTORY COMMENTS: 10* 1) change(85-09-09,Farley), approve(85-09-09,MCR6979), 11* audit(85-12-17,CLJones), install(86-03-21,MR12.0-1033): 12* FIPS support by 13* checking for device zero, add tri-density for STC drives, and survey to 14* the DRIVE instead of controller for FIPS. 15* 2) change(86-04-11,Farley), approve(86-04-11,MCR6979), 16* audit(86-04-11,Fawcett), install(86-04-14,MR12.0-1039): 17* Post Bug Fix (PBF) to change FIPS attachment to attach the psuedo IOI 18* controller entry, instead of the FIPS device. This was needed to correct a 19* problem with adding a device back on after it had been deleted during 20* startup. 21* END HISTORY COMMENTS */ 22 23 /* format: style4,delnl,insnl,ifthenstmt,indnoniterend */ 24 rcp_tape_survey_: 25 procedure (Device, Drive, Fips, Operational, Qualifiers, Code); 26 27 /* Perform survey of all tape devices. 28* * Created on 11/13/74 by Bill Silver. 29* * Modified on 1/20/77 by Noel I. Morris for multiple tape controllers. 30* * Modified 31 July 1981 to avoid looping forever on a dead tape controller, W. Olin Sibert 31* * Modified September 1981 by J. Bongiovanni to set mask to open-level 32* * Modified 9/81 to identify itself in all syserr messages, M.R. Jordan 33* * Modified June 1982 by C. Hornig to run in ring 1. 34* * Modified 4/10/84 by GA Texada to support FIPS. 35* * Modified 8/01/84 by Paul Farley to add check for zero 36* * survey_data.handler data, so device 0 checking would work properly. 37* * Modified 1/85 by Paul Farley for tri-density STC tape drives. 38* * 39* * This is a system initialization procedure. It is called by rcp_init. 40* * It will use IOI to perform a survey_devices command to the tape controller. 41**/ 42 43 /* ARGUMENT DATA */ 44 45 dcl Device char (*) parameter; 46 dcl Drive fixed bin parameter; 47 dcl Fips bit (1) aligned parameter; 48 dcl Operational bit (1) aligned parameter; 49 dcl Qualifiers (4) fixed bin (35) parameter; 50 dcl Code fixed bin (35) parameter; 51 52 53 /* AUTOMATIC DATA */ 54 55 dcl ecode fixed bin (35); /* error_table_ code. */ 56 dcl ioi_index fixed bin; /* IOI device index. */ 57 dcl i fixed bin; 58 dcl ws_ptr ptr; /* Pointer to IOI workspace segment. */ 59 dcl 1 wait_list aligned, /* for ipc_$block */ 60 2 count fixed bin init (1), 61 2 pad fixed bin, 62 2 ev_chn (1) fixed bin (71); 63 dcl 1 ev_msg aligned like event_wait_info; 64 65 /* BASED DATA */ 66 67 dcl 1 ws aligned based (ws_ptr), /* IOI workspace. */ 68 2 idcw bit (36), /* Survey_devices tape command. */ 69 2 dcw bit (36), /* DCW for survey_devices command. */ 70 2 survey_data, 71 3 handler (16) unaligned, 72 4 pad1 bit (1), 73 4 reserved bit (1), 74 4 operational bit (1), 75 4 ready bit (1), 76 4 number uns fixed bin (5), 77 4 pad2 bit (1), 78 4 speed uns fixed bin (3), 79 4 nine_track bit (1), 80 4 density uns fixed bin (4); 81 82 dcl (addr, binary, bit, rel, size, unspec) builtin; 83 84 /* CONSTANTS */ 85 86 dcl density_table (0:15) bit (5) static options (constant) /* Used to set density characteristic. */ 87 init ("00010"b, /* 1600 */ 88 "11100"b, /* 200 , 556 , 800 */ 89 "00000"b, /* Invalid */ 90 "00000"b, /* Invalid */ 91 "11110"b, /* 200, 556, 800, 1600 */ 92 "01110"b, /* 556, 800, 1600 */ 93 "00000"b, /* Invalid */ 94 "00111"b, /* 800, 1600, 6250 */ 95 "00110"b, /* 800, 1600 */ 96 "01100"b, /* 556, 800 */ 97 "00000"b, /* Invalid */ 98 "00011"b, /* 1600, 6250 */ 99 "00000"b, /* Invalid */ 100 "00000"b, /* Invalid */ 101 "00000"b, /* Invalid */ 102 "00000"b); /* Invalid */ 103 104 dcl speed_table (0:7) bit (3) static options (constant) /* Used to set speed characteristics. */ 105 init ("000"b, /* Invalid */ 106 "100"b, /* 75 ips */ 107 "010"b, /* 125 ips */ 108 "000"b, /* Invalid */ 109 "001"b, /* 200 ips */ 110 "000"b, /* Invalid */ 111 "000"b, /* Invalid */ 112 "000"b); /* Invalid */ 113 114 /* EXTERNAL */ 115 116 dcl admin_gate_$ioi_attach entry (fixed bin, char (*), fixed bin (71), bit (1) aligned, fixed bin (35)); 117 dcl admin_gate_$ioi_detach entry (fixed bin, fixed bin (35)); 118 dcl admin_gate_$syserr entry options (variable); 119 dcl ipc_$block entry (ptr, ptr, fixed bin (35)); 120 dcl ipc_$create_ev_chn entry (fixed bin (71), fixed bin (35)); 121 dcl ipc_$delete_ev_chn entry (fixed bin (71), fixed bin (35)); 122 dcl ioi_$connect entry (fixed bin, fixed bin, fixed bin (35)); 123 dcl ioi_$timeout entry (fixed bin, fixed bin (71), fixed bin (35)); 124 dcl ioi_$workspace entry (fixed bin, ptr, fixed bin, fixed bin (35)); 125 126 Qualifiers (*) = 0; 127 Operational = "0"b; 128 wait_list.ev_chn (1) = 0; 129 ioi_index = 0; 130 131 call ipc_$create_ev_chn (wait_list.ev_chn (1), Code); 132 if Code ^= 0 then goto return_to_caller; 133 134 if Fips 135 then call admin_gate_$ioi_attach (ioi_index, Device, wait_list.ev_chn (1), "1"b, Code); 136 else call admin_gate_$ioi_attach (ioi_index, Device || "_00", wait_list.ev_chn (1), "1"b, Code); 137 if Code ^= 0 then goto return_to_caller; 138 139 call ioi_$workspace (ioi_index, ws_ptr, size (ws), Code); 140 if Code ^= 0 then goto return_to_caller; 141 142 call ioi_$timeout (ioi_index, 1000000 /* 1 sec */, Code); 143 if Code ^= 0 then goto return_to_caller; 144 145 ws.idcw = "570000700000"b3; /* Set up survey_devices tape command. */ 146 ws.dcw = ""b; /* Set up DCW for survey_devices command. */ 147 dcwp = addr (ws.dcw); 148 dcw.address = rel (addr (ws.survey_data)); /* Put survey_device info in workspace survey_data. */ 149 dcw.tally = bit (binary (8, 12)); /* Should return 8 words at most. */ 150 151 call ioi_$connect (ioi_index, binary (rel (addr (ws.idcw)), 18), Code); 152 if Code ^= 0 then goto return_to_caller; 153 154 call ipc_$block (addr (wait_list), addr (ev_msg), Code); 155 if Code ^= 0 then goto return_to_caller; 156 157 imp = addr (ev_msg.message); 158 if imess.er 159 then call admin_gate_$syserr (BEEP, "rcp_tape_survey_: Error surveying controller ^a: ^w", Device, imess.status) 160 ; 161 162 else if imess.time_out 163 then call admin_gate_$syserr (BEEP, "rcp_tape_survey_: Tape controller ^a did not respond within one second.", 164 Device); 165 166 do i = 1 to 16; 167 if unspec (ws.survey_data.handler (i)) ^= ""b then do; 168 if ws.survey_data.handler (i).number = Drive then do; 169 if Operational then do; 170 call admin_gate_$syserr (BEEP, "rcp_tape_survey_: Multiple device ^d's found on ^a.", Drive, 171 Device); 172 Operational = "0"b; 173 goto return_to_caller; 174 end; 175 176 if ws.survey_data.handler (i).operational then do; 177 Operational = "1"b; 178 if ws.survey_data.handler (i).nine_track 179 then Qualifiers (1) = 9; 180 else Qualifiers (1) = 7; 181 unspec (Qualifiers (2)) = density_table (ws.survey_data.handler (i).density); 182 unspec (Qualifiers (3)) = speed_table (ws.survey_data.handler (i).speed); 183 end; 184 end; 185 end; 186 end; 187 188 return_to_caller: 189 if ioi_index ^= 0 then call admin_gate_$ioi_detach (ioi_index, ecode); 190 if wait_list.ev_chn (1) ^= 0 then call ipc_$delete_ev_chn (wait_list.ev_chn (1), ecode); 191 192 return; 193 1 1 /* BEGIN INCLUDE FILE event_wait_info.incl.pl1 */ 1 2 1 3 /* T. Casey, May 1978 */ 1 4 1 5 dcl event_wait_info_ptr ptr; 1 6 1 7 dcl 1 event_wait_info aligned based (event_wait_info_ptr), /* argument structure filled in on return from ipc_$block */ 1 8 2 channel_id fixed bin (71), /* event channel on which wakeup occurred */ 1 9 2 message fixed bin (71), /* 72 bits of information passed by sender of wakeup */ 1 10 2 sender bit (36), /* process id of sender */ 1 11 2 origin, 1 12 3 dev_signal bit (18) unaligned, /* "1"b if device signal */ 1 13 3 ring fixed bin (17) unaligned, /* ring from which sent */ 1 14 2 channel_index fixed bin; /* index of this channel in the event wait list */ 1 15 1 16 /* END INCLUDE FILE event_wait_info.incl.pl1 */ 194 2 1 2 2 /* Begin include file ...... ioi_stat.incl.pl1 */ 2 3 /* Last modified 3/24/75 by Noel I. Morris */ 2 4 2 5 dcl isp ptr; /* pointer to status structure */ 2 6 2 7 dcl 1 istat based (isp) aligned, /* I/O Interfacer status structure */ 2 8 2 completion, /* completion flags */ 2 9 (3 st bit (1), /* "1"b if status returned */ 2 10 3 er bit (1), /* "1"b if status indicates error condition */ 2 11 3 run bit (1), /* "1"b if channel still running */ 2 12 3 time_out bit (1)) unal, /* "1"b if time-out occurred */ 2 13 2 level fixed bin (3), /* IOM interrupt level */ 2 14 2 offset fixed bin (18), /* DCW list offset */ 2 15 2 absaddr fixed bin (24), /* absolute address of workspace */ 2 16 2 iom_stat bit (72), /* IOM status */ 2 17 2 lpw bit (72); /* LPW residue */ 2 18 2 19 dcl imp ptr; /* pointer to message structure */ 2 20 2 21 dcl 1 imess based (imp) aligned, /* I/O Interfacer event message structure */ 2 22 (2 completion like istat.completion, /* completion flags */ 2 23 2 pad bit (11), 2 24 2 level bit (3), /* interrupt level */ 2 25 2 offset bit (18), /* DCW list offset */ 2 26 2 status bit (36)) unal; /* first 36 bits of status */ 2 27 2 28 /* End of include file ...... ioi_stat.incl.pl1 */ 2 29 195 3 1 3 2 /* Begin include file ...... iom_dcw.incl.pl1 */ 3 3 3 4 dcl dcwp ptr, /* pointer to DCW */ 3 5 tdcwp ptr; /* pointer to TDCW */ 3 6 3 7 dcl 1 dcw based (dcwp) aligned, /* Data Control Word */ 3 8 (2 address bit (18), /* address for data transfer */ 3 9 2 char_pos bit (3), /* character position */ 3 10 2 m64 bit (1), /* non-zero for mod 64 address */ 3 11 2 type bit (2), /* DCW type */ 3 12 2 tally bit (12)) unal; /* tally for data transfer */ 3 13 3 14 dcl 1 tdcw based (tdcwp) aligned, /* Transfer DCW */ 3 15 (2 address bit (18), /* address to transfer to */ 3 16 2 mbz1 bit (4), 3 17 2 type bit (2), /* should be "10"b for TDCW */ 3 18 2 mbz2 bit (9), 3 19 2 ec bit (1), /* non-zero to set LPW AE bit */ 3 20 2 res bit (1), /* non-zero to restrict further use of IDCW */ 3 21 2 rel bit (1)) unal; /* non-zero to set relative mode after transfer */ 3 22 3 23 /* End of include file ...... iom_dcw.incl.pl1 */ 3 24 196 4 1 4 2 /* Begin include file ...... iom_pcw.incl.pl1 */ 4 3 4 4 dcl pcwp ptr; /* pointer to PCW */ 4 5 4 6 dcl 1 pcw based (pcwp) aligned, /* Peripheral Control Word */ 4 7 (2 command bit (6), /* device command */ 4 8 2 device bit (6), /* device code */ 4 9 2 ext bit (6), /* address extension */ 4 10 2 code bit (3), /* should be "111"b for PCW */ 4 11 2 mask bit (1), /* channel mask bit */ 4 12 2 control bit (2), /* terminate/proceed and marker control bits */ 4 13 2 chan_cmd bit (6), /* type of I/O operation */ 4 14 2 count bit (6), /* record count or control character */ 4 15 2 mbz1 bit (3), 4 16 2 channel bit (6), /* channel number */ 4 17 2 mbz2 bit (27)) unal; 4 18 4 19 dcl idcwp ptr; /* pointer to IDCW */ 4 20 4 21 dcl 1 idcw based (idcwp) aligned, /* Instruction DCW */ 4 22 (2 command bit (6), /* device command */ 4 23 2 device bit (6), /* device code */ 4 24 2 ext bit (6), /* address extension */ 4 25 2 code bit (3), /* should be "111"b for PCW */ 4 26 2 ext_ctl bit (1), /* "1"b if address extension to be used */ 4 27 2 control bit (2), /* terminate/proceed and marker control bits */ 4 28 2 chan_cmd bit (6), /* type of I/O operation */ 4 29 2 count bit (6)) unal; /* record count or control character */ 4 30 4 31 /* End include file ...... iom_pcw.incl.pl1 */ 4 32 197 5 1 /* BEGIN INCLUDE FILE syserr_constants.incl.pl1 ... 11/11/80 W. Olin Sibert */ 5 2 /* 85-02-12, EJ Sharpe - Added sorting class constants, removed AIM_MESSAGE, added new action code names. */ 5 3 /* 85-04-24, G. Palter - Renamed SYSERR_UNUSED_10 to SYSERR_RING1_ERROR to reflect its actual use. */ 5 4 5 5 /* This include file has an ALM version. Keep 'em in sync! */ 5 6 5 7 dcl ( 5 8 5 9 /* The following constants define the message action codes. This indicates 5 10*how a message is to be handled. */ 5 11 5 12 SYSERR_CRASH_SYSTEM init (1), 5 13 CRASH init (1), /* Crash the system, and bleat plaintively. */ 5 14 5 15 SYSERR_TERMINATE_PROCESS init (2), 5 16 TERMINATE_PROCESS init (2), /* Terminate the process, print the message, and beep. */ 5 17 5 18 SYSERR_PRINT_WITH_ALARM init (3), 5 19 BEEP init (3), /* Beep and print the message on the console. */ 5 20 5 21 SYSERR_PRINT_ON_CONSOLE init (0), 5 22 ANNOUNCE init (0), /* Just print the message on the console. */ 5 23 5 24 SYSERR_LOG_OR_PRINT init (4), 5 25 LOG init (4), /* Log the message, or print it if it can't be logged */ 5 26 5 27 SYSERR_LOG_OR_DISCARD init (5), 5 28 JUST_LOG init (5), /* Just try to log the message, and discard it if it can't be */ 5 29 5 30 5 31 /* The following constants are added to the normal severities to indicate 5 32*different sorting classes of messages. */ 5 33 5 34 SYSERR_SYSTEM_ERROR init (00), /* indicates a standard level system error */ 5 35 SYSERR_RING1_ERROR init (10), /* indicates an error detected in ring 1 (mseg_, RCP) */ 5 36 SYSERR_COVERT_CHANNEL init (20), /* indicates covert channel audit trail message */ 5 37 SYSERR_UNSUCCESSFUL_ACCESS init (30), /* indicates access denial audit trail message */ 5 38 SYSERR_SUCCESSFUL_ACCESS init (40) /* indicates access grant audit trail message */ 5 39 ) fixed bin internal static options (constant); 5 40 5 41 /* END INCLUDE FILE syserr_constants.incl.pl1 */ 198 199 200 /* BEGIN MESSAGE DOCUMENTATION 201* 202* Message: 203* rcp_tape_survey_: Error surveying controller CONTROLLER: ERROR_STATUS 204* 205* S: $beep 206* 207* T: $init 208* 209* M: An error was received from IOI while attempting to survey the tape controller 210* DEVICE. 211* $err 212* 213* A: $inform 214* $recover 215* 216* Message: 217* rcp_tape_survey_: Tape controller CONTROLLER did not respond within one second. 218* 219* S: $beep 220* 221* T: $init 222* 223* M: The tape controller or IOM failed to respond to the survey-devices 224* command by sending an interrupt within one second. 225* 226* A: Contact field engineering personnel. 227* 228* Message: 229* rcp_tape_survey_: Multiple device NUMBER's found on CONTROLLER. 230* 231* S: $beep 232* 233* T: $init 234* 235* M: The survey information indicates that there are multiple devices 236* with the same device number. 237* 238* A: Contact field engineering personnel. 239* 240* END MESSAGE DOCUMENTATION */ 241 242 end rcp_tape_survey_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/11/89 0805.9 rcp_tape_survey_.pl1 >spec>install>1111>rcp_tape_survey_.pl1 194 1 06/29/79 1727.8 event_wait_info.incl.pl1 >ldd>include>event_wait_info.incl.pl1 195 2 08/17/79 2215.0 ioi_stat.incl.pl1 >ldd>include>ioi_stat.incl.pl1 196 3 11/12/74 1550.1 iom_dcw.incl.pl1 >ldd>include>iom_dcw.incl.pl1 197 4 05/06/74 1742.1 iom_pcw.incl.pl1 >ldd>include>iom_pcw.incl.pl1 198 5 05/17/85 0615.7 syserr_constants.incl.pl1 >ldd>include>syserr_constants.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. BEEP 000014 constant fixed bin(17,0) initial dcl 5-7 set ref 158* 162* 170* Code parameter fixed bin(35,0) dcl 50 set ref 24 131* 132 134* 136* 137 139* 140 142* 143 151* 152 154* 155 Device parameter char packed unaligned dcl 45 set ref 24 134* 136 158* 162* 170* Drive parameter fixed bin(17,0) dcl 46 set ref 24 168 170* Fips parameter bit(1) dcl 47 ref 24 134 Operational parameter bit(1) dcl 48 set ref 24 127* 169 172* 177* Qualifiers parameter fixed bin(35,0) array dcl 49 set ref 24 126* 178* 180* 181* 182* addr builtin function dcl 82 ref 147 148 151 151 154 154 154 154 157 address based bit(18) level 2 packed packed unaligned dcl 3-7 set ref 148* admin_gate_$ioi_attach 000010 constant entry external dcl 116 ref 134 136 admin_gate_$ioi_detach 000012 constant entry external dcl 117 ref 188 admin_gate_$syserr 000014 constant entry external dcl 118 ref 158 162 170 binary builtin function dcl 82 ref 149 151 151 bit builtin function dcl 82 ref 149 completion based structure level 2 in structure "istat" dcl 2-7 in procedure "rcp_tape_survey_" completion based structure level 2 in structure "imess" packed packed unaligned dcl 2-21 in procedure "rcp_tape_survey_" count 000106 automatic fixed bin(17,0) initial level 2 dcl 59 set ref 59* dcw based structure level 1 dcl 3-7 in procedure "rcp_tape_survey_" dcw 1 based bit(36) level 2 in structure "ws" dcl 67 in procedure "rcp_tape_survey_" set ref 146* 147 dcwp 000124 automatic pointer dcl 3-4 set ref 147* 148 149 density 2(14) based fixed bin(4,0) array level 4 packed packed unsigned unaligned dcl 67 set ref 181 density_table 000001 constant bit(5) initial array packed unaligned dcl 86 ref 181 ecode 000100 automatic fixed bin(35,0) dcl 55 set ref 188* 190* er 0(01) based bit(1) level 3 packed packed unaligned dcl 2-21 ref 158 ev_chn 2 000106 automatic fixed bin(71,0) array level 2 dcl 59 set ref 128* 131* 134* 136* 190 190* ev_msg 000112 automatic structure level 1 dcl 63 set ref 154 154 event_wait_info based structure level 1 dcl 1-7 handler 2 based structure array level 3 packed packed unaligned dcl 67 set ref 167 i 000102 automatic fixed bin(17,0) dcl 57 set ref 166* 167 168 176 178 181 182* idcw based bit(36) level 2 dcl 67 set ref 145* 151 151 imess based structure level 1 dcl 2-21 imp 000122 automatic pointer dcl 2-19 set ref 157* 158 158 162 ioi_$connect 000024 constant entry external dcl 122 ref 151 ioi_$timeout 000026 constant entry external dcl 123 ref 142 ioi_$workspace 000030 constant entry external dcl 124 ref 139 ioi_index 000101 automatic fixed bin(17,0) dcl 56 set ref 129* 134* 136* 139* 142* 151* 188 188* ipc_$block 000016 constant entry external dcl 119 ref 154 ipc_$create_ev_chn 000020 constant entry external dcl 120 ref 131 ipc_$delete_ev_chn 000022 constant entry external dcl 121 ref 190 istat based structure level 1 dcl 2-7 message 2 000112 automatic fixed bin(71,0) level 2 dcl 63 set ref 157 nine_track 2(13) based bit(1) array level 4 packed packed unaligned dcl 67 set ref 178 number 2(04) based fixed bin(5,0) array level 4 packed packed unsigned unaligned dcl 67 set ref 168 operational 2(02) based bit(1) array level 4 packed packed unaligned dcl 67 set ref 176 rel builtin function dcl 82 ref 148 151 151 size builtin function dcl 82 ref 139 139 speed 2(10) based fixed bin(3,0) array level 4 packed packed unsigned unaligned dcl 67 set ref 182 speed_table 000000 constant bit(3) initial array packed unaligned dcl 104 ref 182 status 1 based bit(36) level 2 packed packed unaligned dcl 2-21 set ref 158* survey_data 2 based structure level 2 dcl 67 set ref 148 tally 0(24) based bit(12) level 2 packed packed unaligned dcl 3-7 set ref 149* time_out 0(03) based bit(1) level 3 packed packed unaligned dcl 2-21 ref 162 unspec builtin function dcl 82 set ref 167 181* 182* wait_list 000106 automatic structure level 1 dcl 59 set ref 154 154 ws based structure level 1 dcl 67 set ref 139 139 ws_ptr 000104 automatic pointer dcl 58 set ref 139* 139 139 145 146 147 148 151 151 167 168 176 178 181 182 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ANNOUNCE internal static fixed bin(17,0) initial dcl 5-7 CRASH internal static fixed bin(17,0) initial dcl 5-7 JUST_LOG internal static fixed bin(17,0) initial dcl 5-7 LOG internal static fixed bin(17,0) initial dcl 5-7 SYSERR_COVERT_CHANNEL internal static fixed bin(17,0) initial dcl 5-7 SYSERR_CRASH_SYSTEM internal static fixed bin(17,0) initial dcl 5-7 SYSERR_LOG_OR_DISCARD internal static fixed bin(17,0) initial dcl 5-7 SYSERR_LOG_OR_PRINT internal static fixed bin(17,0) initial dcl 5-7 SYSERR_PRINT_ON_CONSOLE internal static fixed bin(17,0) initial dcl 5-7 SYSERR_PRINT_WITH_ALARM internal static fixed bin(17,0) initial dcl 5-7 SYSERR_RING1_ERROR internal static fixed bin(17,0) initial dcl 5-7 SYSERR_SUCCESSFUL_ACCESS internal static fixed bin(17,0) initial dcl 5-7 SYSERR_SYSTEM_ERROR internal static fixed bin(17,0) initial dcl 5-7 SYSERR_TERMINATE_PROCESS internal static fixed bin(17,0) initial dcl 5-7 SYSERR_UNSUCCESSFUL_ACCESS internal static fixed bin(17,0) initial dcl 5-7 TERMINATE_PROCESS internal static fixed bin(17,0) initial dcl 5-7 event_wait_info_ptr automatic pointer dcl 1-5 idcw based structure level 1 dcl 4-21 idcwp automatic pointer dcl 4-19 isp automatic pointer dcl 2-5 pcw based structure level 1 dcl 4-6 pcwp automatic pointer dcl 4-4 tdcw based structure level 1 dcl 3-14 tdcwp automatic pointer dcl 3-4 NAMES DECLARED BY EXPLICIT CONTEXT. rcp_tape_survey_ 000112 constant entry external dcl 24 return_to_caller 000643 constant label dcl 188 ref 132 137 140 143 152 155 173 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1014 1046 672 1024 Length 1332 672 32 247 121 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME rcp_tape_survey_ 146 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME rcp_tape_survey_ 000100 ecode rcp_tape_survey_ 000101 ioi_index rcp_tape_survey_ 000102 i rcp_tape_survey_ 000104 ws_ptr rcp_tape_survey_ 000106 wait_list rcp_tape_survey_ 000112 ev_msg rcp_tape_survey_ 000122 imp rcp_tape_survey_ 000124 dcwp rcp_tape_survey_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_char_temp call_ext_out_desc call_ext_out return_mac shorten_stack ext_entry_desc THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. admin_gate_$ioi_attach admin_gate_$ioi_detach admin_gate_$syserr ioi_$connect ioi_$timeout ioi_$workspace ipc_$block ipc_$create_ev_chn ipc_$delete_ev_chn NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 24 000104 59 000125 126 000127 127 000142 128 000143 129 000145 131 000146 132 000157 134 000162 136 000222 137 000273 139 000277 140 000316 142 000321 143 000336 145 000341 146 000343 147 000345 148 000347 149 000352 151 000357 152 000400 154 000403 155 000422 157 000425 158 000427 162 000464 166 000514 167 000521 168 000530 169 000540 170 000543 172 000573 173 000575 176 000576 177 000603 178 000605 180 000614 181 000616 182 000630 186 000641 188 000643 190 000656 192 000671 ----------------------------------------------------------- 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