COMPILATION LISTING OF SEGMENT card_dim Compiled by: Multics PL/I Compiler, Release 27d, of October 11, 1982 Compiled at: Honeywell LISD Phoenix, System M Compiled on: 11/15/82 1558.5 mst Mon Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4* * * 5* *********************************************************** */ 6 /* CARD_DIM - This the the common code for all card I/O DIMs. */ 7 /* modified from earlier code by Noel I. Morris, June 1975. */ 8 9 10 /* ****************************************************** 11* * * 12* * * 13* * Copyright (c) 1972 by Massachusetts Institute of * 14* * Technology and Honeywell Information Systems, Inc. * 15* * * 16* * * 17* ****************************************************** */ 18 19 20 card_attach: proc (ioname, type, ioname2, mode, iostatus, sdb_ptr); 21 22 dcl ioname char (*), /* name used in attachment */ 23 type char (*), /* name of DIM being attached */ 24 ioname2 char (*), /* name of DIM being attached to */ 25 mode char (*), /* mode of attachment */ 26 iostatus bit (72) aligned; /* status bits */ 27 28 dcl barea area ((16374)) based (areaptr), /* allocation area */ 29 ap ptr; /* automatic pointer to area */ 30 31 dcl error_table_$ionmat fixed bin (35) ext, 32 error_table_$no_room_for_dsb fixed bin (35) ext; 33 34 dcl get_system_free_area_ entry (ptr), 35 ios_$setsize entry (char (*) aligned, fixed bin, bit (72) aligned), 36 ios_$order entry (char (*) aligned, char (*), ptr, bit (72) aligned), 37 ios_$changemode entry (char (*) aligned, char (*), char (*), bit (72) aligned); 38 39 dcl (addr, null, substr, unspec) builtin; 40 41 /* */ 42 1 1 1 2 /* Begin include file ...... card_sdb.incl.pl1 */ 1 3 1 4 dcl sdb_ptr ptr; /* pointer to stream data block */ 1 5 1 6 dcl 1 SDB aligned based (sdb_ptr), 1 7 2 outer_module_name char (32), 1 8 2 attachment_list_ptr ptr, /* ptr to list of stream names to which this SDB is attached */ 1 9 2 stream_name, 1 10 3 next_stream_ptr ptr, /* always null, single attachments only */ 1 11 3 name_size fixed bin (17), /* length of stream name */ 1 12 3 stream char (32), /* the stream to which this SDB is attached */ 1 13 2 areaptr ptr, /* pointer to allocation area for SDB */ 1 14 2 modes bit (36); /* mode bits */ 1 15 1 16 /* End of include file ...... card_sdb.incl.pl1 */ 1 17 43 44 45 /* */ 46 47 /* This is the "attach" entry point for all card pseudo-DIMs (i.e. raw, mcc, viipunch, & flipper). */ 48 49 iostatus = "0"b; 50 51 if sdb_ptr ^= null () then do; /* previous attachment indicated */ 52 substr (iostatus, 1, 36) = unspec (error_table_$ionmat); 53 return; 54 end; 55 56 call get_system_free_area_ (ap); 57 allocate SDB in (ap -> barea) set (sdb_ptr); 58 if sdb_ptr = null () then do; 59 substr (iostatus, 1, 36) = unspec (error_table_$no_room_for_dsb); 60 return; 61 end; 62 63 outer_module_name = type; 64 attachment_list_ptr = addr (stream_name); 65 next_stream_ptr = null (); 66 name_size = 32; 67 stream = ioname2; 68 areaptr = ap; 69 modes = "0"b; /* Clear all mode settings. */ 70 71 call ios_$setsize (stream, 972, iostatus); /* Insure element is one card. */ 72 73 return; 74 75 76 77 78 /* This is the "detach" entry point for all card pseudo-DIMs. */ 79 80 card_detach: entry (sdb_ptr, ioname2, mode, iostatus); 81 82 free SDB in (areaptr -> barea); 83 substr (iostatus, 52, 1) = "1"b; /* Your detach bit */ 84 85 return; 86 87 /* */ 88 89 card_order: entry (sdb_ptr, order, infop, iostatus); 90 91 dcl order char (*), /* order to be executed */ 92 infop ptr; /* pointer to info for order */ 93 94 95 call ios_$order (stream, order, infop, iostatus);/* Relay the call. */ 96 97 return; 98 99 100 101 card_changemode: entry (sdb_ptr, new_mode, old_mode, iostatus); 102 103 dcl new_mode char (*), /* new mode setting */ 104 old_mode char (*); /* previous mode setting */ 105 106 107 call ios_$changemode (stream, new_mode, old_mode, iostatus); 108 /* Relay the call. */ 109 return; 110 111 112 113 end card_attach; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/15/82 1458.6 card_dim.pl1 >dumps>old>recomp>card_dim.pl1 43 1 09/09/75 1333.7 card_sdb.incl.pl1 >ldd>include>card_sdb.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. SDB based structure level 1 dcl 1-6 set ref 57 82 addr builtin function dcl 39 ref 64 ap 000100 automatic pointer dcl 28 set ref 56* 57 68 areaptr 26 based pointer level 2 dcl 1-6 set ref 68* 82 attachment_list_ptr 10 based pointer level 2 dcl 1-6 set ref 64* barea based area(16374) dcl 28 ref 57 82 error_table_$ionmat 000010 external static fixed bin(35,0) dcl 31 ref 52 error_table_$no_room_for_dsb 000012 external static fixed bin(35,0) dcl 31 ref 59 get_system_free_area_ 000014 constant entry external dcl 34 ref 56 infop parameter pointer dcl 91 set ref 89 95* ioname parameter char unaligned dcl 22 ref 20 ioname2 parameter char unaligned dcl 22 ref 20 67 80 ios_$changemode 000022 constant entry external dcl 34 ref 107 ios_$order 000020 constant entry external dcl 34 ref 95 ios_$setsize 000016 constant entry external dcl 34 ref 71 iostatus parameter bit(72) dcl 22 set ref 20 49* 52* 59* 71* 80 83* 89 95* 101 107* mode parameter char unaligned dcl 22 ref 20 80 modes 30 based bit(36) level 2 dcl 1-6 set ref 69* name_size 14 based fixed bin(17,0) level 3 dcl 1-6 set ref 66* new_mode parameter char unaligned dcl 103 set ref 101 107* next_stream_ptr 12 based pointer level 3 dcl 1-6 set ref 65* null builtin function dcl 39 ref 51 58 65 old_mode parameter char unaligned dcl 103 set ref 101 107* order parameter char unaligned dcl 91 set ref 89 95* outer_module_name based char(32) level 2 dcl 1-6 set ref 63* sdb_ptr parameter pointer dcl 1-4 set ref 20 51 57* 58 63 64 64 65 66 67 68 69 71 80 82 82 89 95 101 107 stream 15 based char(32) level 3 dcl 1-6 set ref 67* 71* 95* 107* stream_name 12 based structure level 2 dcl 1-6 set ref 64 substr builtin function dcl 39 set ref 52* 59* 83* type parameter char unaligned dcl 22 ref 20 63 unspec builtin function dcl 39 ref 52 59 NAMES DECLARED BY EXPLICIT CONTEXT. card_attach 000020 constant entry external dcl 20 card_changemode 000312 constant entry external dcl 101 card_detach 000200 constant entry external dcl 80 card_order 000236 constant entry external dcl 89 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 516 542 371 526 Length 734 371 24 155 125 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME card_attach 119 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME card_attach 000100 ap card_attach THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return ext_entry_desc alloc_based free_based THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. get_system_free_area_ ios_$changemode ios_$order ios_$setsize THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$ionmat error_table_$no_room_for_dsb LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 20 000012 49 000055 51 000060 52 000064 53 000066 56 000067 57 000075 58 000102 59 000106 60 000111 63 000112 64 000120 65 000122 66 000126 67 000132 68 000142 69 000144 71 000147 73 000172 80 000173 82 000223 83 000225 85 000230 89 000231 95 000256 97 000307 101 000310 107 000337 109 000370 ----------------------------------------------------------- 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