COMPILATION LISTING OF SEGMENT analyze_ioi_istat_ Compiled by: Multics PL/I Compiler, Release 27d, of October 11, 1982 Compiled at: Honeywell LISD Phoenix, System M Compiled on: 11/15/82 1634.8 mst Mon 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 /* ANALYZE_IOI_ISTAT_ - Procedures to decode ioi status structures */ 12 /* Written March 1980 by Larry Johnson */ 13 14 analyze_ioi_istat_: proc (arg_isp, arg_tablep, arg_message); 15 16 /* Parameters */ 17 18 dcl arg_isp ptr; 19 dcl arg_imp ptr; 20 dcl arg_tablep ptr; 21 dcl arg_message char (*) var; 22 23 /* External */ 24 25 dcl analyze_device_stat_$rsnnl entry (char (*) var, ptr, bit (72), bit (18)); 26 dcl ioa_$rsnnl entry options (variable); 27 28 dcl (bin, substr) builtin; 29 30 /* entry for decoding the istat (long) structure */ 31 32 isp = arg_isp; 33 call worker ((istat.completion), istat.level, (istat.iom_stat)); 34 return; 35 36 /* entry for decoding the imess (short) sturcture */ 37 38 analyze_ioi_imess_: entry (arg_imp, arg_tablep, arg_message); 39 40 imp = arg_imp; 41 call worker (imess.completion, bin (imess.level), (imess.status)); 42 return; 43 44 /* procedure that does the work */ 45 46 worker: proc (comp, level, status); 47 48 dcl 1 comp like istat.completion; 49 dcl level fixed bin (3); 50 dcl status bit (72); 51 52 arg_message = ""; 53 if level = 7 then 54 call ioa_$rsnnl ("Special status: ^.3b", arg_message, (0), substr (status, 1, 36)); 55 else if level = 1 then 56 call ioa_$rsnnl ("System fault: ^.3b", arg_message, (0), substr (status, 1, 36)); 57 else if level = 3 | level = 5 then do; 58 if comp.time_out then arg_message = "Timeout"; 59 else call analyze_device_stat_$rsnnl (arg_message, arg_tablep, status, ("0"b)); 60 end; 61 else call ioa_$rsnnl ("Unknown level ^d status : ^.3b", level, substr (status, 1, 36)); 62 return; 63 64 end worker; 65 1 1 1 2 /* Begin include file ...... ioi_stat.incl.pl1 */ 1 3 /* Last modified 3/24/75 by Noel I. Morris */ 1 4 1 5 dcl isp ptr; /* pointer to status structure */ 1 6 1 7 dcl 1 istat based (isp) aligned, /* I/O Interfacer status structure */ 1 8 2 completion, /* completion flags */ 1 9 (3 st bit (1), /* "1"b if status returned */ 1 10 3 er bit (1), /* "1"b if status indicates error condition */ 1 11 3 run bit (1), /* "1"b if channel still running */ 1 12 3 time_out bit (1)) unal, /* "1"b if time-out occurred */ 1 13 2 level fixed bin (3), /* IOM interrupt level */ 1 14 2 offset fixed bin (18), /* DCW list offset */ 1 15 2 absaddr fixed bin (24), /* absolute address of workspace */ 1 16 2 iom_stat bit (72), /* IOM status */ 1 17 2 lpw bit (72); /* LPW residue */ 1 18 1 19 dcl imp ptr; /* pointer to message structure */ 1 20 1 21 dcl 1 imess based (imp) aligned, /* I/O Interfacer event message structure */ 1 22 (2 completion like istat.completion, /* completion flags */ 1 23 2 pad bit (11), 1 24 2 level bit (3), /* interrupt level */ 1 25 2 offset bit (18), /* DCW list offset */ 1 26 2 status bit (36)) unal; /* first 36 bits of status */ 1 27 1 28 /* End of include file ...... ioi_stat.incl.pl1 */ 1 29 66 67 68 end analyze_ioi_istat_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/15/82 1505.3 analyze_ioi_istat_.pl1 >dumps>old>recomp>analyze_ioi_istat_.pl1 66 1 08/17/79 2215.0 ioi_stat.incl.pl1 >ldd>include>ioi_stat.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. analyze_device_stat_$rsnnl 000010 constant entry external dcl 25 ref 59 arg_imp parameter pointer dcl 19 ref 38 40 arg_isp parameter pointer dcl 18 ref 14 32 arg_message parameter varying char dcl 21 set ref 14 38 52* 53* 55* 58* 59* arg_tablep parameter pointer dcl 20 set ref 14 38 59* bin builtin function dcl 28 ref 41 41 comp parameter structure level 1 packed unaligned dcl 48 ref 46 completion based structure level 2 in structure "istat" dcl 1-7 in procedure "analyze_ioi_istat_" ref 33 completion based structure level 2 in structure "imess" packed unaligned dcl 1-21 in procedure "analyze_ioi_istat_" set ref 41* imess based structure level 1 dcl 1-21 imp 000102 automatic pointer dcl 1-19 set ref 40* 41 41 41 41 ioa_$rsnnl 000012 constant entry external dcl 26 ref 53 55 61 iom_stat 4 based bit(72) level 2 dcl 1-7 ref 33 isp 000100 automatic pointer dcl 1-5 set ref 32* 33 33 33 istat based structure level 1 dcl 1-7 level 0(15) based bit(3) level 2 in structure "imess" packed unaligned dcl 1-21 in procedure "analyze_ioi_istat_" ref 41 41 level 1 based fixed bin(3,0) level 2 in structure "istat" dcl 1-7 in procedure "analyze_ioi_istat_" set ref 33* level parameter fixed bin(3,0) dcl 49 in procedure "worker" set ref 46 53 55 57 57 61* status 1 based bit(36) level 2 in structure "imess" packed unaligned dcl 1-21 in procedure "analyze_ioi_istat_" ref 41 status parameter bit(72) unaligned dcl 50 in procedure "worker" set ref 46 53 53 55 55 59* 61 61 substr builtin function dcl 28 ref 53 53 55 55 61 61 time_out 0(03) parameter bit(1) level 2 packed unaligned dcl 48 ref 58 NAMES DECLARED BY EXPLICIT CONTEXT. analyze_ioi_imess_ 000126 constant entry external dcl 38 analyze_ioi_istat_ 000047 constant entry external dcl 14 worker 000167 constant entry internal dcl 46 ref 33 41 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 466 502 410 476 Length 670 410 14 151 56 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME analyze_ioi_istat_ 128 external procedure is an external procedure. worker internal procedure shares stack frame of external procedure analyze_ioi_istat_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME analyze_ioi_istat_ 000100 isp analyze_ioi_istat_ 000102 imp analyze_ioi_istat_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc return ext_entry_desc THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. analyze_device_stat_$rsnnl ioa_$rsnnl NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 14 000043 32 000062 33 000066 34 000123 38 000124 40 000141 41 000145 42 000166 46 000167 52 000171 53 000174 55 000236 57 000302 58 000306 59 000324 60 000355 61 000356 62 000407 ----------------------------------------------------------- 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