COMPILATION LISTING OF SEGMENT tolts_file_util_ Compiled by: Multics PL/I Compiler, Release 31a, of October 12, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 10/28/88 1318.3 mst Fri Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4* * * 5* * Copyright (c) 1972 by Massachusetts Institute of * 6* * Technology and Honeywell Information Systems, Inc. * 7* * * 8* *********************************************************** */ 9 10 11 /* orginal coding by J. A. Bush 79/03/22 */ 12 13 14 15 16 /****^ HISTORY COMMENTS: 17* 1) change(85-03-16,Fakoury), approve(86-08-22,MCR7514), 18* audit(86-11-24,Martinson), install(86-12-04,MR12.0-1235): 19* change dump offset and correct a problem when wdump is called to force a 20* dump. 21* END HISTORY COMMENTS */ 22 23 24 25 26 27 /* tolts_file_util_ - subroutines to manage print file output for polts and molts */ 28 29 30 /* format: style4,ifthenstmt,ifthen,ind3,ll125,lineconind1 */ 31 tolts_file_util_: proc; 32 /* Constants */ 33 34 dcl ds_format_1 bit (11) int static options (constant) 35 init ("01000100000"b); /* display address offset only & data in long format */ 36 dcl ds_format_2 bit (11) int static options (constant) 37 init ("11000100000"b); /* display address & offset & data in long format */ 38 39 /* External entries */ 40 41 dcl iox_$attach_name entry (char (*), ptr, char (*), ptr, fixed bin (35)); 42 dcl iox_$open entry (ptr, fixed bin, bit (1) aligned, fixed bin (35)); 43 dcl iox_$close entry (ptr, fixed bin (35)); 44 dcl iox_$detach_iocb entry (ptr, fixed bin (35)); 45 dcl date_time_ entry (fixed bin (71), char (*)); 46 dcl dprint_ entry (char (*) aligned, char (*) aligned, ptr, fixed bin (35)); 47 dcl unique_chars_ entry (bit (*)) returns (char (15)); 48 dcl user_info_ entry (char (*), char (*), char (*)); 49 dcl dump_segment_ entry (ptr, ptr, fixed bin, fixed bin, fixed bin, bit (*)); 50 dcl (tolts_qttyio_$rs, ioa_$ioa_switch) entry options (variable); 51 dcl clock_ entry returns (fixed bin (71)); 52 dcl tolts_util_$bci_to_ascii entry (bit (*), char (*) varying, fixed bin); 53 54 /* Automatic */ 55 56 dcl (i, first, c_len) fixed bin; /* do loop cnters */ 57 dcl (uname, uproj, uacct) char (32); 58 dcl out_str char (136) varying; 59 dcl time_str char (24); 60 dcl code fixed bin (35); 61 dcl (dptr, genp) ptr; 62 dcl format bit (11); 63 64 /* Entry parameters */ 65 66 dcl rcode fixed bin (35); /* standard system error rcode */ 67 dcl a_dcwp ptr; 68 dcl regp ptr; 69 70 /* Builtins */ 71 72 dcl (addr, fixed, floor, length, null, ptr, substr, rtrim) builtin; 73 74 /* Structures */ 75 76 dcl 1 regs based (regp) aligned, /* registers from sregs instruction */ 77 (2 x (0:7) bit (18), /* index regs */ 78 2 a bit (36), /* a register */ 79 2 qu fixed bin (18) unsigned, 80 2 ql fixed bin (18) unsigned) unaligned; /* q reg */ 81 82 dcl 1 rcw based (genp), /* structure for gcos sysout records with rcws */ 83 (2 dlen fixed bin, /* number of words */ 84 2 pad fixed bin) unaligned, /* reset of rcw not used */ 85 2 data bit (rcw.dlen * 36), /* bcd data as bit string */ 86 2 nxt_rcw bit (0); /* used for getting next rcw */ 87 88 /* open - entry to attach and open print file */ 89 90 open: entry (rcode); 91 92 rcode = 0; /* initialize return code */ 93 tolts_info.pf_name = unique_chars_ (""b) || "." || tolts_info.exec || ".dump"; /* form unique name */ 94 call iox_$attach_name ("err_file", tolts_info.pf_iocbp, /* attach file */ 95 "vfile_ " || rtrim (tolts_info.hdir) || ">" || tolts_info.pf_name, null, code); 96 if code ^= 0 then do; /* if some problem with attach */ 97 rcode = code; /* return error code */ 98 return; /* get out now */ 99 end; 100 tolts_info.file_attach = "1"b; /* indicate our seg is attached */ 101 call iox_$open (tolts_info.pf_iocbp, 2, "0"b, code); /* open for stream output */ 102 if code ^= 0 then do; 103 rcode = code; /* return error code */ 104 call clean_up; /* go detach file */ 105 return; 106 end; 107 tolts_info.file_open = "1"b; 108 call date_time_ ((clock_ ()), time_str); /* get current time of day */ 109 call ioa_$ioa_switch (tolts_info.pf_iocbp, "^/^2-^as print file ^a>^a opened at ^a^/", 110 tolts_info.exec, tolts_info.hdir, tolts_info.pf_name, time_str); 111 return; 112 113 /* close - entry to close and detach print file and queue up dprint */ 114 115 close: entry; 116 117 call date_time_ ((clock_ ()), time_str); /* get current time of day */ 118 call ioa_$ioa_switch (tolts_info.pf_iocbp, "^/^2-^as print file ^a>^a closed at ^a", 119 tolts_info.exec, tolts_info.hdir, tolts_info.pf_name, time_str); 120 call clean_up; /* close and detach file */ 121 call user_info_ (uname, uproj, uacct); /* get users name and project */ 122 out_str = rtrim (uname) || "." || rtrim (uproj); /* form desc line */ 123 if length (out_str) < 10 then 124 i = floor ((14 - length (out_str)) / 2); /* form center index */ 125 else i = 1; /* if name to long, start at collum 1 */ 126 dpap = addr (dprint_arg_buf); /* set dprint arg ptr */ 127 dprint_arg.version = 1; /* set appropriate args */ 128 dprint_arg.copies = 1; 129 dprint_arg.delete = 1; 130 dprint_arg.queue = 3; /* probably should be queue 1 */ 131 dprint_arg.pt_pch = 1; 132 dprint_arg.notify = 1; /* might want to make this 0 */ 133 dprint_arg.output_module = 1; 134 substr (dprint_arg.dest, i) = out_str; /* set in person/project info */ 135 if tolts_info.exec = "polt" then /* if polts dump */ 136 dprint_arg.heading = " for POLTS DUMP"; 137 else if tolts_info.exec = "molt" then /* if molts dump */ 138 dprint_arg.heading = " for MOLTS DUMP"; 139 else if tolts_info.exec = "colt" then /* if colts dump */ 140 dprint_arg.heading = " for COLTS DUMP"; 141 call dprint_ (tolts_info.hdir, tolts_info.pf_name, dpap, code); /* queue it up */ 142 call tolts_qttyio_$rs (0, "^as dump file ^a>^a has been queued for printing", 143 tolts_info.exec, tolts_info.hdir, tolts_info.pf_name); 144 return; 145 146 /* snap - entry to output snap shot dumps */ 147 148 snap: entry (a_dcwp); 149 150 dcwp = a_dcwp; /* copy dcw ptr */ 151 c_len = fixed (dcw.tally); /* set dump length */ 152 first = fixed (dcw.address); /* set first address */ 153 dptr = ptr (tolts_info.execp, first); /* and start dump ptr */ 154 format = ds_format_1; /* display address offset & data in long format */ 155 call ioa_$ioa_switch (tolts_info.pf_iocbp, "^/"); /* output blank line */ 156 call dump_segment_ (tolts_info.pf_iocbp, dptr, 0, first, c_len, format); /* dump it */ 157 return; /* thats it */ 158 159 /* wdump - entry to output wrap up dumps and dumps with formatted register panal */ 160 161 wdump: entry (regp); 162 163 call date_time_ ((clock_ ()), time_str); /* get current date/time */ 164 if regp ^= execp then do; 165 call ioa_$ioa_switch (tolts_info.pf_iocbp, /* put out dump header line */ 166 "^/^2-^as ^[master mode^;slave^] dump taken ^a^/", 167 tolts_info.exec, (regs.x (2) = "442020"b3), time_str); 168 dcwp = addr (regs.a); /* get dcw ptr */ 169 c_len = fixed (dcw.tally); /* get dcw length */ 170 i = 0; /* reset word counter */ 171 genp = ptr (dcwp, dcw.address); /* get ptr to first rcw */ 172 do while (i < c_len); /* do until we are done */ 173 i = i + rcw.dlen + 1; /* add current rcw length + rcw */ 174 call tolts_util_$bci_to_ascii (rcw.data, out_str, rcw.dlen * 6); /* convert to ascii */ 175 call ioa_$ioa_switch (tolts_info.pf_iocbp, "^a", out_str); 176 genp = addr (rcw.nxt_rcw); /* get next rcw address */ 177 end; 178 end; 179 else call ioa_$ioa_switch (tolts_info.pf_iocbp, /* put out dump header line */ 180 "^/^2-^as master mode dump taken ^a^/", 181 tolts_info.exec, time_str); 182 183 call ioa_$ioa_switch (tolts_info.pf_iocbp, "^/"); /* put out new line */ 184 if regp = execp | regs.x (2) = "442020"b3 then do; /* if master mode dump */ 185 format = ds_format_2; /* display address & offset & data long format */ 186 first = -72; 187 c_len = 77777; /* dump the entire seg */ 188 dptr = execp; /* set ptr to beginning of seg */ 189 end; 190 else do; 191 format = ds_format_2; /* display address & offset & data long format */ 192 first = -72; 193 c_len = regs.ql; 194 dptr = ptr (execp, regs.qu); 195 end; 196 call dump_segment_ (tolts_info.pf_iocbp, dptr, 0, first, c_len, format); /* dump it */ 197 return; /* thats it */ 198 199 /* clean_up - internal procedure to close and detach print file */ 200 201 clean_up: proc; 202 203 if tolts_info.file_open then do; /* if file open */ 204 call iox_$close (tolts_info.pf_iocbp, code); 205 tolts_info.file_open = "0"b; 206 end; 207 if tolts_info.file_attach then do; /* if file attached */ 208 call iox_$detach_iocb (tolts_info.pf_iocbp, code); 209 tolts_info.file_attach = "0"b; 210 tolts_info.pf_iocbp = null; 211 end; 212 213 end clean_up; 214 1 1 /* BEGIN INCLUDE FILE ... dprint_arg.incl.pl1 */ 1 2 /* Modified 11/13/74 by Noel I. Morris */ 1 3 /* Modified: 10 April 1981 by G. Palter for version 6 structure -- longer request type names */ 1 4 /* Modified: 30 April 1982 by R. Kovalcik for version 7 structure -- defer_until_process_terminataion */ 1 5 /* Modified: November 1983 by C. Marker for version 8 structure -- no_separator */ 1 6 1 7 /****^ HISTORY COMMENTS: 1 8* 1) change(87-05-10,Gilcrease), approve(87-05-13,MCR7686), 1 9* audit(88-02-01,Farley), install(88-02-02,MR12.2-1019): 1 10* Add line_nbrs bit for line-numbered printouts, version 9. 1 11* 2) change(88-02-05,Farley), approve(88-02-05,PBF7686), audit(88-02-05,GWMay), 1 12* install(88-02-05,MR12.2-1022): 1 13* Corrected alignment of line_nbrs, was aligned s/b unaligned.. 1 14* 3) change(88-08-29,Farley), approve(88-09-16,MCR7911), 1 15* audit(88-09-29,Wallman), install(88-10-28,MR12.2-1199): 1 16* Created a new 64 character forms_name variable, which supersedes the old 1 17* char 24 form_name variable, version 10. 1 18* END HISTORY COMMENTS */ 1 19 1 20 1 21 dcl dpap ptr; /* ptr to argument structure */ 1 22 dcl 1 dprint_arg_buf aligned like dprint_arg; /* Automatic storage for arg. */ 1 23 1 24 dcl 1 dprint_arg based (dpap) aligned, /* argument structure */ 1 25 2 version fixed bin, /* version number of dcl - current version is 9 */ 1 26 2 copies fixed bin, /* number of copies wanted */ 1 27 2 delete fixed bin, /* 1=delete after print */ 1 28 2 queue fixed bin, /* print queue */ 1 29 2 pt_pch fixed bin, /* 1=print, 2=punch */ 1 30 2 notify fixed bin, /* 1 = notify user when done */ 1 31 2 heading char (64), /* first page heading */ 1 32 2 output_module fixed bin, /* 1=print, 2=7punch, 3=mcc, 4=raw, 5=plotter */ 1 33 2 dest char (12), /* version 5 made this a pad - see destination below */ 1 34 /* limit of version 1 structure */ 1 35 2 carriage_control, /* Carriage control flags. */ 1 36 3 nep bit (1) unal, /* TRUE if print trhu perf. */ 1 37 3 single bit (1) unal, /* TRUE if ignore FF and VT */ 1 38 3 non_edited bit (1) unal, /* TRUE if printing in non-edited mode */ 1 39 3 truncate bit (1) unal, /* TRUE if truncating lines at line length */ 1 40 3 center_top_label bit (1) unal, /* TRUE if top label to be centered */ 1 41 3 center_bottom_label bit (1) unal, /* TRUE if bottom label to be centered */ 1 42 3 esc bit (1) unal, /* version 5 TRUE if text escapes are to be processed */ 1 43 3 no_separator bit (1) unal, /* version 8 TRUE if the inner head and tail sheets are to be suppressed. */ 1 44 3 line_nbrs bit (1) unal, /* version 9, line numbers */ 1 45 3 padding bit (27) unal, 1 46 2 pad (30) fixed bin, 1 47 2 forms char (8), /* version 5 made this a pad - see form_name below */ 1 48 2 lmargin fixed bin, /* left margin */ 1 49 2 line_lth fixed bin, /* max line lth */ 1 50 /* limit of version 2 structure */ 1 51 2 class char (8), /* version 6 made this a pad - see request_type below */ 1 52 2 page_lth fixed bin, /* Paper length arg */ 1 53 /* limit of version 3 structure */ 1 54 2 top_label char (136), /* top-of-page label */ 1 55 2 bottom_label char (136), /* bottom-of-page label */ 1 56 /* limit of version 4 structure */ 1 57 2 bit_count fixed bin (35), /* segment bit count */ 1 58 2 form_name char (24), /* name of special forms needed - moved from forms */ 1 59 /* version 10 made this a pad - see forms_name below */ 1 60 2 destination char (24), /* the long destination - moved from dest */ 1 61 2 chan_stop_path char (168), /* path of user channel stops - future */ 1 62 /* limit of version 5 structure */ 1 63 2 request_type character (24) unaligned, /* request type for the request */ 1 64 /* limit of version 6 structure */ 1 65 2 defer_until_process_termination fixed bin, /* 1 = don't process request until requesting process terminates */ 1 66 2 forms_name char (64) unal; /* name of special forms needed - moved from form_name */ 1 67 /* limit of version 10 structure */ 1 68 1 69 dcl dprint_arg_version_1 fixed bin int static options (constant) init (1); 1 70 dcl dprint_arg_version_2 fixed bin int static options (constant) init (2); 1 71 dcl dprint_arg_version_3 fixed bin int static options (constant) init (3); 1 72 dcl dprint_arg_version_4 fixed bin int static options (constant) init (4); 1 73 dcl dprint_arg_version_5 fixed bin int static options (constant) init (5); 1 74 dcl dprint_arg_version_6 fixed bin int static options (constant) init (6); 1 75 dcl dprint_arg_version_7 fixed bin int static options (constant) init (7); 1 76 dcl dprint_arg_version_8 fixed bin int static options (constant) init (8); 1 77 dcl dprint_arg_version_9 fixed bin int static options (constant) init (9); 1 78 dcl dprint_arg_version_10 fixed bin int static options (constant) init (10); 1 79 /* current version */ 1 80 1 81 dcl ( 1 82 DP_PRINT init (1), 1 83 DP_PUNCH init (2), 1 84 DP_PLOT init (3) 1 85 ) fixed bin static options (constant); /* for dprint_arg.pt_pch */ 1 86 1 87 /* END INCLUDE FILE ... dprint_arg.incl.pl1 */ 215 216 2 1 /* Begin mca_data_area.incl.pl1 */ 2 2 2 3 /****^ HISTORY COMMENTS: 2 4* 1) change(86-03-19,Fawcett), approve(86-03-19,MCR7374), 2 5* audit(86-04-28,Lippard), install(86-09-16,MR12.0-1159): 2 6* Created for control of the MCA. This is a template for the ioi workspace 2 7* needed for the MCA communications. 2 8* END HISTORY COMMENTS */ 2 9 2 10 /* Created Sept 84 by R. A. Fawcett from information in 2 11* "EPS-1 DIPPER Maintainability" REV A (MAY 3, 1983) */ 2 12 2 13 2 14 2 15 dcl data_header_ptr ptr; 2 16 2 17 dcl (data_size_1, data_size_2) fixed bin (21) init (0); 2 18 2 19 dcl io_param_blk_ptr ptr; 2 20 2 21 dcl mca_dcw_list_ptr ptr; 2 22 2 23 dcl mca_work_space_ptr ptr; 2 24 2 25 dcl 1 mca_work_space based (mca_work_space_ptr), 2 26 2 list_of_dcw like mca_dcw_list, 2 27 2 status_area like istat, 2 28 2 29 2 data_header_1 aligned like data_header, 2 30 2 data_1 char (data_size_1), 2 31 2 data_header_2 aligned like data_header, 2 32 2 data_2 char (data_size_2); 2 33 2 34 2 35 dcl 1 data_header based (data_header_ptr) aligned, 2 36 2 type bit (9) unal, /* must be equal to "000"b3 (MBZ) */ 2 37 2 definer fixed bin (9) unal unsigned, /* defines type of info in header */ 2 38 2 ctl_sw bit (18) unal, /* "currently undfined" mbz = "000000"b3 */ 2 39 2 40 2 host_sts_ign1 bit (1) unal, 2 41 2 host_sts_msb bit (8) unal, 2 42 2 host_sts_ign2 bit (1) unal, 2 43 2 host_sts_lsb bit (8) unal, 2 44 2 45 2 rd_flpy fixed bin (9) unal unsigned, /* 0 = data files from host */ 2 46 /* 1 = data files from flopy */ 2 47 2 io_param_blk like io_parameter_block unal; 2 48 2 49 2 50 dcl 1 io_parameter_block based (io_param_blk_ptr) unal, 2 51 2 open fixed bin (9) unal unsigned, 2 52 2 cmd bit (18), 2 53 2 sts_ptr bit (18), /* Unused */ 2 54 2 file_name char (8), /* file name for this request */ 2 55 2 options bit (18), /* Unused */ 2 56 2 source_ptr bit (18), /* Unused */ 2 57 2 source_len, 2 58 /* data_size = source_len_msb||source_len_lsb MCA to HOST */ 2 59 3 source_len_ign1 bit (1), 2 60 3 source_len_msb bit (8), 2 61 3 source_len_ign2 bit (1), 2 62 3 source_len_lsb bit (8), 2 63 2 dest_ptr bit (18), /* Unused */ 2 64 2 blk_ct, 2 65 /* if MCA to HOST blk_ct_msb||blk_ct_lsb = MAX number of 256 byte BLOCKS */ 2 66 /* else not used */ 2 67 3 blk_ct_ign1 bit (1), 2 68 3 blk_ct_msb bit (8), 2 69 3 blk_ct_ign2 bit (1), 2 70 3 blk_ct_lsb bit (8), 2 71 2 dest_len, 2 72 /* supplied by host as the number of bytes in data_field max value is 16128 */ 2 73 /* dest_len_msb = substr(unspec(data_size),21,8) */ 2 74 /* dest_len_lsb = substr(unspec(data_size),29,8) */ 2 75 3 dest_len_ign1 bit (1), 2 76 3 dest_len_msb bit (8), 2 77 3 dest_len_ign2 bit (1), 2 78 3 dest_len_lsb bit (8); 2 79 2 80 2 81 dcl 1 mca_dcw_list based (mca_dcw_list_ptr), 2 82 2 idcw1 like idcw, 2 83 2 dcw1 like dcw, 2 84 2 idcw2 like idcw, 2 85 2 dcw2 like dcw; 2 86 2 87 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 2 88 2 89 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 2 90 2 91 5 1 5 2 /* Begin include file ...... ioi_stat.incl.pl1 */ 5 3 /* Last modified 3/24/75 by Noel I. Morris */ 5 4 5 5 dcl isp ptr; /* pointer to status structure */ 5 6 5 7 dcl 1 istat based (isp) aligned, /* I/O Interfacer status structure */ 5 8 2 completion, /* completion flags */ 5 9 (3 st bit (1), /* "1"b if status returned */ 5 10 3 er bit (1), /* "1"b if status indicates error condition */ 5 11 3 run bit (1), /* "1"b if channel still running */ 5 12 3 time_out bit (1)) unal, /* "1"b if time-out occurred */ 5 13 2 level fixed bin (3), /* IOM interrupt level */ 5 14 2 offset fixed bin (18), /* DCW list offset */ 5 15 2 absaddr fixed bin (24), /* absolute address of workspace */ 5 16 2 iom_stat bit (72), /* IOM status */ 5 17 2 lpw bit (72); /* LPW residue */ 5 18 5 19 dcl imp ptr; /* pointer to message structure */ 5 20 5 21 dcl 1 imess based (imp) aligned, /* I/O Interfacer event message structure */ 5 22 (2 completion like istat.completion, /* completion flags */ 5 23 2 pad bit (11), 5 24 2 level bit (3), /* interrupt level */ 5 25 2 offset bit (18), /* DCW list offset */ 5 26 2 status bit (36)) unal; /* first 36 bits of status */ 5 27 5 28 /* End of include file ...... ioi_stat.incl.pl1 */ 5 29 2 92 2 93 2 94 /* Constants used for data_header.definer */ 2 95 2 96 dcl DATA_FROM_HOST 2 97 fixed bin (9) unsigned init (0) static options (constant); 2 98 dcl WRITE_CONSOLE 2 99 fixed bin (9) unsigned init (1) static options (constant); 2 100 dcl WRITE_READ_CONSOLE 2 101 fixed bin (9) unsigned init (2) static options (constant); 2 102 dcl DATA_FROM_MCA 2 103 fixed bin (9) unsigned init (3) static options (constant); 2 104 dcl REQ_DATA_FROM_HOST 2 105 fixed bin (9) unsigned init (4) static options (constant); 2 106 dcl STATUS_FROM_MCA 2 107 fixed bin (9) unsigned init (5) static options (constant); 2 108 dcl SEEK 2 109 fixed bin (9) unsigned init (6) static options (constant); 2 110 dcl CON_DATA_FROM_HOST 2 111 fixed bin (9) unsigned init (7) static options (constant); 2 112 dcl BIN_DATA_FROM_HOST 2 113 fixed bin (9) unsigned init (8) static options (constant); 2 114 dcl ABORT_SES_FROM_HOST 2 115 fixed bin (9) unsigned init (9) static options (constant); 2 116 2 117 2 118 /* End mca_data_area.incl.pl1 */ 2 119 217 218 6 1 /* BEGIN INCLUDE FILE tolts_info.incl.pl1 */ 6 2 6 3 6 4 6 5 6 6 6 7 6 8 6 9 /****^ HISTORY COMMENTS: 6 10* 1) change(80-03-24,Fakoury), approve(), audit(86-11-25,Martinson), 6 11* install(86-12-04,MR12.0-1235): 6 12* to add second sct for 500/501 MTAR 6 13* 2) change(80-09-01,Fakoury), approve(), audit(86-11-25,Martinson), 6 14* install(86-12-04,MR12.0-1235): 6 15* to init rcp_area and alt_rcp_area to 0. 6 16* 3) change(81-09-01,Fakoury), approve(), audit(86-11-25,Martinson), 6 17* install(86-12-04,MR12.0-1235): 6 18* to add new statements for colts. 6 19* 4) change(81-09-01,Fakoury), approve(), audit(86-11-25,Martinson), 6 20* install(86-12-04,MR12.0-1235): 6 21* to increase the dcw_list size. 6 22* 5) change(82-04-01,Fakoury), approve(), audit(86-11-25,Martinson), 6 23* install(86-12-04,MR12.0-1235): 6 24* to add crcst and redefine devsct. 6 25* 6) change(82-09-01,Fakoury), approve(), audit(86-11-25,Martinson), 6 26* install(86-12-04,MR12.0-1235): 6 27* to increase the console buffer size for mtar. 6 28* 7) change(82-11-01,Fakoury), approve(), audit(86-11-25,Martinson), 6 29* install(86-12-04,MR12.0-1235): 6 30* for 128chan support. 6 31* 8) change(83-07-01,Fakoury), approve(), audit(86-11-25,Martinson), 6 32* install(86-12-04,MR12.0-1235): 6 33* to increase the dcw_list size for mtar perm file track repair. 6 34* 9) change(84-04-10,Fakoury), approve(86-08-21,MCR7514), 6 35* audit(86-11-25,Martinson), install(86-12-04,MR12.0-1235): 6 36* to add sct_info needed to support the DAU & DIPPER. 6 37* 10) change(85-02-21,Fakoury), approve(86-08-21,MCR7514), 6 38* audit(86-11-25,Martinson), install(86-12-04,MR12.0-1235): 6 39* 2/85 to support test nio request. 6 40* 11) change(85-04-01,Fakoury), approve(86-08-21,MCR7514), 6 41* audit(86-11-25,Martinson), install(86-12-04,MR12.0-1235): 6 42* for extended status store. 6 43* 12) change(85-12-21,Fakoury), approve(86-08-21,MCR7514), 6 44* audit(86-11-25,Martinson), install(86-12-04,MR12.0-1235): 6 45* for Colts Responder changes. 6 46* 13) change(86-02-01,Fakoury), approve(86-08-20,MCR7514), 6 47* audit(86-11-25,Martinson), install(86-12-04,MR12.0-1235): 6 48* implement the test nio request. 6 49* support of a Colts responder test request. 6 50* END HISTORY COMMENTS */ 6 51 6 52 6 53 6 54 6 55 6 56 6 57 /* format: style4,ifthenstmt,ifthen,ind3,ll125,lineconind1 */ 6 58 6 59 dcl polt_io_type fixed bin int static options (constant) init (0); 6 60 dcl itr_io_type fixed bin int static options (constant) init (1); 6 61 dcl mdr_io_type fixed bin int static options (constant) init (2); 6 62 dcl mtar_io_type fixed bin int static options (constant) init (3); 6 63 dcl firm_ld_io_type fixed bin int static options (constant) init (4); 6 64 dcl mtc_io_type fixed bin int static options (constant) init (5); 6 65 dcl mtg_io_type fixed bin int static options (constant) init (6); 6 66 dcl mdc_io_type fixed bin int static options (constant) init (7); 6 67 dcl mhp_io_type fixed bin int static options (constant) init (8); 6 68 dcl mca_io_type fixed bin int static options (constant) init (9); 6 69 dcl rspd_io_type fixed bin int static options (constant) init (10); 6 70 6 71 dcl tolts_infop ptr external static; /* ext static ptr to tolts_info structure */ 6 72 dcl colts_info_ptr ptr; /* ptr to individual test page data */ 6 73 dcl io_info_ptr ptr; /* ptr to individual test page data */ 6 74 dcl dmap ptr; /* pointer to dial_manager_arg */ 6 75 dcl 1 tolts_info based (tolts_infop) aligned, /* data structure used for tolts routines */ 6 76 2 cdtptr ptr, 6 77 2 df_iocbp ptr, /* deckfile iocb ptr */ 6 78 2 dm_event fixed bin (71), /* dial_manager event_channel */ 6 79 2 exec char (4), /* executive name (polt, molt, colt etc) */ 6 80 2 exec_dta_cnt fixed bin, /* inter slave request count */ 6 81 2 exec_page_count fixed bin, /* number of test pages active */ 6 82 2 exec_term_io_wait bit (1), /* waiting for io to complete for exec termination */ 6 83 2 execp ptr, /* ptr to slave polt or molt segment */ 6 84 2 file_attach bit (1), /* = "1"b if print file attached */ 6 85 2 file_open bit (1), /* = "1"b if print file open */ 6 86 2 finish_cond bit (1), /* = "1"b if finish condition has been signaled */ 6 87 2 first_request_done bit (1), /* first terminal io request complete */ 6 88 2 gc_date bit (36), /* gcos 6 char bcd date (set at init time, updated at rollover) */ 6 89 2 gewake_active bit (1), /* = "1"b if gewake alarm timer is active */ 6 90 2 gewake_event fixed bin (71), /* gewake alarm timer event channel id */ 6 91 2 glob_int_cnt fixed bin, /* total number of outstanding test IOs */ 6 92 2 hdir char (168), /* users home directory pathname */ 6 93 2 init_time fixed bin (71), /* gcos time of executive initialize (mme poinit) */ 6 94 2 max_to fixed bin (71), /* max ioi timeout ( from rcp_$check_attach) */ 6 95 2 max_wks_sz fixed bin (19), /* max ioi wkspace size (from rcp_$check_attach) */ 6 96 2 micro_time fixed bin (71), /* time at midnight in usecs. (set at init time, updated at rollover */ 6 97 2 optflag fixed bin, /* option request flag */ 6 98 2 padx (2) fixed bin, /* reserved area */ 6 99 2 pf_iocbp ptr, /* print file iocb ptr */ 6 100 2 pf_name char (32), /* seg name of print file */ 6 101 2 process bit (36), /* T & D users process id */ 6 102 2 quith_event fixed bin (71), /* quit handler event call channel id */ 6 103 2 special_fault bit (1), /* error on reconnect after special int */ 6 104 2 term_io_in_prog bit (1), /* terminal io in progress */ 6 105 2 term_io_req_cnt fixed bin, /* outstanding terminal io requests */ 6 106 2 tty_ccc_event fixed bin (71), /* term io courtesy call event call channel id */ 6 107 2 tty_display_event fixed bin (71), /* term io display event channel id */ 6 108 2 tty_issue_event fixed bin (71), /* term io issue event call channel id */ 6 109 2 wks_sz fixed bin, /* workspace size in words (4096 for polts, 6144 for molts) */ 6 110 2 exec_dta (16), /* inter slave request queue */ 6 111 3 word (4) bit (36), /* inter slave data */ 6 112 2 ccc_queue, /* courtesy call queue */ 6 113 3 ccc_requests fixed bin, /* courtesy call requests */ 6 114 3 icivlu (16) bit (36), /* ic and ind of courtesy call routine */ 6 115 2 isc_queue, /* interslave communication queue */ 6 116 3 icivlu bit (36), /* ic and i of queue entry */ 6 117 3 status_add fixed bin, /* :: */ 6 118 3 data_add fixed bin, /* :: */ 6 119 6 120 2 tadio (8), /* T & D user io rqt queue */ 6 121 3 optrd bit (1), /* = "1"b if options are to be read */ 6 122 3 inuse bit (1), /* = "1"b if queue entry in use */ 6 123 3 return_word (3) bit (36), /* data returned from mme tadiod */ 6 124 3 option bit (6 * 84), /* bcd option string */ 6 125 2 wait_list, /* wait list for dispatcher block */ 6 126 3 nchan fixed bin, /* number of event wait channels */ 6 127 3 wait_pad fixed bin, /* will make wait_event_id on even boundary */ 6 128 3 wait_event_id (2) fixed bin (71), /* dispatcher event wait chan id */ 6 129 2 clt_sw char (32), 6 130 2 att_desc char (32), 6 131 2 cdt_pointer ptr, /* save pointer to cdt */ 6 132 2 fnp_exec_cnt fixed bin init (0), 6 133 2 fnp (0:7), 6 134 3 exec_active bit (1) init ("0"b), 6 135 3 exec_chan char (32), 6 136 3 status_word bit (36) init ("0"b), 6 137 3 fnp_execp ptr, 6 138 3 type fixed bin, 6 139 3 exec_type_code bit (6) init ("0"b), 6 140 3 cdt_name (8) char (32) init ("empty"), /* cdt name built from test request */ 6 141 3 dm_arg like dial_manager_arg, 6 142 2 mess_buf, /* terminal io message buffers */ 6 143 3 first ptr, /* ptr to start of message buffer */ 6 144 3 nxt ptr, /* ptr to nxt queue entry */ 6 145 3 term_queue (8192) fixed bin, /* message queu as fixed bin */ 6 146 3 q_end bit (0), /* to find end of queue */ 6 147 3 q_pad (1024) fixed bin, /* padding area */ 6 148 3 mult_ans char (28) varying, /* answer to local Multics question */ 6 149 3 cv_buf char (4000) varying, /* temporary conversion storage */ 6 150 2 colts_pages (8) like colts_info, 6 151 2 pages (8) like io_info, /* test pages (8 posible) */ 6 152 2 firm_buf (10240) fixed bin; /* storage for loading firmware */ 6 153 6 154 6 155 dcl 1 io_info based (io_info_ptr) aligned, /* this maps test pages in tolts_info */ 6 156 2 alloc_wait bit (1), /* = "1"b if waiting for delayed allocation */ 6 157 2 allocated bit (1), /* = "1"b if device allocated to this page */ 6 158 2 alt_dev_flag bit (1), /* = "1"b if 2nd logical device configured (MTAR 500/501 only */ 6 159 2 alt_device_index fixed bin (12), /* ioi device index */ 6 160 2 alt_device_name char (8), /* alternate allocated device name */ 6 161 2 alt_rcp_area (24) fixed bin init (0), /* alternate device rcp */ 6 162 2 alt_rcp_id bit (36) aligned, /* rcp id for alternate attach/check_attach */ 6 163 2 attach_err fixed bin (35), /* error code returned durning attach */ 6 164 2 cata_cycle bit (1), /* cycle check for cata */ 6 165 2 cat_name char (10), /* itr or mdr catalog suffix */ 6 166 2 n_keys fixed bin aligned, /* number of catalog keys below */ 6 167 2 cata_keys (10) char (24) aligned, /* array of catalog keys */ 6 168 2 catp ptr, /* ptr to itr or mdr catalog in deckfile */ 6 169 2 catx fixed bin, /* current cata_info.index */ 6 170 2 ccu_pun bit (1), /* = "1"b if ccu to be used as punch */ 6 171 2 chan_suspended bit (1), /* = "1"b if channel has been suspended */ 6 172 2 chan_time fixed bin (35), /* channel time (in 1/64th miliseconds) */ 6 173 2 con_time fixed bin (35), /* abs time of connect (in 1/64 th miliseconds) */ 6 174 2 cur_wks_sz fixed bin, /* current size of ioi workspace (normally tolts_info.wks_sz) */ 6 175 2 dcw_list (330) bit (36), /* test page dcw list in unaltered form */ 6 176 2 dev_busy bit (1), /* = "1"b if device busy before */ 6 177 2 device_index fixed bin (12), /* ioi device index */ 6 178 2 device_name char (8), /* allocated device name (in ascii) */ 6 179 2 ev_ch_ass bit (1), /* = "1"b if status event chan assigned to this page */ 6 180 2 ext_status_add fixed bin, /* extended status store address */ 6 181 2 fnp_num fixed bin, 6 182 2 fpinfo_ptr ptr, /* ptr to rspd info table */ 6 183 2 ignore_term bit (1), /* = "1"b if term int to be ignored, wait for special (ITR) */ 6 184 2 in_use bit (1), /* = "1"b if this test page in use */ 6 185 2 int_time fixed bin (35), /* abs time of interrupt (in 1/64 th miliseconds) */ 6 186 2 io_in_progress bit (1), /* = "1"b if io in progress for this page */ 6 187 2 io_trc_flag bit (1), /* = "1"b if io is being traced */ 6 188 2 io_type fixed bin, /* 0 = polt, 1 = ITR, 2 = MDR, 3 = MTAR, 4 = firmware load */ 6 189 2 iocp ptr, 6 190 2 ipc_attached bit (1), 6 191 2 ipc_id char (3), 6 192 2 ipc_number fixed bin, 6 193 2 lostit_time fixed bin (35), /* lost interrupt time in 1/64 th miliseconds */ 6 194 2 mca_attach_state fixed bin, 6 195 2 mcata_idx fixed bin, /* mca catalog indexer */ 6 196 2 mcata_nkeys fixed bin aligned, /* no of keys in a mca catalog */ 6 197 2 mcata_keys (100) char (24) aligned, /* mca catalog entries */ 6 198 2 mca_ioi_idx fixed bin, /* ioi index of attached mca / 6 199* 2 mca_iop ptr, /* mca io ptr */ 6 200 2 mca_workspace_ptr ptr, 6 201 2 mpc_dev_cnt fixed bin, /* if urmpc to be booted, # of devices */ 6 202 2 nff bit (1), /* = "1"b new format flag */ 6 203 2 num_connects fixed bin, /* number of connects issued by this page */ 6 204 2 p2_att bit (1), /* ="1"b if alternate device is attached (MTAR 500/501 only) */ 6 205 2 p_att bit (1), /* = "1"b if perp. device attached to this page */ 6 206 2 page_base fixed bin (18) uns, /* base of this test page in slave seg */ 6 207 2 pcwa bit (36), /* pcw */ 6 208 2 rcp_area (24) fixed bin init (0), /* storage for rcp device info */ 6 209 2 rcp_id bit (36) aligned, /* rcp id for attach/check_attach */ 6 210 2 rcp_name char (32), /* rcp name for this device */ 6 211 2 rcp_state fixed bin, /* rcp attach state flag */ 6 212 2 release_chan bit (1), /* = "1"b if ioi_$release devices to be called */ 6 213 2 rew_wait bit (1), /* = "1"b if waiting for special on rewind complete */ 6 214 2 sp_flag bit (1), /* = "1"b if special status available */ 6 215 2 sp_status bit (36), /* special interrupt status storage */ 6 216 2 spare1 bit (1), 6 217 2 status_add fixed bin, /* address to store status in test page */ 6 218 2 status_event fixed bin (71), /* io completion status event call channel id */ 6 219 2 suspend_chan bit (1), /* = "1"b if ioi_$suspend devices to be called */ 6 220 2 tolts_rspd_wksp ptr, 6 221 2 test_hdr char (16), /* test header used for Multics local messages */ 6 222 2 tio_off fixed bin (18), /* dcw list offset for ioi */ 6 223 2 to_no_cc bit (1), /* = "1"b if timeout expected (set after mme ipcw) */ 6 224 2 workspace_ptr ptr, /* ioi workspace ptr */ 6 225 2 altsct, /* sct for MTAR alternate device */ 6 226 (3 w1, /* device sct word 1 */ 6 227 4 type_code bit (6), /* gcos 3 type code (see dd14 app. a) */ 6 228 4 device_no bit (6), /* device number */ 6 229 4 com_prph bit (1), /* = "1"b if common perph. device */ 6 230 4 hi_speed bit (1), /* = "1"b if hi speed printer */ 6 231 4 ll160 bit (1), /* = "1"b if 160 collum printer */ 6 232 4 pad1 bit (2), 6 233 4 cr501_pr54 bit (1), /* either a cr501 or pr54 device */ 6 234 4 icc bit (11), /* iom and channel (true channel index) */ 6 235 4 pad2 bit (7), 6 236 3 w2, /* device sct word 2 */ 6 237 4 ptrain fixed bin (14), /* print train number */ 6 238 4 nmods bit (3), /* not used in Multics */ 6 239 4 pad4 bit (3), 6 240 4 den_cap bit (4), /* density capability for tapes */ 6 241 4 pad5 bit (11)) unaligned, 6 242 2 crcst, /* controller sct */ 6 243 (3 pad1 bit (1), 6 244 3 volatile bit (1), /* reloadable firmware */ 6 245 3 mpc bit (1), /* = "1"b if mpc */ 6 246 3 pad2 bit (4), 6 247 3 ms500 bit (1), /* = "1"b if mss500 device */ 6 248 3 mtp610 bit (1), /* = "1"b if mtp 610 device */ 6 249 3 pad3 bit (27)) unaligned, 6 250 2 dev_firm (4), /* storage for device firmware edit names */ 6 251 3 edit_name char (4), /* for urmpc firmware */ 6 252 3 mask bit (36), /* port mask for this firmware */ 6 253 2 devsct, /* 2 word device sct entry */ 6 254 (3 w1, /* device sct word 1 */ 6 255 4 type_code bit (6), /* gcos 3 type code (see dd14 app. a) */ 6 256 4 device_no bit (6), /* device number */ 6 257 4 com_prph bit (1), /* = "1"b if common perph. device */ 6 258 4 hi_speed bit (1), /* = "1"b if hi speed printer */ 6 259 4 ll160 bit (1), /* = "1"b if 160 collum printer */ 6 260 4 pad1 bit (2), 6 261 4 cr501_pr54 bit (1), /* either a cr501 or pr54 device */ 6 262 4 icc bit (11), /* iom and channel (true channel index) */ 6 263 4 pad2 bit (7), 6 264 3 w2, /* device sct word 2 */ 6 265 4 ptrain fixed bin (14), /* print train number */ 6 266 4 nmods bit (3), /* not used in Multics */ 6 267 4 pad4 bit (3), 6 268 4 den_cap bit (4), /* density capability for tapes */ 6 269 4 pad5 bit (11)) unaligned, 6 270 2 icivlu, /* ic and i for courtesy call on io completion */ 6 271 3 ic bit (18) unaligned, /* instruction counter */ 6 272 3 ind bit (18) unaligned, /* indicator register */ 6 273 2 sct_info, 6 274 (3 cntsct bit (18), /* unchanged from before */ 6 275 3 ioc_type bit (4), /* 0 = IOM, 1 = IMU, 2 = IOX */ 6 276 3 cnt_type bit (4), /* 0 = MPC, 1 = DAU, 2 = EURC, 3 = FIPS */ 6 277 3 pad1 bit (1), 6 278 3 xioc_type bit (4), /* not used in Multics */ 6 279 3 xcnt_type bit (4), /* not used in Multics */ 6 280 3 pad2 bit (1)) unaligned, 6 281 2 test_req aligned, 6 282 (3 fnccss bit (18), 6 283 3 tt bit (6), 6 284 3 pad1 bit (6)) unaligned; 6 285 6 286 6 287 dcl 1 colts_info aligned based (colts_info_ptr), 6 288 2 cdt_name char (32), 6 289 2 chanp pointer, /* iox pointer to chan under test */ 6 290 2 dm_arg aligned like dial_manager_arg, 6 291 2 fnp_num fixed bin (4), 6 292 2 in_use bit (1) unaligned init ("0"b), 6 293 2 status_word bit (36) aligned init ("0"b), 6 294 2 type_code bit (6) unaligned init ("0"b); 6 295 6 296 6 297 6 298 7 1 /* BEGIN INCLUDE FILE ... dial_manager_arg.incl.pl1 */ 7 2 7 3 /* Modified by E. N. Kittlitz 11/80 to add reservation string, move dial-out 7 4* destination from dial_qualifier, add dial_message. 7 5* Modified by Robert Coren 4/83 to add required access class stuff. 7 6* Modified 1984-08-27 BIM for V4, privileged_operation. 7 7**/ 7 8 7 9 7 10 dcl dial_manager_arg_version_2 fixed bin internal static initial (2) options (constant); 7 11 dcl dial_manager_arg_version_3 fixed bin internal static initial (3) options (constant); 7 12 dcl dial_manager_arg_version_4 fixed bin internal static initial (4) options (constant); 7 13 7 14 dcl 1 dial_manager_arg based aligned, 7 15 2 version fixed bin, /* = 4 */ 7 16 2 dial_qualifier char (22), /* identify different processes with same process group id */ 7 17 2 dial_channel fixed bin (71), /* event wait channel */ 7 18 2 channel_name char (32), /* channel name for privileged attach */ 7 19 /* limit of version 1 structure */ 7 20 2 dial_out_destination char (32), /* dial-out destination (e.g. phone_no) */ 7 21 2 reservation_string char (256), /* reservation string */ 7 22 2 dial_message fixed bin (71), /* OUTPUT: A.S. message received by dial_manager_ */ 7 23 /* limit of version 2 structure */ 7 24 2 access_class bit (72), /* access class to be associated with the attachment */ 7 25 2 flags aligned, 7 26 3 access_class_required bit (1) unaligned, /* indicates whether to enforce access_class */ 7 27 3 privileged_operation bit (1) unaligned, /* for accept_dials, accepts dials from */ 7 28 /* system_low:access_class */ 7 29 /* no effect on other operations yet. */ 7 30 3 mbz bit (34) unaligned; /* must be zero */ 7 31 7 32 /* END INCLUDE FILE ... dial_manager_arg.incl.pl1 */ 6 299 6 300 6 301 6 302 6 303 6 304 /* END INCLUDE FILE tolts_info.incl.pl1 */ 219 220 221 222 end tolts_file_util_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 10/28/88 1302.2 tolts_file_util_.pl1 >special_ldd>install>MR12.2-1199>tolts_file_util_.pl1 215 1 10/28/88 1227.7 dprint_arg.incl.pl1 >special_ldd>install>MR12.2-1199>dprint_arg.incl.pl1 217 2 09/18/86 1317.5 mca_data_area.incl.pl1 >ldd>include>mca_data_area.incl.pl1 2-88 3 11/12/74 1550.1 iom_dcw.incl.pl1 >ldd>include>iom_dcw.incl.pl1 2-90 4 05/06/74 1742.1 iom_pcw.incl.pl1 >ldd>include>iom_pcw.incl.pl1 2-92 5 08/17/79 2215.0 ioi_stat.incl.pl1 >ldd>include>ioi_stat.incl.pl1 219 6 12/10/86 1422.0 tolts_info.incl.pl1 >ldd>include>tolts_info.incl.pl1 6-299 7 09/13/84 0921.5 dial_manager_arg.incl.pl1 >ldd>include>dial_manager_arg.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. a 4 based bit(36) level 2 packed packed unaligned dcl 76 set ref 168 a_dcwp parameter pointer dcl 67 ref 148 150 addr builtin function dcl 72 ref 126 168 176 address based bit(18) level 2 packed packed unaligned dcl 3-7 ref 152 171 c_len 000102 automatic fixed bin(17,0) dcl 56 set ref 151* 156* 169* 172 187* 193* 196* clock_ 000036 constant entry external dcl 51 ref 108 117 163 code 000204 automatic fixed bin(35,0) dcl 60 set ref 94* 96 97 101* 102 103 141* 204* 208* colts_info based structure level 1 dcl 6-287 completion 4 based structure level 3 in structure "mca_work_space" packed packed unaligned dcl 2-25 in procedure "tolts_file_util_" completion based structure level 2 in structure "istat" dcl 5-7 in procedure "tolts_file_util_" copies 1 based fixed bin(17,0) level 2 dcl 1-24 set ref 128* data 1 based bit level 2 packed packed unaligned dcl 82 set ref 174* data_header based structure level 1 dcl 2-35 data_size_1 000540 automatic fixed bin(21,0) initial dcl 2-17 set ref 2-17* data_size_2 000541 automatic fixed bin(21,0) initial dcl 2-17 set ref 2-17* date_time_ 000020 constant entry external dcl 45 ref 108 117 163 dcw based structure level 1 dcl 3-7 dcwp 000542 automatic pointer dcl 3-4 set ref 150* 151 152 168* 169 171 171 delete 2 based fixed bin(17,0) level 2 dcl 1-24 set ref 129* dest 27 based char(12) level 2 dcl 1-24 set ref 134* dial_manager_arg based structure level 1 dcl 7-14 dlen based fixed bin(17,0) level 2 packed packed unaligned dcl 82 ref 173 174 174 174 176 dpap 000214 automatic pointer dcl 1-21 set ref 126* 127 128 129 130 131 132 133 134 135 137 139 141* dprint_ 000022 constant entry external dcl 46 ref 141 dprint_arg based structure level 1 dcl 1-24 dprint_arg_buf 000216 automatic structure level 1 dcl 1-22 set ref 126 dptr 000206 automatic pointer dcl 61 set ref 153* 156* 188* 194* 196* ds_format_1 constant bit(11) initial packed unaligned dcl 34 ref 154 ds_format_2 constant bit(11) initial packed unaligned dcl 36 ref 185 191 dump_segment_ 000030 constant entry external dcl 49 ref 156 196 exec 6 based char(4) level 2 dcl 6-75 set ref 93 109* 118* 135 137 139 142* 165* 179* execp 12 based pointer level 2 dcl 6-75 ref 153 164 184 188 194 file_attach 14 based bit(1) level 2 dcl 6-75 set ref 100* 207 209* file_open 15 based bit(1) level 2 dcl 6-75 set ref 107* 203 205* first 000101 automatic fixed bin(17,0) dcl 56 set ref 152* 153 156* 186* 192* 196* fixed builtin function dcl 72 ref 151 152 169 floor builtin function dcl 72 ref 123 format 000212 automatic bit(11) packed unaligned dcl 62 set ref 154* 156* 185* 191* 196* genp 000210 automatic pointer dcl 61 set ref 171* 173 174 174 174 174 176* 176 176 hdir 25 based char(168) level 2 dcl 6-75 set ref 94 109* 118* 141* 142* heading 6 based char(64) level 2 dcl 1-24 set ref 135* 137* 139* i 000100 automatic fixed bin(17,0) dcl 56 set ref 123* 125* 134 170* 172 173* 173 idcw based structure level 1 dcl 4-21 io_info based structure level 1 dcl 6-155 io_parameter_block based structure level 1 packed packed unaligned dcl 2-50 ioa_$ioa_switch 000034 constant entry external dcl 50 ref 109 118 155 165 175 179 183 iox_$attach_name 000010 constant entry external dcl 41 ref 94 iox_$close 000014 constant entry external dcl 43 ref 204 iox_$detach_iocb 000016 constant entry external dcl 44 ref 208 iox_$open 000012 constant entry external dcl 42 ref 101 istat based structure level 1 dcl 5-7 length builtin function dcl 72 ref 123 123 mca_dcw_list based structure level 1 packed packed unaligned dcl 2-81 notify 5 based fixed bin(17,0) level 2 dcl 1-24 set ref 132* null builtin function dcl 72 ref 94 94 210 nxt_rcw based bit level 2 packed packed unaligned dcl 82 set ref 176 out_str 000133 automatic varying char(136) dcl 58 set ref 122* 123 123 134 174* 175* output_module 26 based fixed bin(17,0) level 2 dcl 1-24 set ref 133* pf_iocbp 114 based pointer level 2 dcl 6-75 set ref 94* 101* 109* 118* 155* 156* 165* 175* 179* 183* 196* 204* 208* 210* pf_name 116 based char(32) level 2 dcl 6-75 set ref 93* 94 109* 118* 141* 142* pt_pch 4 based fixed bin(17,0) level 2 dcl 1-24 set ref 131* ptr builtin function dcl 72 ref 153 171 194 ql 5(18) based fixed bin(18,0) level 2 packed packed unsigned unaligned dcl 76 ref 193 qu 5 based fixed bin(18,0) level 2 packed packed unsigned unaligned dcl 76 ref 194 queue 3 based fixed bin(17,0) level 2 dcl 1-24 set ref 130* rcode parameter fixed bin(35,0) dcl 66 set ref 90 92* 97* 103* rcw based structure level 1 packed packed unaligned dcl 82 regp parameter pointer dcl 68 ref 161 164 165 168 184 184 193 194 regs based structure level 1 dcl 76 rtrim builtin function dcl 72 ref 94 122 122 substr builtin function dcl 72 set ref 134* tally 0(24) based bit(12) level 2 packed packed unaligned dcl 3-7 ref 151 169 time_str 000176 automatic char(24) packed unaligned dcl 59 set ref 108* 109* 117* 118* 163* 165* 179* tolts_info based structure level 1 dcl 6-75 tolts_infop 000042 external static pointer dcl 6-71 ref 93 93 94 94 94 100 101 107 109 109 109 109 118 118 118 118 135 137 139 141 141 142 142 142 153 155 156 164 165 165 175 179 179 183 184 188 194 196 203 204 205 207 208 209 210 tolts_qttyio_$rs 000032 constant entry external dcl 50 ref 142 tolts_util_$bci_to_ascii 000040 constant entry external dcl 52 ref 174 uacct 000123 automatic char(32) packed unaligned dcl 57 set ref 121* uname 000103 automatic char(32) packed unaligned dcl 57 set ref 121* 122 unique_chars_ 000024 constant entry external dcl 47 ref 93 uproj 000113 automatic char(32) packed unaligned dcl 57 set ref 121* 122 user_info_ 000026 constant entry external dcl 48 ref 121 version based fixed bin(17,0) level 2 dcl 1-24 set ref 127* x based bit(18) array level 2 packed packed unaligned dcl 76 ref 165 184 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ABORT_SES_FROM_HOST internal static fixed bin(9,0) initial unsigned dcl 2-114 BIN_DATA_FROM_HOST internal static fixed bin(9,0) initial unsigned dcl 2-112 CON_DATA_FROM_HOST internal static fixed bin(9,0) initial unsigned dcl 2-110 DATA_FROM_HOST internal static fixed bin(9,0) initial unsigned dcl 2-96 DATA_FROM_MCA internal static fixed bin(9,0) initial unsigned dcl 2-102 DP_PLOT internal static fixed bin(17,0) initial dcl 1-81 DP_PRINT internal static fixed bin(17,0) initial dcl 1-81 DP_PUNCH internal static fixed bin(17,0) initial dcl 1-81 REQ_DATA_FROM_HOST internal static fixed bin(9,0) initial unsigned dcl 2-104 SEEK internal static fixed bin(9,0) initial unsigned dcl 2-108 STATUS_FROM_MCA internal static fixed bin(9,0) initial unsigned dcl 2-106 WRITE_CONSOLE internal static fixed bin(9,0) initial unsigned dcl 2-98 WRITE_READ_CONSOLE internal static fixed bin(9,0) initial unsigned dcl 2-100 colts_info_ptr automatic pointer dcl 6-72 data_header_ptr automatic pointer dcl 2-15 dial_manager_arg_version_2 internal static fixed bin(17,0) initial dcl 7-10 dial_manager_arg_version_3 internal static fixed bin(17,0) initial dcl 7-11 dial_manager_arg_version_4 internal static fixed bin(17,0) initial dcl 7-12 dmap automatic pointer dcl 6-74 dprint_arg_version_1 internal static fixed bin(17,0) initial dcl 1-69 dprint_arg_version_10 internal static fixed bin(17,0) initial dcl 1-78 dprint_arg_version_2 internal static fixed bin(17,0) initial dcl 1-70 dprint_arg_version_3 internal static fixed bin(17,0) initial dcl 1-71 dprint_arg_version_4 internal static fixed bin(17,0) initial dcl 1-72 dprint_arg_version_5 internal static fixed bin(17,0) initial dcl 1-73 dprint_arg_version_6 internal static fixed bin(17,0) initial dcl 1-74 dprint_arg_version_7 internal static fixed bin(17,0) initial dcl 1-75 dprint_arg_version_8 internal static fixed bin(17,0) initial dcl 1-76 dprint_arg_version_9 internal static fixed bin(17,0) initial dcl 1-77 firm_ld_io_type internal static fixed bin(17,0) initial dcl 6-63 idcwp automatic pointer dcl 4-19 imess based structure level 1 dcl 5-21 imp automatic pointer dcl 5-19 io_info_ptr automatic pointer dcl 6-73 io_param_blk_ptr automatic pointer dcl 2-19 isp automatic pointer dcl 5-5 itr_io_type internal static fixed bin(17,0) initial dcl 6-60 mca_dcw_list_ptr automatic pointer dcl 2-21 mca_io_type internal static fixed bin(17,0) initial dcl 6-68 mca_work_space based structure level 1 unaligned dcl 2-25 mca_work_space_ptr automatic pointer dcl 2-23 mdc_io_type internal static fixed bin(17,0) initial dcl 6-66 mdr_io_type internal static fixed bin(17,0) initial dcl 6-61 mhp_io_type internal static fixed bin(17,0) initial dcl 6-67 mtar_io_type internal static fixed bin(17,0) initial dcl 6-62 mtc_io_type internal static fixed bin(17,0) initial dcl 6-64 mtg_io_type internal static fixed bin(17,0) initial dcl 6-65 pcw based structure level 1 dcl 4-6 pcwp automatic pointer dcl 4-4 polt_io_type internal static fixed bin(17,0) initial dcl 6-59 rspd_io_type internal static fixed bin(17,0) initial dcl 6-69 tdcw based structure level 1 dcl 3-14 tdcwp automatic pointer dcl 3-4 NAMES DECLARED BY EXPLICIT CONTEXT. clean_up 001570 constant entry internal dcl 201 ref 104 120 close 000501 constant entry external dcl 115 open 000165 constant entry external dcl 90 snap 001055 constant entry external dcl 148 tolts_file_util_ 000153 constant entry external dcl 31 wdump 001163 constant entry external dcl 161 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 2042 2106 1636 2052 Length 2460 1636 44 336 204 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME tolts_file_util_ 442 external procedure is an external procedure. clean_up internal procedure shares stack frame of external procedure tolts_file_util_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME tolts_file_util_ 000100 i tolts_file_util_ 000101 first tolts_file_util_ 000102 c_len tolts_file_util_ 000103 uname tolts_file_util_ 000113 uproj tolts_file_util_ 000123 uacct tolts_file_util_ 000133 out_str tolts_file_util_ 000176 time_str tolts_file_util_ 000204 code tolts_file_util_ 000206 dptr tolts_file_util_ 000210 genp tolts_file_util_ 000212 format tolts_file_util_ 000214 dpap tolts_file_util_ 000216 dprint_arg_buf tolts_file_util_ 000540 data_size_1 tolts_file_util_ 000541 data_size_2 tolts_file_util_ 000542 dcwp tolts_file_util_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_e_as alloc_char_temp cat_realloc_chars call_ext_out_desc call_ext_out return_mac shorten_stack ext_entry floor_fx2 divide_fx1 THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. clock_ date_time_ dprint_ dump_segment_ ioa_$ioa_switch iox_$attach_name iox_$close iox_$detach_iocb iox_$open tolts_qttyio_$rs tolts_util_$bci_to_ascii unique_chars_ user_info_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. tolts_infop LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 2 17 000146 31 000152 90 000161 92 000173 93 000175 94 000242 96 000344 97 000347 98 000351 100 000352 101 000357 102 000377 103 000401 104 000403 105 000404 107 000405 108 000412 109 000435 111 000477 115 000500 117 000507 118 000533 120 000575 121 000576 122 000615 123 000673 125 000711 126 000713 127 000715 128 000717 129 000720 130 000721 131 000723 132 000725 133 000726 134 000727 135 000741 137 000753 139 000761 141 000766 142 001012 144 001051 148 001052 150 001063 151 001067 152 001072 153 001075 154 001103 155 001105 156 001123 157 001160 161 001161 163 001171 164 001215 165 001225 168 001267 169 001274 170 001277 171 001300 172 001305 173 001311 174 001323 175 001354 176 001401 177 001414 178 001415 179 001416 183 001445 184 001466 185 001504 186 001510 187 001512 188 001514 189 001516 191 001517 192 001523 193 001525 194 001530 196 001535 197 001567 201 001570 203 001571 204 001576 205 001606 207 001612 208 001614 209 001624 210 001630 213 001632 ----------------------------------------------------------- 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