COMPILATION LISTING OF SEGMENT iod_set_line Compiled by: Multics PL/I Compiler, Release 31a, of October 12, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 10/28/88 1340.4 mst Fri Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1985 * 6* * * 7* *********************************************************** */ 8 9 /* format: style4,indattr,ifthen,^indproc */ 10 11 iod_set_line: proc; 12 13 /* Command to patch the line number given for a device in iod_tables */ 14 15 /****^ HISTORY COMMENTS: 16* 1) change(85-02-06,Homan), approve(87-04-06,MCR7656), 17* audit(87-07-08,Beattie), install(87-08-04,MR12.1-1055): 18* Add new command to change line number for a device in the 19* iod_working_tables. 20* 2) change(88-06-03,Brunelle), approve(88-06-03,MCR7911), 21* audit(88-10-17,Wallman), install(88-10-28,MR12.2-1199): 22* Upgraded to handle version 5 I/O daemon tables. 23* END HISTORY COMMENTS */ 24 25 ithp = null (); 26 on cleanup 27 call cleaner; 28 29 call cu_$arg_list_ptr (arg_list_ptr); 30 call process_args; 31 32 call patch_it; 33 34 EXIT: 35 call cleaner; 36 37 return; 38 39 cleaner: proc; 40 41 if ithp ^= null () then 42 call terminate_file_ (ithp, 0, TERM_FILE_TERM, (0)); 43 44 end cleaner; 45 46 process_args: proc; 47 48 daemon_dir = ">daemon_dir_dir>io_daemon_dir"; 49 brief = "0"b; 50 51 call cu_$arg_count_rel (nargs, arg_list_ptr, code); 52 if code ^= 0 then do; 53 call com_err_ (code, ME); 54 goto EXIT; 55 end; 56 57 if nargs < 2 then do; 58 call com_err_ (error_table_$wrong_no_of_args, ME, "^/Usage: ^a Device Line {-control_args}", ME); 59 goto EXIT; 60 end; 61 62 call cu_$arg_ptr_rel (1, argp, argl, (0), arg_list_ptr); 63 device_name = arg; 64 call cu_$arg_ptr_rel (2, argp, argl, (0), arg_list_ptr); 65 line_name = arg; 66 67 argN = 3; 68 do while (argN <= nargs); 69 call cu_$arg_ptr_rel (argN, argp, argl, (0), arg_list_ptr); 70 if arg = "-directory" | arg = "-dr" then do; 71 argN = argN + 1; 72 if argN > nargs then do; 73 call com_err_ (error_table_$noarg, ME, "Argument missing after -directory."); 74 goto EXIT; 75 end; 76 call cu_$arg_ptr_rel (argN, argp, argl, (0), arg_list_ptr); 77 call absolute_pathname_ (arg, daemon_dir, code); 78 if code ^= 0 then do; 79 call com_err_ (code, ME, "^a", arg); 80 goto EXIT; 81 end; 82 end; 83 else if arg = "-brief" | arg = "-bf" then 84 brief = "1"b; 85 else do; 86 call com_err_ (error_table_$bad_arg, ME, "^a", arg); 87 goto EXIT; 88 end; 89 argN = argN + 1; 90 end; 91 92 end process_args; 93 94 patch_it: proc; 95 96 dcl i fixed bin; 97 98 call initiate_file_ (daemon_dir, "iod_working_tables", RW_ACCESS, ithp, (0), code); 99 if code ^= 0 then do; 100 call com_err_ (code, ME, "^a", pathname_ (daemon_dir, "iod_working_tables")); 101 goto EXIT; 102 end; 103 104 idtp = ptr (ithp, iod_tables_hdr.device_tab_offset); 105 106 do i = 1 to iod_device_tab.n_devices; 107 idtep = addr (iod_device_tab.entries (i)); 108 if idte.dev_id = device_name then do; 109 if idte.attach_type ^= 2 then do; 110 call com_err_ (0, ME, "Device ^a does not have a ""line:"" statement, or uses ""line: variable"".", 111 device_name); 112 goto EXIT; 113 end; 114 115 if ^brief then 116 call ioa_ ("Line changed from ^a to ^a for device ^a.", 117 requote_string_ (rtrim (idte.attach_name)), requote_string_ (rtrim (line_name)), device_name); 118 idte.attach_name = line_name; 119 goto EXIT; 120 end; 121 122 end; 123 124 call com_err_ (0, ME, "Device ^a not found in ^a.", device_name, pathname_ (daemon_dir, "iod_working_tables")); 125 126 end patch_it; 127 128 /* External entries */ 129 130 dcl cu_$arg_list_ptr entry (ptr); 131 dcl cu_$arg_count_rel entry (fixed bin, ptr, fixed bin (35)); 132 dcl cu_$arg_ptr_rel entry (fixed bin, ptr, fixed bin (21), fixed bin (35), ptr); 133 dcl com_err_ entry () options (variable); 134 dcl ioa_ entry () options (variable); 135 dcl initiate_file_ entry (char (*), char (*), bit (*), ptr, fixed bin (24), fixed bin (35)); 136 dcl terminate_file_ entry (ptr, fixed bin (24), bit (*), fixed bin (35)); 137 dcl absolute_pathname_ entry (char (*), char (*), fixed bin (35)); 138 dcl requote_string_ entry (char (*)) returns (char (*)); 139 dcl pathname_ entry (char (*), char (*)) returns (char (168)); 140 141 /* Builtins */ 142 143 dcl (addr, null, ptr, rtrim) builtin; 144 145 /* External static */ 146 147 dcl error_table_$wrong_no_of_args fixed bin (35) ext static; 148 dcl error_table_$bad_arg fixed bin (35) ext static; 149 dcl error_table_$noarg fixed bin (35) ext static; 150 151 /* Automatic variables */ 152 153 dcl arg_list_ptr ptr; 154 dcl argp ptr; 155 dcl argl fixed bin (21); 156 dcl argN fixed bin; 157 dcl nargs fixed bin; 158 dcl code fixed bin (35); 159 dcl brief bit (1); 160 dcl daemon_dir char (168); 161 dcl device_name char (32); 162 dcl line_name char (32); 163 /* Based variables */ 164 165 dcl arg char (argl) based (argp); 166 167 /* Constants */ 168 169 dcl ME char (32) int static options (constant) init ("iod_set_line"); 170 171 /* Conditions */ 172 173 dcl cleanup condition; 174 /* BEGIN INCLUDE FILE ... access_mode_values.incl.pl1 1 2* 1 3* Values for the "access mode" argument so often used in hardcore 1 4* James R. Davis 26 Jan 81 MCR 4844 1 5* Added constants for SM access 4/28/82 Jay Pattin 1 6* Added text strings 03/19/85 Chris Jones 1 7**/ 1 8 1 9 1 10 /* format: style4,delnl,insnl,indattr,ifthen,dclind10 */ 1 11 dcl ( 1 12 N_ACCESS init ("000"b), 1 13 R_ACCESS init ("100"b), 1 14 E_ACCESS init ("010"b), 1 15 W_ACCESS init ("001"b), 1 16 RE_ACCESS init ("110"b), 1 17 REW_ACCESS init ("111"b), 1 18 RW_ACCESS init ("101"b), 1 19 S_ACCESS init ("100"b), 1 20 M_ACCESS init ("010"b), 1 21 A_ACCESS init ("001"b), 1 22 SA_ACCESS init ("101"b), 1 23 SM_ACCESS init ("110"b), 1 24 SMA_ACCESS init ("111"b) 1 25 ) bit (3) internal static options (constant); 1 26 1 27 /* The following arrays are meant to be accessed by doing either 1) bin (bit_value) or 1 28* 2) divide (bin_value, 2) to come up with an index into the array. */ 1 29 1 30 dcl SEG_ACCESS_MODE_NAMES (0:7) init ("null", "W", "E", "EW", "R", "RW", "RE", "REW") char (4) internal 1 31 static options (constant); 1 32 1 33 dcl DIR_ACCESS_MODE_NAMES (0:7) init ("null", "A", "M", "MA", "S", "SA", "SM", "SMA") char (4) internal 1 34 static options (constant); 1 35 1 36 dcl ( 1 37 N_ACCESS_BIN init (00000b), 1 38 R_ACCESS_BIN init (01000b), 1 39 E_ACCESS_BIN init (00100b), 1 40 W_ACCESS_BIN init (00010b), 1 41 RW_ACCESS_BIN init (01010b), 1 42 RE_ACCESS_BIN init (01100b), 1 43 REW_ACCESS_BIN init (01110b), 1 44 S_ACCESS_BIN init (01000b), 1 45 M_ACCESS_BIN init (00010b), 1 46 A_ACCESS_BIN init (00001b), 1 47 SA_ACCESS_BIN init (01001b), 1 48 SM_ACCESS_BIN init (01010b), 1 49 SMA_ACCESS_BIN init (01011b) 1 50 ) fixed bin (5) internal static options (constant); 1 51 1 52 /* END INCLUDE FILE ... access_mode_values.incl.pl1 */ 174 175 /* BEGIN INCLUDE FILE...iod_device_tab.incl.pl1 */ 2 2 2 3 2 4 2 5 /****^ HISTORY COMMENTS: 2 6* 1) change(88-01-27,Brunelle), approve(), audit(), install(): 2 7* Ancient History 2 8* Created by J. Stern, January 1975 2 9* Modified by J. C. Whitmore April 1978 2 10* 2) change(88-02-18,Brunelle), approve(88-08-31,MCR7911), 2 11* audit(88-09-29,Wallman), install(88-10-28,MR12.2-1199): 2 12* Added comment, head_sheet, tail_sheet, paper_type, forms_table, 2 13* forms_validation, font_dir variables to device entries in support of laser 2 14* printers. Changed driver_module, args to text_offset instead of strings. 2 15* Added comment, default_form to minor device entries. Changed args in 2 16* minor device entry to text_offset instead of string. 2 17* END HISTORY COMMENTS */ 2 18 2 19 2 20 /* format: style4 */ 2 21 2 22 dcl idtp ptr; /* ptr to device table */ 2 23 dcl 1 iod_device_tab aligned based (idtp), /* IO daemon device table */ 2 24 2 n_devices fixed bin, /* number of major devices */ 2 25 2 pad fixed bin, 2 26 2 entries (1 refer (iod_device_tab.n_devices)) like idte; /* entries for major devices */ 2 27 2 28 dcl idtep ptr; /* major device entry pointer */ 2 29 dcl 1 idte aligned based (idtep), /* major device entry */ 2 30 2 31 /* static info associated with device from the parms file */ 2 32 2 33 2 dev_id char (24), /* major device name */ 2 34 2 comment unaligned like text_offset, /* comment to apply to the major device */ 2 35 2 attach_name char (32), /* channel name or dial id for device attachment */ 2 36 2 attach_type fixed bin, /* indicates meaning of attach_name */ 2 37 /* see ATTACH_TYPE_XX in iod_constants.incl.pl1 */ 2 38 2 ctl_attach_name char (32), /* channel, dial id, or source for control terminal attachment */ 2 39 2 ctl_attach_type fixed bin, /* indicates meaning of ctl_attach_name */ 2 40 /* see CTL_ATTACH_TYPE_XX in iod_constants.incl.pl1 */ 2 41 2 driver_module unaligned like text_offset, /* offset to pathname of program to drive device */ 2 42 2 head_sheet unaligned like text_offset, /* offset to name of head_sheet program to use */ 2 43 2 tail_sheet unaligned like text_offset, /* offset to name of tail_sheet program to use */ 2 44 2 paper_type fixed bin, /* -1=default , 1=continuous form, 2=single sheet */ 2 45 2 forms_table unaligned like text_offset, /* offset to forms table to apply to this queue group */ 2 46 2 forms_validation unaligned like text_offset, /* offset to name of routine for forms validation */ 2 47 2 font_dir unaligned like text_offset, /* offset to location of downloadable fonts */ 2 48 2 args unaligned like text_offset, /* offset to arguments to driver program */ 2 49 2 first_minor fixed bin, /* index of first minor device for this major device */ 2 50 2 last_minor fixed bin, /* index of last minor device for this major device */ 2 51 2 52 /* dynamic info associated with driver of this device */ 2 53 2 54 2 lock bit (36), /* lock id of current driver */ 2 55 2 process_id bit (36); /* process id of current driver */ 2 56 2 57 dcl mdtp ptr; 2 58 dcl 1 minor_device_tab aligned based (mdtp), 2 59 2 n_minor fixed bin, /* number of minor devices */ 2 60 2 pad fixed bin, 2 61 2 entries (1 refer (minor_device_tab.n_minor)) like mdte; 2 62 2 63 dcl mdtep ptr; /* minor device entry pointer */ 2 64 dcl 1 mdte aligned based (mdtep), /* minor device entry */ 2 65 2 66 /* static info associated with device from the parms file */ 2 67 2 68 2 dev_id char (24), /* minor device name */ 2 69 2 comment unaligned like text_offset, /* comment to apply to the minor device */ 2 70 2 default_form unaligned like text_offset, /* offset to default -form string for minor device */ 2 71 2 default_dev_class fixed bin, /* default device class index */ 2 72 2 major_index fixed bin, /* subscript of corresponding major device entry */ 2 73 2 args unaligned like text_offset, /* offset to arguments to driver program */ 2 74 2 75 /* dynamic info associated with driver of this device */ 2 76 2 77 2 dev_class_index fixed bin, /* index of device class table entry */ 2 78 2 current_request fixed bin (18), /* offset of current request descriptor */ 2 79 2 driver_ptr ptr, /* ptr to driver status segment */ 2 80 2 active fixed bin, /* 1 if active, 0 if not active */ 2 81 2 seq_id fixed bin (35); /* sequence number of last request */ 2 82 2 83 /* named constants for attach_type, ctl_attach_type and paper_type are found 2 84* in iod_constants.incl.pl1 */ 2 85 2 86 /* END INCLUDE FILE...iod_device_tab.incl.pl1 */ 175 176 /* BEGIN INCLUDE FILE ... iod_tables_hdr.incl.pl1 */ 3 2 3 3 3 4 3 5 /****^ HISTORY COMMENTS: 3 6* 1) change(88-01-27,Brunelle), approve(), audit(), install(): 3 7* Ancient History 3 8* Created by J. Stern, 1/20/75 3 9* Modified by J. C. Whitmore April 1978 for enhancements 3 10* Modified by J. C. Whitmore, 10/78, for version 3 iod_tables format. 3 11* Modified by E. N. Kittlitz, 6/81, for version 4 iod_tables with expanded 3 12* q_group_tab 3 13* 2) change(88-02-18,Brunelle), approve(88-08-31,MCR7911), 3 14* audit(88-09-29,Wallman), install(88-10-28,MR12.2-1199): 3 15* Change version number to reflect changes in q_group_tab and 3 16* iod_device_tab for laser printer support. Added font tables. 3 17* END HISTORY COMMENTS */ 3 18 3 19 3 20 /* format: style4 */ 3 21 3 22 dcl ithp ptr; /* ptr to io daemon dables and it's header */ 3 23 dcl 1 iod_tables_hdr aligned based (ithp), /* header of data segment compiled by iod_table_compiler */ 3 24 2 version char (8), /* version of this structure */ 3 25 2 date_time_compiled fixed bin (71), 3 26 2 grace_time fixed bin (71), /* grace time before deleting finished segment */ 3 27 2 max_queues fixed bin (17), /* default number of priority queues per queue group */ 3 28 2 line_tab_offset fixed bin (18), /* offset of line id table */ 3 29 2 device_tab_offset fixed bin (18), /* offset of device table */ 3 30 2 minor_device_tab_offset fixed bin (18), /* offset of minor device table */ 3 31 2 dev_class_tab_offset fixed bin (18), /* offset of device class table */ 3 32 2 q_group_tab_offset fixed bin (18), /* offset of queue group table */ 3 33 2 forms_info_tab_offset fixed bin (18), /* offset of forms info tables */ 3 34 2 text_strings_offset fixed bin (18), 3 35 2 start_of_tables fixed bin; /* beginning of above tables, MUST start on even word boundry */ 3 36 3 37 /* Defines common text block to store virtually all text in the I/O daemon tables */ 3 38 dcl text_strings_ptr ptr; 3 39 dcl 1 text_strings aligned based (text_strings_ptr), 3 40 2 length fixed bin, 3 41 2 chars char (1 refer (text_strings.length)) unaligned; 3 42 3 43 /* this defines text offsets used to locate i/o daemon tables strings in 3 44* the text_strings structure */ 3 45 dcl 1 text_offset based, 3 46 2 first_char fixed bin (18) unsigned unaligned, 3 47 2 total_chars fixed bin (18) unsigned unaligned; 3 48 3 49 dcl IODT_VERSION_5 char (8) int static options (constant) init ("IODT0005"); /* current version number */ 3 50 3 51 3 52 /* END INCLUDE FILE ... iod_tables_hdr.incl.pl1 */ 176 177 /* BEGIN INCLUDE FILE ... terminate_file.incl.pl1 */ 4 2 /* format: style2,^inddcls,idind32 */ 4 3 4 4 declare 1 terminate_file_switches based, 4 5 2 truncate bit (1) unaligned, 4 6 2 set_bc bit (1) unaligned, 4 7 2 terminate bit (1) unaligned, 4 8 2 force_write bit (1) unaligned, 4 9 2 delete bit (1) unaligned; 4 10 4 11 declare TERM_FILE_TRUNC bit (1) internal static options (constant) initial ("1"b); 4 12 declare TERM_FILE_BC bit (2) internal static options (constant) initial ("01"b); 4 13 declare TERM_FILE_TRUNC_BC bit (2) internal static options (constant) initial ("11"b); 4 14 declare TERM_FILE_TERM bit (3) internal static options (constant) initial ("001"b); 4 15 declare TERM_FILE_TRUNC_BC_TERM bit (3) internal static options (constant) initial ("111"b); 4 16 declare TERM_FILE_FORCE_WRITE bit (4) internal static options (constant) initial ("0001"b); 4 17 declare TERM_FILE_DELETE bit (5) internal static options (constant) initial ("00001"b); 4 18 4 19 /* END INCLUDE FILE ... terminate_file.incl.pl1 */ 177 178 179 end iod_set_line; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 10/28/88 1233.9 iod_set_line.pl1 >special_ldd>install>MR12.2-1199>iod_set_line.pl1 174 1 04/11/85 1452.6 access_mode_values.incl.pl1 >ldd>include>access_mode_values.incl.pl1 175 2 10/28/88 1227.3 iod_device_tab.incl.pl1 >special_ldd>install>MR12.2-1199>iod_device_tab.incl.pl1 176 3 10/28/88 1227.4 iod_tables_hdr.incl.pl1 >special_ldd>install>MR12.2-1199>iod_tables_hdr.incl.pl1 177 4 04/06/83 1239.4 terminate_file.incl.pl1 >ldd>include>terminate_file.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. ME 000002 constant char(32) initial packed unaligned dcl 169 set ref 53* 58* 58* 73* 79* 86* 100* 110* 124* RW_ACCESS 000001 constant bit(3) initial packed unaligned dcl 1-11 set ref 98* TERM_FILE_TERM 000000 constant bit(3) initial packed unaligned dcl 4-14 set ref 41* absolute_pathname_ 000026 constant entry external dcl 137 ref 77 addr builtin function dcl 143 ref 107 arg based char packed unaligned dcl 165 set ref 63 65 70 70 77* 79* 83 83 86* argN 000105 automatic fixed bin(17,0) dcl 156 set ref 67* 68 69* 71* 71 72 76* 89* 89 arg_list_ptr 000100 automatic pointer dcl 153 set ref 29* 51* 62* 64* 69* 76* argl 000104 automatic fixed bin(21,0) dcl 155 set ref 62* 63 64* 65 69* 70 70 76* 77 77 79 79 83 83 86 86 argp 000102 automatic pointer dcl 154 set ref 62* 63 64* 65 69* 70 70 76* 77 79 83 83 86 attach_name 7 based char(32) level 2 dcl 2-29 set ref 115 115 118* attach_type 17 based fixed bin(17,0) level 2 dcl 2-29 ref 109 brief 000110 automatic bit(1) packed unaligned dcl 159 set ref 49* 83* 115 cleanup 000204 stack reference condition dcl 173 ref 26 code 000107 automatic fixed bin(35,0) dcl 158 set ref 51* 52 53* 77* 78 79* 98* 99 100* com_err_ 000016 constant entry external dcl 133 ref 53 58 73 79 86 100 110 124 cu_$arg_count_rel 000012 constant entry external dcl 131 ref 51 cu_$arg_list_ptr 000010 constant entry external dcl 130 ref 29 cu_$arg_ptr_rel 000014 constant entry external dcl 132 ref 62 64 69 76 daemon_dir 000111 automatic char(168) packed unaligned dcl 160 set ref 48* 77* 98* 100* 100* 124* 124* dev_id based char(24) level 2 dcl 2-29 ref 108 device_name 000163 automatic char(32) packed unaligned dcl 161 set ref 63* 108 110* 115* 124* device_tab_offset 10 based fixed bin(18,0) level 2 dcl 3-23 ref 104 entries 2 based structure array level 2 dcl 2-23 set ref 107 error_table_$bad_arg 000036 external static fixed bin(35,0) dcl 148 set ref 86* error_table_$noarg 000040 external static fixed bin(35,0) dcl 149 set ref 73* error_table_$wrong_no_of_args 000034 external static fixed bin(35,0) dcl 147 set ref 58* i 000234 automatic fixed bin(17,0) dcl 96 set ref 106* 107* idte based structure level 1 dcl 2-29 idtep 000214 automatic pointer dcl 2-28 set ref 107* 108 109 115 115 118 idtp 000212 automatic pointer dcl 2-22 set ref 104* 106 107 initiate_file_ 000022 constant entry external dcl 135 ref 98 ioa_ 000020 constant entry external dcl 134 ref 115 iod_device_tab based structure level 1 dcl 2-23 iod_tables_hdr based structure level 1 dcl 3-23 ithp 000216 automatic pointer dcl 3-22 set ref 25* 41 41* 98* 104 104 line_name 000173 automatic char(32) packed unaligned dcl 162 set ref 65* 115 115 118 mdte based structure level 1 dcl 2-64 n_devices based fixed bin(17,0) level 2 dcl 2-23 ref 106 nargs 000106 automatic fixed bin(17,0) dcl 157 set ref 51* 57 68 72 null builtin function dcl 143 ref 25 41 pathname_ 000032 constant entry external dcl 139 ref 100 100 124 124 ptr builtin function dcl 143 ref 104 requote_string_ 000030 constant entry external dcl 138 ref 115 115 rtrim builtin function dcl 143 ref 115 115 115 115 terminate_file_ 000024 constant entry external dcl 136 ref 41 text_offset based structure level 1 packed packed unaligned dcl 3-45 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. A_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 A_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 DIR_ACCESS_MODE_NAMES internal static char(4) initial array packed unaligned dcl 1-33 E_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 E_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 IODT_VERSION_5 internal static char(8) initial packed unaligned dcl 3-49 M_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 M_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 N_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 N_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 REW_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 REW_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 RE_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 RE_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 RW_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 R_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 R_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 SA_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 SA_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 SEG_ACCESS_MODE_NAMES internal static char(4) initial array packed unaligned dcl 1-30 SMA_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 SMA_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 SM_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 SM_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 S_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 S_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 TERM_FILE_BC internal static bit(2) initial packed unaligned dcl 4-12 TERM_FILE_DELETE internal static bit(5) initial packed unaligned dcl 4-17 TERM_FILE_FORCE_WRITE internal static bit(4) initial packed unaligned dcl 4-16 TERM_FILE_TRUNC internal static bit(1) initial packed unaligned dcl 4-11 TERM_FILE_TRUNC_BC internal static bit(2) initial packed unaligned dcl 4-13 TERM_FILE_TRUNC_BC_TERM internal static bit(3) initial packed unaligned dcl 4-15 W_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 W_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 mdtep automatic pointer dcl 2-63 mdtp automatic pointer dcl 2-57 minor_device_tab based structure level 1 dcl 2-58 terminate_file_switches based structure level 1 packed packed unaligned dcl 4-4 text_strings based structure level 1 dcl 3-39 text_strings_ptr automatic pointer dcl 3-38 NAMES DECLARED BY EXPLICIT CONTEXT. EXIT 000216 constant label dcl 34 ref 54 59 74 80 87 101 112 119 cleaner 000224 constant entry internal dcl 39 ref 26 34 iod_set_line 000154 constant entry external dcl 11 patch_it 000701 constant entry internal dcl 94 ref 32 process_args 000265 constant entry internal dcl 46 ref 30 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1506 1550 1315 1516 Length 2050 1315 42 263 171 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME iod_set_line 320 external procedure is an external procedure. on unit on line 26 64 on unit cleaner 84 internal procedure is called by several nonquick procedures. process_args internal procedure shares stack frame of external procedure iod_set_line. patch_it internal procedure shares stack frame of external procedure iod_set_line. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME iod_set_line 000100 arg_list_ptr iod_set_line 000102 argp iod_set_line 000104 argl iod_set_line 000105 argN iod_set_line 000106 nargs iod_set_line 000107 code iod_set_line 000110 brief iod_set_line 000111 daemon_dir iod_set_line 000163 device_name iod_set_line 000173 line_name iod_set_line 000212 idtp iod_set_line 000214 idtep iod_set_line 000216 ithp iod_set_line 000234 i patch_it THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_char_temp call_ext_out_desc call_ext_out call_int_this call_int_other return_mac enable_op shorten_stack ext_entry int_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. absolute_pathname_ com_err_ cu_$arg_count_rel cu_$arg_list_ptr cu_$arg_ptr_rel initiate_file_ ioa_ pathname_ requote_string_ terminate_file_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$bad_arg error_table_$noarg error_table_$wrong_no_of_args LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 11 000153 25 000161 26 000163 29 000205 30 000214 32 000215 34 000216 37 000222 39 000223 41 000231 44 000264 46 000265 48 000266 49 000271 51 000272 52 000305 53 000307 54 000324 57 000325 58 000330 59 000357 62 000360 63 000402 64 000407 65 000431 67 000436 68 000440 69 000443 70 000463 71 000475 72 000476 73 000501 74 000525 76 000526 77 000546 78 000572 79 000574 80 000626 82 000627 83 000630 86 000643 87 000675 89 000676 90 000677 92 000700 94 000701 98 000702 99 000743 100 000745 101 001017 104 001020 106 001025 107 001035 108 001041 109 001045 110 001050 112 001100 115 001101 118 001225 119 001232 122 001233 124 001235 126 001314 ----------------------------------------------------------- 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