COMPILATION LISTING OF SEGMENT print_imft_sites Compiled by: Multics PL/I Compiler, Release 31a, of October 12, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 10/28/88 1334.2 mst Fri Options: optimize map 1 /****^ ******************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1988 * 4* * * 5* ******************************************** */ 6 7 8 /* format: style4 */ 9 print_imft_sites: pis: procedure; 10 11 /* This command prints the names of all foreign sites usable with the "-source" or "-destination" 12* control argument to the enter_imft_request etc. commands. It does this by 13* finding out the names of the request types, and assuming that destinations are 14* represented by request type names of the form "To_SITE", and sources by names of 15* the form "From_SITE". 16**/ 17 18 /* Written March 1983 by Robert Coren */ 19 20 21 /****^ HISTORY COMMENTS: 22* 1) change(88-08-24,Brunelle), approve(88-08-24,MCR7911), 23* audit(88-10-21,Wallman), install(88-10-28,MR12.2-1199): 24* Upgraded to version 5 iod tables. Changed column widths to that needed by 25* the longest entry in column. Added display of comment field. 26* END HISTORY COMMENTS */ 27 28 29 /* External Procedures & Variables */ 30 31 dcl com_err_ entry () options (variable); 32 dcl cu_$arg_count entry (fixed bin, fixed bin (35)); 33 dcl error_table_$too_many_args fixed bin (35) ext static; 34 dcl error_table_$unimplemented_version fixed bin (35) ext static; 35 dcl hcs_$terminate_noname entry (ptr, fixed bin (35)); 36 dcl imft_default_rqt_ entry () returns (char (*)); 37 dcl imft_data_$queue_dirname char (168) external static; 38 dcl initiate_file_ entry (char (*), char (*), bit (*), ptr, fixed bin (24), fixed bin (35)); 39 dcl ioa_ entry () options (variable); 40 dcl pathname_ entry (char (*), char (*)) returns (char (168)); 41 42 dcl cleanup condition; 43 dcl (addr, after, length, max, null, ptr, rtrim, substr, unspec) builtin; 44 45 /* Internal Static */ 46 47 dcl IODT_NAME char (32) internal static options (constant) init ("iod_working_tables"); 48 dcl PRINT_IMFT_SITES char (16) internal static options (constant) init ("print_imft_sites"); 49 50 /* Automatic */ 51 52 dcl access_id_offset fixed bin; /* offset for ioa_ statement */ 53 dcl bc fixed bin (24); /* initiate_file_ bitcount */ 54 dcl code fixed bin (35); /* general error code */ 55 dcl default_site character (32); /* temp storage for default site name */ 56 dcl dest_offset fixed bin; /* offset for ioa_ statement */ 57 dcl dest_type bit (1); /* ON if available as destination */ 58 dcl n_args fixed bin; /* # of args called with */ 59 dcl n_sites fixed bin; /* count of imft sites found in the tables */ 60 dcl qgt_size fixed bin; /* # of entries in queue group tables */ 61 dcl qgtx fixed bin; /* queue group table index */ 62 dcl site_name char (32); /* temp name of the site */ 63 dcl sitex fixed bin; /* temp site index */ 64 dcl source_type bit (1); /* ON if available as source */ 65 66 67 call cu_$arg_count (n_args, code); 68 if code ^= 0 then do; /* something wrong -- we're not allowed to be an AF */ 69 call com_err_ (code, PRINT_IMFT_SITES); 70 return; 71 end; 72 73 if n_args > 0 then do; /* nor are we supposed to get arguments */ 74 call com_err_ (error_table_$too_many_args, PRINT_IMFT_SITES, "^/Usage: print_imft_sites"); 75 return; 76 end; 77 78 ithp = null (); 79 on condition (cleanup) call cleanup_proc; 80 81 call initiate_file_ (imft_data_$queue_dirname, IODT_NAME, R_ACCESS, ithp, bc, code); 82 if ithp = null () then do; 83 call com_err_ (code, PRINT_IMFT_SITES, "Could not initiate ^a", 84 pathname_ (imft_data_$queue_dirname, IODT_NAME)); 85 return; 86 end; 87 88 if iod_tables_hdr.version ^= IODT_VERSION_5 then do; 89 call com_err_ (error_table_$unimplemented_version, PRINT_IMFT_SITES, 90 "^a is not a proper iod_tables segment.", pathname_ (imft_data_$queue_dirname, IODT_NAME)); 91 call cleanup_proc; 92 return; 93 end; 94 95 default_site = after (imft_default_rqt_ (), "To_"); 96 97 qgtp = ptr (ithp, iod_tables_hdr.q_group_tab_offset); 98 qgt_size = q_group_tab.n_q_groups; 99 100 INNER_BLOCK: 101 begin; /* so as to get large enough automatic array for all possible request type names */ 102 103 dcl 1 site_desc aligned, 104 2 max_name_length fixed bin, 105 2 max_driver_name_length fixed bin, 106 2 max_comment_length fixed bin, 107 2 ents (qgt_size) aligned, 108 3 name character (32), 109 3 driver_name character (32), /* access name of I/O daemon driver */ 110 3 flags, 111 4 destination bit (1) unaligned, /* ON => usable as a destination */ 112 4 source bit (1) unaligned, /* ON => usable as a source */ 113 4 default bit (1) unaligned, /* ON => this is default site */ 114 4 pad bit (33) unaligned; 115 116 n_sites = 0; 117 unspec (site_desc) = "0"b; 118 119 do qgtx = 1 to qgt_size; 120 qgtep = addr (q_group_tab.entries (qgtx)); 121 if qgte.generic_type = FT_GENERIC_TYPE then 122 if qgte.name ^= FT_GENERIC_TYPE then do; /* name used to indicate default is not interesting */ 123 if substr (qgte.name, 1, 3) = "To_" then do; 124 site_name = substr (qgte.name, 4); 125 source_type = "0"b; 126 dest_type = "1"b; 127 end; 128 129 else if substr (qgte.name, 1, 5) = "From_" then do; 130 site_name = substr (qgte.name, 6); 131 source_type = "1"b; 132 dest_type = "0"b; 133 end; 134 135 else do; 136 call com_err_ (0, PRINT_IMFT_SITES, 137 "Request type ""^a"" has a generic type of ""^a"" but its name is not of standard form." 138 , qgte.name, FT_GENERIC_TYPE); 139 go to NEXT_QGTE; /* skip it */ 140 end; 141 142 /* now find out if we've already found a request type for this site */ 143 144 do sitex = 1 to n_sites while (site_desc (sitex).name ^= site_name); 145 end; 146 147 if sitex > n_sites then do; /* didn't find it */ 148 n_sites = sitex; 149 site_desc (sitex).name = site_name; 150 site_desc (sitex).driver_name = qgte.driver_id; 151 if length (rtrim (site_name)) > site_desc.max_name_length then 152 site_desc.max_name_length = length (rtrim (site_name)); 153 if length (rtrim (qgte.driver_id)) > site_desc.max_driver_name_length then 154 site_desc.max_driver_name_length = length (rtrim (qgte.driver_id)); 155 end; 156 157 if source_type then 158 site_desc (sitex).source = "1"b; 159 160 if dest_type then do; 161 site_desc (sitex).destination = "1"b; 162 if site_name = default_site then 163 site_desc (sitex).default = "1"b; 164 end; 165 end; 166 NEXT_QGTE: 167 end; 168 169 if n_sites = 0 then 170 call ioa_ ("No site names found in ^a.", pathname_ (imft_data_$queue_dirname, IODT_NAME)); 171 172 else do; 173 call sort_sites; 174 175 access_id_offset = site_desc.max_name_length + 11 + 2; 176 dest_offset = site_desc.max_name_length + 11 + 2 + max (9, site_desc.max_driver_name_length) + 2; 177 178 call ioa_ ("Site name^vtAccess ID^vtDest Source^/", 179 access_id_offset, dest_offset); 180 181 do sitex = 1 to n_sites; 182 call ioa_ ("^a^[ (default)^;^]^vt^a^vt^[ X^; ^] ^[ X^;^]", 183 site_desc (sitex).name, 184 site_desc (sitex).default, 185 access_id_offset, 186 site_desc (sitex).driver_name, 187 dest_offset, 188 site_desc (sitex).destination, site_desc (sitex).source); 189 end; 190 191 end; 192 193 194 195 196 sort_sites: procedure; 197 198 /*** TO BE SUPPLIED ***/ 199 200 end sort_sites; 201 202 end INNER_BLOCK; 203 204 call cleanup_proc; 205 return; 206 207 cleanup_proc: procedure; 208 209 if ithp ^= null () then do; 210 call hcs_$terminate_noname (ithp, (0)); 211 ithp = null (); 212 return; 213 end; 214 end cleanup_proc; 215 /* BEGIN INCLUDE FILE ... _imft_ft_request.incl.pl1 */ 1 2 1 3 /* Created: April 1982 by G. Palter */ 1 4 /* Modified: March 1983 by Robert Coren, for requests for remote transfer */ 1 5 1 6 1 7 /****^ HISTORY COMMENTS: 1 8* 1) change(88-06-22,Beattie), approve(88-08-01,MCR7948), 1 9* audit(88-10-14,Farley), install(88-10-14,MR12.2-1165): 1 10* Add flags to support extend, update and delete operations. 1 11* END HISTORY COMMENTS */ 1 12 1 13 1 14 /* IMFT file transfer request definition */ 1 15 1 16 dcl 1 ft_request aligned based (ft_request_ptr), 1 17 2 header like queue_msg_hdr, 1 18 2 request, /* see _imft_ft_commands.incl.pl1 */ 1 19 3 version character (8), 1 20 3 foreign_user character (32) unaligned, /* Person.Project at other Multics for reload access check */ 1 21 3 foreign_dirname character (168) unaligned, /* where to put the branch on the other system */ 1 22 3 foreign_ename character (32) unaligned, /* ... */ 1 23 3 flags, 1 24 4 foreign_user_given bit (1) unaligned, /* ON => forreign_user different from local user */ 1 25 4 foreign_path_given bit (1) unaligned, /* ON => foreign pathname different from local */ 1 26 4 directory_creation_mode bit (2) unaligned, /* controls whether directories are replaced/merged */ 1 27 4 remote_transfer bit (1) unaligned, /* ON => request for transfer from foreign system */ 1 28 4 include_files bit (1) unaligned, /* ON => match files when interpreting starname */ 1 29 4 include_subtrees bit (1) unaligned, /* ON => match subtrees when interpreting starname */ 1 30 4 chase_control bit (2) unaligned, /* controls chasing of links when submitting remote request */ 1 31 4 delete bit (1) unaligned, /* delete source object after good transfer */ 1 32 4 extend bit (1) unaligned, /* place this data at end of current segment */ 1 33 4 update bit (1) unaligned, /* replace contents of current segment with this data */ 1 34 4 pad bit (24) unaligned; 1 35 1 36 dcl ft_request_ptr pointer; 1 37 1 38 dcl FT_REQUEST_VERSION_1 character (8) static options (constant) initial ("ftr_1.00"); 1 39 1 40 dcl FT_GENERIC_TYPE character (32) static options (constant) initial ("imft"); 1 41 dcl FT_MESSAGE_TYPE fixed binary static options (constant) initial (5); 1 42 1 43 dcl (REPLACE_DIRECTORIES initial ("10"b), /* replace entry on target if namedup and source is a dir */ 1 44 MERGE_DIRECTORIES initial ("11"b)) /* merge target and source dirs; replace if target not dir */ 1 45 bit (2) aligned static options (constant); 1 46 1 47 dcl (DEFAULT_CHASE initial ("00"b), /* chase non-starnames; don't chase starnames */ 1 48 NEVER_CHASE initial ("01"b), /* never chase any links */ 1 49 ALWAYS_CHASE initial ("10"b)) /* always chase links */ 1 50 bit (2) aligned static options (constant); 1 51 1 52 /* END INCLUDE FILE ... _imft_ft_request.incl.pl1 */ 215 216 /* BEGIN INCLUDE FILE ... access_mode_values.incl.pl1 2 2* 2 3* Values for the "access mode" argument so often used in hardcore 2 4* James R. Davis 26 Jan 81 MCR 4844 2 5* Added constants for SM access 4/28/82 Jay Pattin 2 6* Added text strings 03/19/85 Chris Jones 2 7**/ 2 8 2 9 2 10 /* format: style4,delnl,insnl,indattr,ifthen,dclind10 */ 2 11 dcl ( 2 12 N_ACCESS init ("000"b), 2 13 R_ACCESS init ("100"b), 2 14 E_ACCESS init ("010"b), 2 15 W_ACCESS init ("001"b), 2 16 RE_ACCESS init ("110"b), 2 17 REW_ACCESS init ("111"b), 2 18 RW_ACCESS init ("101"b), 2 19 S_ACCESS init ("100"b), 2 20 M_ACCESS init ("010"b), 2 21 A_ACCESS init ("001"b), 2 22 SA_ACCESS init ("101"b), 2 23 SM_ACCESS init ("110"b), 2 24 SMA_ACCESS init ("111"b) 2 25 ) bit (3) internal static options (constant); 2 26 2 27 /* The following arrays are meant to be accessed by doing either 1) bin (bit_value) or 2 28* 2) divide (bin_value, 2) to come up with an index into the array. */ 2 29 2 30 dcl SEG_ACCESS_MODE_NAMES (0:7) init ("null", "W", "E", "EW", "R", "RW", "RE", "REW") char (4) internal 2 31 static options (constant); 2 32 2 33 dcl DIR_ACCESS_MODE_NAMES (0:7) init ("null", "A", "M", "MA", "S", "SA", "SM", "SMA") char (4) internal 2 34 static options (constant); 2 35 2 36 dcl ( 2 37 N_ACCESS_BIN init (00000b), 2 38 R_ACCESS_BIN init (01000b), 2 39 E_ACCESS_BIN init (00100b), 2 40 W_ACCESS_BIN init (00010b), 2 41 RW_ACCESS_BIN init (01010b), 2 42 RE_ACCESS_BIN init (01100b), 2 43 REW_ACCESS_BIN init (01110b), 2 44 S_ACCESS_BIN init (01000b), 2 45 M_ACCESS_BIN init (00010b), 2 46 A_ACCESS_BIN init (00001b), 2 47 SA_ACCESS_BIN init (01001b), 2 48 SM_ACCESS_BIN init (01010b), 2 49 SMA_ACCESS_BIN init (01011b) 2 50 ) fixed bin (5) internal static options (constant); 2 51 2 52 /* END INCLUDE FILE ... access_mode_values.incl.pl1 */ 216 217 /* 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 */ 217 218 /* BEGIN INCLUDE FILE...q_group_tab.incl.pl1 */ 4 2 4 3 4 4 4 5 /****^ HISTORY COMMENTS: 4 6* 1) change(88-01-27,Brunelle), approve(), audit(), install(): 4 7* Ancient History 4 8* Created by J. Stern, December 1974 4 9* Modified by J. Whitmore April 1978 4 10* Modified by R. McDonald May 1980 to include page charges (UNCA) 4 11* Modified by E. N. Kittlitz June 1981 for UNCA changes 4 12* 2) change(88-02-18,Brunelle), approve(88-08-31,MCR7911), 4 13* audit(88-09-29,Wallman), install(88-10-28,MR12.2-1199): 4 14* Add forms_validation, default_form and font_dir variables for laser 4 15* printer support. 4 16* END HISTORY COMMENTS */ 4 17 4 18 4 19 /* format: style4 */ 4 20 4 21 dcl qgtp ptr; /* ptr to queue group table */ 4 22 dcl 1 q_group_tab aligned based (qgtp), 4 23 2 n_q_groups fixed bin, /* number of queue groups */ 4 24 2 pad fixed bin, 4 25 2 entries (1 refer (q_group_tab.n_q_groups)) like qgte; /* entries of queue group table */ 4 26 4 27 dcl qgtep ptr; /* queue group table entry pointer */ 4 28 dcl 1 qgte aligned based (qgtep), /* queue group table entry */ 4 29 4 30 /* static info from the parms file */ 4 31 4 32 2 name char (24), /* queue group name */ 4 33 2 comment unaligned like text_offset, /* comment to apply to the request_type */ 4 34 2 driver_id char (32), /* person.project name of drivers for this q group */ 4 35 2 accounting unaligned like text_offset, /* offset to accounting routine pathname, "system" => charge_user_ */ 4 36 2 generic_type char (32), /* generic type of requests in this queue */ 4 37 2 default_generic_queue fixed bin (1), /* 1 if this is default queue for above generic type, else 0 */ 4 38 2 rqti_seg_name char (32), /* name of rqti seg, if required, else blank */ 4 39 2 max_queues fixed bin, /* number of queues for this request type */ 4 40 2 default_queue fixed bin, /* number of the default queue */ 4 41 2 line_charge, /* price names for line charges */ 4 42 3 queue (4) char (32), /* one name for each queue */ 4 43 2 page_charge, /* price names for page charges */ 4 44 3 queue (4) char (32), /* one name for each queue */ 4 45 2 forms_table unaligned like text_offset, /* offset to forms table to apply to this queue group */ 4 46 2 forms_validation unaligned like text_offset, /* offset to name of routine for forms validation */ 4 47 2 default_form unaligned like text_offset, /* offset to default -form string if none given */ 4 48 2 font_dir unaligned like text_offset, /* offset to location of downloadable fonts */ 4 49 2 first_dev_class fixed bin, /* index of first device class entry of queue group */ 4 50 2 last_dev_class fixed bin, /* index of last device class entry of queue group */ 4 51 4 52 /* dynamic info reflecting current status of queues */ 4 53 4 54 2 open fixed bin, /* 1 if queues have been opened, else 0 */ 4 55 2 per_queue_info (4), 4 56 3 last_read bit (72), /* ID of last message read */ 4 57 3 mseg_index fixed bin, /* message segment index */ 4 58 3 pad fixed bin; /* pad to even word boundary */ 4 59 4 60 /* END INCLUDE FILE...q_group_tab.incl.pl1 */ 218 219 /* BEGIN INCLUDE FILE ... queue_msg_hdr.incl.pl1 */ 5 2 5 3 /* This is the message header used for standard system queue messages, namely: 5 4* IO daemon requests, absentee requests, retrieval requests. 5 5**/ 5 6 5 7 /* Written by Jerry Whitmore, Spring 1978. 5 8* Modified by T. Casey, November 1978, to add values for state. 5 9* Modified by R. Kovalcik, June 1982, defer_until_process_terminataion 5 10**/ 5 11 5 12 dcl 1 queue_msg_hdr based aligned, /* standard header for all system queue messages */ 5 13 2 msg_time fixed bin (71), /* date and time of request */ 5 14 2 hdr_version fixed bin, /* version of this declaration */ 5 15 2 dirname char (168), /* directory name */ 5 16 2 ename char (32), /* entry name of file requested */ 5 17 2 message_type fixed bin, /* message format descriptor */ 5 18 /* 0 = absentee request */ 5 19 /* 1 = print request */ 5 20 /* 2 = punch request */ 5 21 /* 3 = tape request */ 5 22 /* 4 = retrieval request */ 5 23 2 bit_flags, 5 24 3 delete_sw bit (1) unal, /* delete file when done */ 5 25 3 notify bit (1) unal, /* user wants to be notified */ 5 26 3 defer_until_process_termination bit (1) unal, /* don't process request until process terminates */ 5 27 3 padding bit (33) unal, 5 28 2 state fixed bin, /* stage of processing after being queued: 5 29* 0 = initial unprocessed state, 1 = deferred, 5 30* 2 = in state transition, 3 = eligible, 4 = running, 5 31* 5 = bumped, 6 = deferred_until_process_termination */ 5 32 2 orig_queue fixed bin, /* queue the request was submitted to */ 5 33 2 std_length fixed bin, /* length of std msg for this type */ 5 34 2 dupt_lock bit (36) aligned, /* lock word for defer until process termination */ 5 35 2 hdr_pad (3) fixed bin; 5 36 5 37 dcl queue_msg_hdr_version_1 fixed bin int static options (constant) init (1); /* current version of the header */ 5 38 5 39 /* Values for queue_msg_hdr.state */ 5 40 5 41 dcl STATE_UNPROCESSED fixed bin int static options (constant) init (0); 5 42 dcl STATE_DEFERRED fixed bin int static options (constant) init (1); 5 43 dcl STATE_TRANSITION fixed bin int static options (constant) init (2); 5 44 dcl STATE_ELIGIBLE fixed bin int static options (constant) init (3); 5 45 dcl STATE_RUNNING fixed bin int static options (constant) init (4); 5 46 dcl STATE_BUMPED fixed bin int static options (constant) init (5); 5 47 dcl STATE_DUPT fixed bin int static options (constant) init (6); 5 48 5 49 /* END INCLUDE FILE ... queue_msg_hdr.incl.pl1 */ 219 220 221 end print_imft_sites; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 10/28/88 1232.0 print_imft_sites.pl1 >special_ldd>install>MR12.2-1199>print_imft_sites.pl1 215 1 10/18/88 1204.1 _imft_ft_request.incl.pl1 >ldd>include>_imft_ft_request.incl.pl1 216 2 04/11/85 1452.6 access_mode_values.incl.pl1 >ldd>include>access_mode_values.incl.pl1 217 3 10/28/88 1227.4 iod_tables_hdr.incl.pl1 >special_ldd>install>MR12.2-1199>iod_tables_hdr.incl.pl1 218 4 10/28/88 1227.2 q_group_tab.incl.pl1 >special_ldd>install>MR12.2-1199>q_group_tab.incl.pl1 219 5 08/31/82 1636.3 queue_msg_hdr.incl.pl1 >ldd>include>queue_msg_hdr.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. FT_GENERIC_TYPE 000002 constant char(32) initial packed unaligned dcl 1-40 set ref 121 121 136* IODT_NAME 000016 constant char(32) initial packed unaligned dcl 47 set ref 81* 83* 83* 89* 89* 169* 169* IODT_VERSION_5 000000 constant char(8) initial packed unaligned dcl 3-49 ref 88 PRINT_IMFT_SITES 000012 constant char(16) initial packed unaligned dcl 48 set ref 69* 74* 83* 89* 136* R_ACCESS 000037 constant bit(3) initial packed unaligned dcl 2-11 set ref 81* access_id_offset 000106 automatic fixed bin(17,0) dcl 52 set ref 175* 178* 182* addr builtin function dcl 43 ref 120 after builtin function dcl 43 ref 95 bc 000107 automatic fixed bin(24,0) dcl 53 set ref 81* cleanup 000100 stack reference condition dcl 42 ref 79 code 000110 automatic fixed bin(35,0) dcl 54 set ref 67* 68 69* 81* 83* com_err_ 000010 constant entry external dcl 31 ref 69 74 83 89 136 cu_$arg_count 000012 constant entry external dcl 32 ref 67 default 23(02) 000100 automatic bit(1) array level 4 packed packed unaligned dcl 103 set ref 162* 182* default_site 000111 automatic char(32) packed unaligned dcl 55 set ref 95* 162 dest_offset 000121 automatic fixed bin(17,0) dcl 56 set ref 176* 178* 182* dest_type 000122 automatic bit(1) packed unaligned dcl 57 set ref 126* 132* 160 destination 23 000100 automatic bit(1) array level 4 packed packed unaligned dcl 103 set ref 161* 182* driver_id 7 based char(32) level 2 dcl 4-28 ref 150 153 153 driver_name 13 000100 automatic char(32) array level 3 dcl 103 set ref 150* 182* entries 2 based structure array level 2 dcl 4-22 set ref 120 ents 3 000100 automatic structure array level 2 dcl 103 error_table_$too_many_args 000014 external static fixed bin(35,0) dcl 33 set ref 74* error_table_$unimplemented_version 000016 external static fixed bin(35,0) dcl 34 set ref 89* flags 23 000100 automatic structure array level 3 dcl 103 generic_type 20 based char(32) level 2 dcl 4-28 ref 121 hcs_$terminate_noname 000020 constant entry external dcl 35 ref 210 imft_data_$queue_dirname 000024 external static char(168) packed unaligned dcl 37 set ref 81* 83* 83* 89* 89* 169* 169* imft_default_rqt_ 000022 constant entry external dcl 36 ref 95 initiate_file_ 000026 constant entry external dcl 38 ref 81 ioa_ 000030 constant entry external dcl 39 ref 169 178 182 iod_tables_hdr based structure level 1 dcl 3-23 ithp 000142 automatic pointer dcl 3-22 set ref 78* 81* 82 88 97 97 209 210* 211* length builtin function dcl 43 ref 151 151 153 153 max builtin function dcl 43 ref 176 max_driver_name_length 1 000100 automatic fixed bin(17,0) level 2 dcl 103 set ref 153 153* 176 max_name_length 000100 automatic fixed bin(17,0) level 2 dcl 103 set ref 151 151* 175 176 n_args 000123 automatic fixed bin(17,0) dcl 58 set ref 67* 73 n_q_groups based fixed bin(17,0) level 2 dcl 4-22 ref 98 n_sites 000124 automatic fixed bin(17,0) dcl 59 set ref 116* 144 147 148* 169 181 name 3 000100 automatic char(32) array level 3 in structure "site_desc" dcl 103 in begin block on line 100 set ref 144 149* 182* name based char(24) level 2 in structure "qgte" dcl 4-28 in procedure "pis" set ref 121 123 124 129 130 136* null builtin function dcl 43 ref 78 82 209 211 pathname_ 000032 constant entry external dcl 40 ref 83 83 89 89 169 169 ptr builtin function dcl 43 ref 97 q_group_tab based structure level 1 dcl 4-22 q_group_tab_offset 13 based fixed bin(18,0) level 2 dcl 3-23 ref 97 qgt_size 000125 automatic fixed bin(17,0) dcl 60 set ref 98* 103 119 qgte based structure level 1 dcl 4-28 qgtep 000146 automatic pointer dcl 4-27 set ref 120* 121 121 123 124 129 130 136 150 153 153 qgtp 000144 automatic pointer dcl 4-21 set ref 97* 98 120 qgtx 000126 automatic fixed bin(17,0) dcl 61 set ref 119* 120* queue_msg_hdr based structure level 1 dcl 5-12 rtrim builtin function dcl 43 ref 151 151 153 153 site_desc 000100 automatic structure level 1 dcl 103 set ref 117* site_name 000127 automatic char(32) packed unaligned dcl 62 set ref 124* 130* 144 149 151 151 162 sitex 000137 automatic fixed bin(17,0) dcl 63 set ref 144* 144* 147 148 149 150 157 161 162 181* 182 182 182 182 182* source 23(01) 000100 automatic bit(1) array level 4 packed packed unaligned dcl 103 set ref 157* 182* source_type 000140 automatic bit(1) packed unaligned dcl 64 set ref 125* 131* 157 substr builtin function dcl 43 ref 123 124 129 130 text_offset based structure level 1 packed packed unaligned dcl 3-45 unspec builtin function dcl 43 set ref 117* version based char(8) level 2 dcl 3-23 ref 88 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ALWAYS_CHASE internal static bit(2) initial dcl 1-47 A_ACCESS internal static bit(3) initial packed unaligned dcl 2-11 A_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 DEFAULT_CHASE internal static bit(2) initial dcl 1-47 DIR_ACCESS_MODE_NAMES internal static char(4) initial array packed unaligned dcl 2-33 E_ACCESS internal static bit(3) initial packed unaligned dcl 2-11 E_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 FT_MESSAGE_TYPE internal static fixed bin(17,0) initial dcl 1-41 FT_REQUEST_VERSION_1 internal static char(8) initial packed unaligned dcl 1-38 MERGE_DIRECTORIES internal static bit(2) initial dcl 1-43 M_ACCESS internal static bit(3) initial packed unaligned dcl 2-11 M_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 NEVER_CHASE internal static bit(2) initial dcl 1-47 N_ACCESS internal static bit(3) initial packed unaligned dcl 2-11 N_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 REPLACE_DIRECTORIES internal static bit(2) initial dcl 1-43 REW_ACCESS internal static bit(3) initial packed unaligned dcl 2-11 REW_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 RE_ACCESS internal static bit(3) initial packed unaligned dcl 2-11 RE_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 RW_ACCESS internal static bit(3) initial packed unaligned dcl 2-11 RW_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 R_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 SA_ACCESS internal static bit(3) initial packed unaligned dcl 2-11 SA_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 SEG_ACCESS_MODE_NAMES internal static char(4) initial array packed unaligned dcl 2-30 SMA_ACCESS internal static bit(3) initial packed unaligned dcl 2-11 SMA_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 SM_ACCESS internal static bit(3) initial packed unaligned dcl 2-11 SM_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 STATE_BUMPED internal static fixed bin(17,0) initial dcl 5-46 STATE_DEFERRED internal static fixed bin(17,0) initial dcl 5-42 STATE_DUPT internal static fixed bin(17,0) initial dcl 5-47 STATE_ELIGIBLE internal static fixed bin(17,0) initial dcl 5-44 STATE_RUNNING internal static fixed bin(17,0) initial dcl 5-45 STATE_TRANSITION internal static fixed bin(17,0) initial dcl 5-43 STATE_UNPROCESSED internal static fixed bin(17,0) initial dcl 5-41 S_ACCESS internal static bit(3) initial packed unaligned dcl 2-11 S_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 W_ACCESS internal static bit(3) initial packed unaligned dcl 2-11 W_ACCESS_BIN internal static fixed bin(5,0) initial dcl 2-36 ft_request based structure level 1 dcl 1-16 ft_request_ptr automatic pointer dcl 1-36 queue_msg_hdr_version_1 internal static fixed bin(17,0) initial dcl 5-37 text_strings based structure level 1 dcl 3-39 text_strings_ptr automatic pointer dcl 3-38 NAMES DECLARED BY EXPLICIT CONTEXT. INNER_BLOCK 000556 constant label dcl 100 NEXT_QGTE 001051 constant label dcl 166 ref 139 cleanup_proc 001270 constant entry internal dcl 207 ref 79 91 204 pis 000175 constant entry external dcl 9 print_imft_sites 000204 constant entry external dcl 9 sort_sites 001260 constant entry internal dcl 196 ref 173 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1506 1542 1320 1516 Length 2056 1320 34 300 166 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME pis 207 external procedure is an external procedure. on unit on line 79 64 on unit begin block on line 100 170 begin block uses auto adjustable storage. sort_sites internal procedure shares stack frame of begin block on line 100. cleanup_proc 72 internal procedure is called by several nonquick procedures. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME begin block on line 100 000100 site_desc begin block on line 100 pis 000106 access_id_offset pis 000107 bc pis 000110 code pis 000111 default_site pis 000121 dest_offset pis 000122 dest_type pis 000123 n_args pis 000124 n_sites pis 000125 qgt_size pis 000126 qgtx pis 000127 site_name pis 000137 sitex pis 000140 source_type pis 000142 ithp pis 000144 qgtp pis 000146 qgtep pis THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. enter_begin_block leave_begin_block call_ext_out_desc call_ext_out call_int_this call_int_other return_mac alloc_auto_adj enable_op shorten_stack ext_entry int_entry set_chars_eis index_after_cs THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ cu_$arg_count hcs_$terminate_noname imft_default_rqt_ initiate_file_ ioa_ pathname_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$too_many_args error_table_$unimplemented_version imft_data_$queue_dirname LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 9 000174 67 000211 68 000221 69 000223 70 000240 73 000241 74 000243 75 000267 78 000270 79 000272 81 000314 82 000351 83 000355 85 000430 88 000431 89 000436 91 000506 92 000512 95 000513 97 000546 98 000554 100 000556 103 000561 182 000570 116 000601 117 000602 119 000613 120 000624 121 000630 123 000640 124 000644 125 000647 126 000650 127 000652 129 000653 130 000660 131 000663 132 000665 133 000666 136 000667 139 000724 144 000725 145 000745 147 000747 148 000752 149 000753 150 000761 151 000767 153 001005 157 001024 160 001033 161 001035 162 001042 166 001051 169 001054 173 001117 175 001120 176 001126 178 001141 181 001164 182 001176 189 001253 202 001256 196 001260 200 001261 204 001262 205 001266 207 001267 209 001275 210 001302 211 001313 212 001316 214 001317 ----------------------------------------------------------- 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