COMPILATION LISTING OF SEGMENT gtss_expand_pathname_ Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 12/10/84 1304.6 mst Mon Options: optimize map 1 /* *********************************************************** 2* * * 3* * * 4* * Copyright, (C) Honeywell Information Systems Inc., 1981 * 5* * * 6* * * 7* *********************************************************** */ 8 9 /* ************************************************************* 10* * * 11* * Copyright (c) 1979 by Honeywell Information Systems, Inc. * 12* * * 13* ************************************************************* */ 14 gtss_expand_pathname_: proc (np, dn, en, rs); 15 16 /* Translate a GCOS catalog/file description 17* list of names to a Multics directory and 18* entry name. 19* 20* The translation is regulated by the convention 21* specified through the $set..mode entries 22* (of gtss_expand_pathname_). 23* 24* Authors: Robert J. Grimes Created 25* - Albert N. Kepner 1978 26* - Robert M. May 27* - David B. Ward 28* Change: Dave Ward 08/16/79 db entry and #CMD/#LIB sensitive. 29* Change: Dave Ward 08/21/79 trace to path name, db result. 30* Change: Bob Alvarado 09/25/79 Added goto complete at case-b(3). 31* Change: Paul Benjamin 11/27/79 Added verify_umc entrypoint. 32* Change: Paul Benjamin 12/17/79 Store gtss_ext_$drm_path. 33* Change: Paul Benjamin 04/03/80 Fix bug when accessing thru link. 34* */ 35 dcl np ptr parm /* Pointer to ascii_cat_file structure (input). */; 36 dcl dn char (*)parm /* Multics directory name (output). */; 37 dcl en char (*)parm /* Multics file entry name (output). */; 38 dcl rs fixed bin (35)parm /* Multics/gcos_et error status (output). */; 39 40 verifying = "0"b; 41 goto main_entry; 42 43 verify_umc: entry (np, dn, en, sc, rs); 44 verifying = "1"b; 45 46 main_entry: 47 acfp = np; 48 49 if db_expand_pathname then do; 50 call ioa_ ("gtss_expand_pathname_ (input):"); 51 do i = 1 to acf.nn; 52 call ioa_ ("^2i. ""^a""", i, acf.name (i)); 53 end; 54 end; 55 56 rs = 0; 57 58 /* Determine if cat/file description => #CMD or #LIB 59**/ 60 if (acf.name (1) = "cmdlib") | (acf.name (1) = "library") then do; 61 dnv = ">udd>"; 62 dnv = dnv||rtrim (acf.name (1)); 63 do i = 1 to (acf.nn-1); 64 dnv = dnv||">"; 65 dnv = dnv||rtrim (acf.name (i)); 66 end; 67 dn = dnv; 68 en = acf.name (acf.nn); 69 goto complete; 70 end; 71 72 /* Determine the root directory corresponding to the USERID 73* in this catalog/file string. */ 74 75 umc_name = rtrim (acf.name (1)); 76 go to case_A (gse_ext_$drm_rule); 77 case_A (1): ; /* umc_dir_mode */ 78 directory = ">udd>"||umc_name||">"||umc_name; 79 go to end_case_A; 80 81 case_A (2): ; /* working_dir_mode */ 82 call get_wdir_ (wd); 83 directory = rtrim (wd); 84 go to end_case_A; 85 case_A (3): ; /* smc_dir_mode */ 86 smc_name = rtrim (gse_ext_$smc_pathname); 87 directory = smc_name||">"||umc_name; 88 89 end_case_A: ; 90 91 gtss_ext_$drm_path = directory; /* gtss_verify_access_ will need this */ 92 if substr(gtss_ext_$drm_path,1,14) = ">user_dir_dir>" then gtss_ext_$drm_path = ">udd>"||substr(gtss_ext_$drm_path,15); 93 if acf.nn = 1 then do; /* Only USERID in cat/file descr. */ 94 go to case_B (gse_ext_$drm_rule); 95 case_B (1): ; /* umc_dir_mode */ 96 dn = ">udd>"||umc_name; 97 en = umc_name; 98 goto complete; 99 100 case_B (2): ; /* working_dir_mode */ 101 dl = search (reverse (wd), ">"); 102 if dl<2 then do; 103 rs = error_table_$badpath; 104 return; 105 end; 106 nl = search (substr (wd, length (wd)-dl+2), " "); 107 if nl = 0 then nl = dl; 108 dn = substr (wd, 1, length (wd)-dl); 109 en = substr (wd, length (wd)-dl+2, nl-1); 110 if dn = "" then dn = ">"; 111 goto complete; 112 case_B (3): ; /* smc_dir_mode */ 113 dn = smc_name; 114 en = umc_name; 115 goto complete; 116 end; 117 118 if ^verifying then do; 119 /* Append any additional catalogs onto the Multics pathname. */ 120 do i = 2 to acf.nn-1; 121 directory = directory||">"; 122 directory = directory||rtrim (acf.name (i)); 123 end; 124 125 dn = directory; 126 en = acf.name (acf.nn); 127 128 complete: ; 129 130 /* Obtain the pathname of the Multics file 131* specified by directory, acf.name. 132**/ 133 call hcs_$get_link_target ( 134 (dn) 135 , (en) 136 , dnr 137 , enr 138 , ec 139 ); 140 if ec = 0 then do; /* Return pathname found. */ 141 if substr (dnr, 1, 14) = ">user_dir_dir>" then 142 dn = ">udd>"||substr (dnr, 15); else 143 dn = dnr; 144 en = enr; 145 /* If accessing thru link, then make gtss_verify_access_ just look at containing dir. */ 146 if substr(dn,1,length(rtrim(gtss_ext_$drm_path))) ^= gtss_ext_$drm_path 147 then gtss_ext_$drm_path = dn; 148 end; 149 end; 150 else do; 151 umc_dir = substr (directory, 1, (length (directory)-index (reverse (directory), ">"))); 152 umc_entry = substr (directory, (length (directory)-index (reverse (directory), ">")+2)); 153 call hcs_$get_link_target ( 154 umc_dir 155 , umc_entry 156 , dnr 157 , enr 158 , ec 159 ); 160 if ec = error_table_$no_dir then sc = "4001"b3; 161 else sc = "4005"b3; 162 end; 163 164 if db_expand_pathname then 165 call com_err_ ( 166 ec 167 , "gtss_expand_pathname_" 168 , "Result ""^a"" ""^a""" 169 , dn 170 , en 171 ); 172 return; 173 174 /* Variables for gtss_expand_pathname_ 175* IDENTIFIER ATTRIBUTES */ 176 dcl dnr char(168); 177 dcl enr char(32); 178 dcl acfp ptr init(null()); 179 dcl com_err_ entry options(variable); 180 dcl directory char (168)varying; 181 dcl dl fixed bin; 182 dcl dnv char(168)var; 183 dcl ec fixed bin(35); 184 dcl error_table_$badpath fixed bin (35)ext; 185 dcl error_table_$no_dir fixed bin (35)ext; 186 dcl get_wdir_ entry (char (168)); 187 dcl hcs_$get_link_target entry(char(*),char(*),char(*),char(*),fixed bin(35)); 188 dcl i fixed bin; 189 dcl ioa_ entry options(variable); 190 dcl n char (12); 191 dcl nl fixed bin; 192 dcl rtrim builtin; 193 dcl sc bit (18); 194 dcl smc_name char (168)varying int static; 195 dcl translate builtin; 196 dcl umc_dir char (168); 197 dcl umc_entry char (032); 198 dcl umc_name char (12)varying; 199 dcl verifying bit(1); 200 dcl wd char (168); 201 202 dcl 1 acf aligned based (acfp) like ascii_cat_file; 1 1 /* BEGIN INCLUDE FILE gtss_ascii_file_names.incl.pl1 */ 1 2 /* 1 3* Created: (Wardd Multics) 09/01/78 1447.3 mst Fri 1 4**/ 1 5 1 6 /** First parameter to gtss_expand_pathname_ 1 7* **/ 1 8 dcl 1 ascii_cat_file, 1 9 2 nn fixed bin, /* Number of names. */ 1 10 2 name (7)char(12); /* List of cat/filedescr name . */ 1 11 1 12 /* END INCLUDE FILE gtss_ascii_file_names.incl.pl1 */ 203 204 2 1 /* BEGIN INCLUDE FILE gse_ext_.incl.pl1 */ 2 2 /* 2 3* Created: Kepner 78-12-01 2 4**/ 2 5 2 6 dcl gse_ext_$drm_rule fixed bin(24) ext; 2 7 2 8 /* $drm_rule: 2 9* 0 => rule not set 2 10* 1 => umc_dir_mode 2 11* 2 => working_dir_mode 2 12* 3 => smc_dir_mode 2 13**/ 2 14 2 15 dcl gse_ext_$gcos_debug_pathname char(168) /* pathname for the gcos debugger control file */ ext; 2 16 dcl gse_ext_$smc_pathname char(168) /* root directory used with smc_dir mapping rule */ ext; 2 17 dcl gse_ext_$umc_name char(12) /* User Master Catalog name specified by user with gse command */ ext; 2 18 dcl 1 gse_ext_$modes aligned ext, 2 19 3 ast bit(01) unal, /* 1 => use asterisk as prompt character */ 2 20 3 drl bit(01) unal, /* 1 => cause trace info on each derail to be printed */ 2 21 3 gdb bit(01) unal, /* 1 => use gcos debugger (gdb) */ 2 22 3 mcmd bit(01) unal, /* 1 => allow use of e request at GTSS command level */ 2 23 3 mquit bit(01) unal, /* 1 => quit causes entry to new Multics command level */ 2 24 3 ss bit(01) unal, /* 1 => cause trace info on each subsystem to be printed */ 2 25 3 fill bit(30) unal; 2 26 2 27 /* END INCLUDE FILE gse_ext_.incl.pl1 */ 205 206 3 1 /* BEGIN INCLUDE FILE gtss_db_names.incl.pl1 */ 3 2 /* 3 3* Created: (Wardd Multics) 03/29/79 1909.1 mst Thu 3 4**/ 3 5 3 6 /* To provide a new debugging switch: 3 7* 3 8* 1) Locate the comment "Insert next entry above this comment". 3 9* 3 10* 2) Place a new declaration for a db_ variable just 3 11* above this comment, in the same manner as the 3 12* current declaration just above the comment, using 3 13* the next integer gtss_ext_$db index. 3 14* 3 15* 3) Execute the gtss|db_names ted macro (this updates 3 16* the sorted name table). 3 17* 3 18* 4) Example use: 3 19* 3 20* if db_drl_grow then do; 3 21* . 3 22* . 3 23* . 3 24* debug i/o statements using com_err_ or ioa_ 3 25* . 3 26* . 3 27* . 3 28* end; 3 29* 3 30**/ 3 31 3 32 dcl ( 3 33 db_ bit(1) defined(gtss_ext_$db(01)) 3 34 ,db_CFP_input bit(1) defined(gtss_ext_$db(02)) 3 35 ,db_drl_addmem bit(1) defined(gtss_ext_$db(03)) 3 36 ,db_drl_defil bit(1) defined(gtss_ext_$db(04)) 3 37 ,db_drl_filact bit(1) defined(gtss_ext_$db(05)) 3 38 ,db_drl_filsp bit(1) defined(gtss_ext_$db(06)) 3 39 ,db_drl_grow bit(1) defined(gtss_ext_$db(07)) 3 40 ,db_drl_rew bit(1) defined(gtss_ext_$db(08)) 3 41 ,db_filact_funct02 bit(1) defined(gtss_ext_$db(09)) 3 42 ,db_filact_funct03 bit(1) defined(gtss_ext_$db(10)) 3 43 ,db_filact_funct04 bit(1) defined(gtss_ext_$db(11)) 3 44 ,db_filact_funct05 bit(1) defined(gtss_ext_$db(12)) 3 45 ,db_filact_funct10 bit(1) defined(gtss_ext_$db(13)) 3 46 ,db_filact_funct11 bit(1) defined(gtss_ext_$db(14)) 3 47 ,db_filact_funct14 bit(1) defined(gtss_ext_$db(15)) 3 48 ,db_filact_funct18 bit(1) defined(gtss_ext_$db(16)) 3 49 ,db_filact_funct19 bit(1) defined(gtss_ext_$db(17)) 3 50 ,db_filact_funct21 bit(1) defined(gtss_ext_$db(18)) 3 51 ,db_filact_funct22 bit(1) defined(gtss_ext_$db(19)) 3 52 ,db_interp_prim bit(1) defined(gtss_ext_$db(20)) 3 53 ,db_ios bit(1) defined(gtss_ext_$db(21)) 3 54 ,db_run_subsystem bit(1) defined(gtss_ext_$db(22)) 3 55 ,db_drl_t_cfio bit(1) defined(gtss_ext_$db(23)) 3 56 ,db_drl_switch bit(1) defined(gtss_ext_$db(24)) 3 57 ,db_drl_dio bit(1) defined(gtss_ext_$db(25)) 3 58 ,db_drl_retfil bit(1) defined(gtss_ext_$db(26)) 3 59 ,db_drl_msub bit(1) defined(gtss_ext_$db(27)) 3 60 ,db_drl_callss bit(1) defined(gtss_ext_$db(28)) 3 61 ,db_drl_rstswh bit(1) defined(gtss_ext_$db(29)) 3 62 ,db_drl_setswh bit(1) defined(gtss_ext_$db(30)) 3 63 ,db_mcfc bit(1) defined(gtss_ext_$db(31)) 3 64 ,db_dq bit(1) defined(gtss_ext_$db(32)) 3 65 ,db_abs bit(1) defined(gtss_ext_$db(33)) 3 66 ,db_attributes_mgr bit(1) defined(gtss_ext_$db(34)) 3 67 ,db_expand_pathname bit(1) defined(gtss_ext_$db(35)) 3 68 ,db_drl_part bit(1) defined(gtss_ext_$db(36)) 3 69 ,db_drl_morlnk bit(1) defined(gtss_ext_$db(37)) 3 70 ,db_drl_kin bit(1) defined(gtss_ext_$db(38)) 3 71 /* Insert next entry above this comment. */ 3 72 ); 3 73 3 74 /* Table of sorted names. */ 3 75 dcl 1 debug_bit_names (38) static int options(constant) 3 76 , 2 name char(18)var init( 3 77 "" ,"CFP_input" ,"abs" ,"attributes_mgr" ,"dq" ,"drl_addmem" 3 78 ,"drl_callss" ,"drl_defil" ,"drl_dio" ,"drl_filact" ,"drl_filsp" 3 79 ,"drl_grow" ,"drl_kin" ,"drl_morlnk" ,"drl_msub" ,"drl_part" 3 80 ,"drl_retfil" ,"drl_rew" ,"drl_rstswh" ,"drl_setswh" ,"drl_switch" 3 81 ,"drl_t_cfio" ,"expand_pathname" ,"filact_funct02" ,"filact_funct03" 3 82 ,"filact_funct04" ,"filact_funct05" ,"filact_funct10" ,"filact_funct11" 3 83 ,"filact_funct14" ,"filact_funct18" ,"filact_funct19" ,"filact_funct21" 3 84 ,"filact_funct22" ,"interp_prim" ,"ios" ,"mcfc" ,"run_subsystem" 3 85 ) 3 86 , 2 value fixed bin init( 3 87 01 ,02 ,33 ,34 ,32 ,03 ,28 ,04 ,25 ,05 ,06 ,07 ,38 ,37 ,27 ,36 ,26 ,08 3 88 ,29 ,30 ,24 ,23 ,35 ,09 ,10 ,11 ,12 ,13 ,14 ,15 ,16 ,17 ,18 ,19 ,20 ,21 3 89 ,31 ,22 3 90 ); 3 91 /* End of table. */ 3 92 /* END INCLUDE FILE gtss_db_names.incl.pl1 */ 207 208 4 1 /* BEGIN INCLUDE FILE gtss_ext_.incl.pl1 */ 4 2 /* 4 3* Created: (Wardd Multics) 05/20/78 1307.6 mst Sat 4 4* Modified: Ward 1981 add suspended_process dcl 4 5* Modified: Ron Barstad 83-07-21 Fixed level number on mcfc to 3 4 6* Modified: Ron Barstad 83-07-25 Fixed derail range in statistics to 4js3 number 4 7**/ 4 8 dcl gtss_ext_$aem fixed bin static ext /* >0 Print "additional" error information. */; 4 9 dcl gtss_ext_$bad_drl_rtrn static ext label /* Default for drl_rtrn. */; 4 10 dcl gtss_ext_$db (72)bit(1)unal static ext; 4 11 dcl gtss_ext_$deferred_catalogs_ptr ptr ext; 4 12 dcl gtss_ext_$dispose_of_drl static ext label /* quit handlers for some derails use this label to abort */; 4 13 dcl gtss_ext_$drl_rtrn (4)static ext label /* where to return at subsystem end */; 4 14 dcl gtss_ext_$drm_path char(168)static ext /* gtss_expand_pathname_stores drm_path */; 4 15 dcl gtss_ext_$drun_jid char (5) static ext /* valid only for DRUN executing under absentee */; 4 16 dcl gtss_ext_$event_channel fixed bin (71) static ext /* used for DABT signals */; 4 17 dcl gtss_ext_$finished static ext label /* Return to gtss for normal conclusion. */; 4 18 dcl gtss_ext_$gdb_name char(8)ext /* Name H* module to debug. */; 4 19 dcl gtss_ext_$get_line entry(ptr,ptr,fixed bin(21),fixed bin(21),fixed bin(35))variable ext /* Build mode input procedure. */; 4 20 dcl gtss_ext_$gtss_slave_area_seg (4) ext static ptr /* pointer to gtss slave area segment */; 4 21 dcl gtss_ext_$hcs_work_area_ptr ptr ext static /* Temp seg for acl lists. */; 4 22 dcl gtss_ext_$homedir char (64) static ext /* user's home dir */; 4 23 dcl gtss_ext_$last_k_was_out bit (1)aligned ext static /* "1"b => last tty output was output. */; 4 24 dcl gtss_ext_$pdir char (168) varying ext static /* pathname of process directory */; 4 25 dcl gtss_ext_$popup_from_pi static ext label /* transfer to this label after pi simulates popup primitive */; 4 26 dcl gtss_ext_$process_type fixed bin (17) static ext; 4 27 dcl gtss_ext_$put_chars entry(ptr,ptr,fixed bin(24),fixed bin(35)) variable ext /* Terminal output procedure. */; 4 28 dcl gtss_ext_$restart_from_pi static ext label /* transfer to this label after pi restores machine conditions */; 4 29 dcl gtss_ext_$restart_seg_ptr ptr static ext /* points to DRUN restart file when exec under absentee */; 4 30 dcl gtss_ext_$sig_ptr ext static ptr /* saved ptr to signal_ */; 4 31 dcl gtss_ext_$stack_level_ fixed bin ext static; 4 32 dcl gtss_ext_$suspended_process bit(1) ext static; 4 33 dcl gtss_ext_$SYstarstar_file_no fixed bin (24) static ext; 4 34 dcl gtss_ext_$user_id char (26)var ext; 4 35 dcl gtss_ext_$work_area_ptr ptr ext; 4 36 4 37 dcl 1 gtss_ext_$CFP_bits aligned static external 4 38 , 3 no_input_yet bit (1) unaligned /* used in gtss_CFP_input_, gtss_read_starCFP_ */ 4 39 , 3 rtn_bits bit (4) unaligned /* used in gtss_CFP_input_, gtss_CFP_output_ */ 4 40 , 3 cpos_called bit (1) unaligned /* used in gtss_CFP_input_, gtss_drl_t_cfio_, gtss_abandon_CFP_ */ 4 41 , 3 cout_called bit (1) unaligned /* used in gtss_read_starCFP_, gtss_abandon_CFP_ */ 4 42 , 3 build_mode bit (1) unaligned /* used in gtss_build_, gtss_dsd_process_ */ 4 43 ; 4 44 4 45 dcl 1 gtss_ext_$com_reg aligned static ext, 4 46 3 tsdmx, 4 47 4 dst fixed bin (18) unsigned unaligned, 4 48 4 dit fixed bin (18) unsigned unaligned, 4 49 3 tsdpt fixed bin (36) unsigned unaligned, 4 50 3 tsddt fixed bin (36) unsigned unaligned, 4 51 3 tsdid bit (72) unaligned, 4 52 3 tsdsd bit (36) unaligned, 4 53 3 tsdst fixed bin (36) unsigned unaligned, 4 54 3 tsdjb fixed bin (35) unaligned, 4 55 3 tsdgt, 4 56 4 ust_loc fixed bin (18) unsigned unaligned, 4 57 4 gating_ctl fixed bin (18) unsigned unaligned, 4 58 3 tcdfr bit (36) unaligned; 4 59 4 60 dcl 1 gtss_ext_$flags aligned static ext 4 61 , 3 dispose_of_drl_on_pi bit (01) unal /* 1 => drl that should be aborted after quit-pi sequence */ 4 62 , 3 drl_in_progress bit (01) unal /* 1 => drl handler executing; 0 => gcos code executing */ 4 63 , 3 popup_from_pi bit (01) unal /* 1 => derail processor will simulate Gcos break instead of returning */ 4 64 , 3 unfinished_drl bit (01) unal /* 1 => subsystem is handling breaks and quit was raised during a drl */ 4 65 , 3 ss_time_limit_set bit (01) unal /* 1 => exec time limit set for subsystem */ 4 66 , 3 timer_ranout bit (01) unal /* 1 => user is executing timer runout code */ 4 67 , 3 gtss_com_err_sw bit (01) unal /* 1 => stop com_err_ string from going to terminal */ 4 68 , 3 available bit (65) unal 4 69 ; 4 70 4 71 4 72 dcl 1 gtss_ext_$statistics aligned static ext, /* Derail usage statistics */ 4 73 3 total_time (-10:71)fixed bin (71), 4 74 3 count (-10:71)fixed bin (17); 4 75 4 76 /* Declaration of Available File Table 4 77* */ 4 78 dcl 1 gtss_ext_$aft aligned ext, /* aft structure */ 4 79 4 80 3 start_list (0:102) fixed bin (24), /* >0 => 1st aft_entry row to start of next entry chain. */ 4 81 4 82 3 aft_entry (20), 4 83 4 altname char (8), /* altname name for attaching this file */ 4 84 4 next_entry fixed bin (24), /* Next aft_entry in hash chain. */ 4 85 4 previous_add fixed bin (24), /* Previously added entry. */ 4 86 4 next_add fixed bin (24), /* Entry added after this one. */ 4 87 4 used bit (1) unal, /* "1"b => aft_entry contains AFT value. */ 4 88 4 forced bit(1) unal, /* "1"b => gtss_verify_access_ forced access on this file. */ 4 89 4 90 3 free_space fixed bin (24), /* Index of start of free space list for aft entries. */ 4 91 3 first_added fixed bin (24), /* >0 => start of chain in add order. */ 4 92 3 last_added fixed bin (24) /* >0 => end of chain in added order. */; 4 93 4 94 dcl gtss_ext_$ppt ptr ext /* switch name for tapein drl */; 4 95 /** Data structure to provide access to installed 4 96* subsystems fast library load. 4 97* **/ 4 98 dcl 1 gtss_ext_$fast_lib aligned ext 4 99 , 3 fast_lib_fcb ptr /* Pointer to msf fcb. */ 4 100 , 3 fast_lib_ncp fixed bin (24) /* Number of components. */ 4 101 , 3 comp_ptr (0:9)ptr /* Pointer to component. */ 4 102 , 3 comp_wds (0:9)fixed bin (24) /* Component length (words). */ 4 103 ; 4 104 4 105 /* Pointers to segments to regulate multipler 4 106* callers to files. Same segments are used to regulate 4 107* all simulator callers. 4 108**/ 4 109 dcl 1 gtss_ext_$mcfc aligned ext, 4 110 3 multics_lock_id bit(36), 4 111 3 wait_time fixed bin, 4 112 3 files_ptr ptr, 4 113 3 names_ptr ptr, 4 114 3 callers_ptr (0:3)ptr 4 115 ; 4 116 4 117 /* END INCLUDE FILE gtss_ext_.incl.pl1 */ 209 210 end /* gtss_expand_pathname_ */; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 12/10/84 1043.9 gtss_expand_pathname_.pl1 >spec>on>7105>gtss_expand_pathname_.pl1 203 1 09/09/83 1713.5 gtss_ascii_file_names.incl.pl1 >ldd>include>gtss_ascii_file_names.incl.pl1 205 2 09/09/83 1713.4 gse_ext_.incl.pl1 >ldd>include>gse_ext_.incl.pl1 207 3 09/09/83 1713.6 gtss_db_names.incl.pl1 >ldd>include>gtss_db_names.incl.pl1 209 4 09/09/83 1713.8 gtss_ext_.incl.pl1 >ldd>include>gtss_ext_.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. acf based structure level 1 dcl 202 acfp 000162 automatic pointer initial dcl 178 set ref 46* 51 52 60 60 62 63 65 68 68 75 93 120 122 126 126 178* ascii_cat_file 000457 automatic structure level 1 unaligned dcl 1-8 com_err_ 000064 constant entry external dcl 179 ref 164 db_expand_pathname defined bit(1) unaligned dcl 3-32 ref 49 164 directory 000164 automatic varying char(168) dcl 180 set ref 78* 83* 87* 91 121* 121 122* 122 125 151 151 151 152 152 152 dl 000237 automatic fixed bin(17,0) dcl 181 set ref 101* 102 106 107 108 109 dn parameter char unaligned dcl 36 set ref 14 43 67* 96* 108* 110 110* 113* 125* 133 141* 142* 146 146 164* dnr 000100 automatic char(168) unaligned dcl 176 set ref 133* 141 141 142 153* dnv 000240 automatic varying char(168) dcl 182 set ref 61* 62* 62 64* 64 65* 65 67 ec 000313 automatic fixed bin(35,0) dcl 183 set ref 133* 140 153* 160 164* en parameter char unaligned dcl 37 set ref 14 43 68* 97* 109* 114* 126* 133 144* 164* enr 000152 automatic char(32) unaligned dcl 177 set ref 133* 144 153* error_table_$badpath 000066 external static fixed bin(35,0) dcl 184 ref 103 error_table_$no_dir 000070 external static fixed bin(35,0) dcl 185 ref 160 get_wdir_ 000072 constant entry external dcl 186 ref 82 gse_ext_$drm_rule 000100 external static fixed bin(24,0) dcl 2-6 ref 76 94 gse_ext_$smc_pathname 000102 external static char(168) unaligned dcl 2-16 ref 86 gtss_ext_$db 000104 external static bit(1) array unaligned dcl 4-10 ref 49 49 164 164 gtss_ext_$drm_path 000106 external static char(168) unaligned dcl 4-14 set ref 91* 92 92* 92 146 146 146* hcs_$get_link_target 000074 constant entry external dcl 187 ref 133 153 i 000314 automatic fixed bin(17,0) dcl 188 set ref 51* 52* 52* 63* 65* 120* 122* ioa_ 000076 constant entry external dcl 189 ref 50 52 name 1 based char(12) array level 2 dcl 202 set ref 52* 60 60 62 65 68 75 122 126 nl 000315 automatic fixed bin(17,0) dcl 191 set ref 106* 107 107* 109 nn based fixed bin(17,0) level 2 dcl 202 ref 51 63 68 93 120 126 np parameter pointer dcl 35 ref 14 43 46 rs parameter fixed bin(35,0) dcl 38 set ref 14 43 56* 103* rtrim builtin function dcl 192 ref 62 65 75 83 86 122 146 sc parameter bit(18) unaligned dcl 193 set ref 43 160* 161* smc_name 000010 internal static varying char(168) dcl 194 set ref 86* 87 113 umc_dir 000316 automatic char(168) unaligned dcl 196 set ref 151* 153* umc_entry 000370 automatic char(32) unaligned dcl 197 set ref 152* 153* umc_name 000400 automatic varying char(12) dcl 198 set ref 75* 78 78 87 96 97 114 verifying 000404 automatic bit(1) unaligned dcl 199 set ref 40* 44* 118 wd 000405 automatic char(168) unaligned dcl 200 set ref 82* 83 101 106 106 108 108 109 109 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. db_ defined bit(1) unaligned dcl 3-32 db_CFP_input defined bit(1) unaligned dcl 3-32 db_abs defined bit(1) unaligned dcl 3-32 db_attributes_mgr defined bit(1) unaligned dcl 3-32 db_dq defined bit(1) unaligned dcl 3-32 db_drl_addmem defined bit(1) unaligned dcl 3-32 db_drl_callss defined bit(1) unaligned dcl 3-32 db_drl_defil defined bit(1) unaligned dcl 3-32 db_drl_dio defined bit(1) unaligned dcl 3-32 db_drl_filact defined bit(1) unaligned dcl 3-32 db_drl_filsp defined bit(1) unaligned dcl 3-32 db_drl_grow defined bit(1) unaligned dcl 3-32 db_drl_kin defined bit(1) unaligned dcl 3-32 db_drl_morlnk defined bit(1) unaligned dcl 3-32 db_drl_msub defined bit(1) unaligned dcl 3-32 db_drl_part defined bit(1) unaligned dcl 3-32 db_drl_retfil defined bit(1) unaligned dcl 3-32 db_drl_rew defined bit(1) unaligned dcl 3-32 db_drl_rstswh defined bit(1) unaligned dcl 3-32 db_drl_setswh defined bit(1) unaligned dcl 3-32 db_drl_switch defined bit(1) unaligned dcl 3-32 db_drl_t_cfio defined bit(1) unaligned dcl 3-32 db_filact_funct02 defined bit(1) unaligned dcl 3-32 db_filact_funct03 defined bit(1) unaligned dcl 3-32 db_filact_funct04 defined bit(1) unaligned dcl 3-32 db_filact_funct05 defined bit(1) unaligned dcl 3-32 db_filact_funct10 defined bit(1) unaligned dcl 3-32 db_filact_funct11 defined bit(1) unaligned dcl 3-32 db_filact_funct14 defined bit(1) unaligned dcl 3-32 db_filact_funct18 defined bit(1) unaligned dcl 3-32 db_filact_funct19 defined bit(1) unaligned dcl 3-32 db_filact_funct21 defined bit(1) unaligned dcl 3-32 db_filact_funct22 defined bit(1) unaligned dcl 3-32 db_interp_prim defined bit(1) unaligned dcl 3-32 db_ios defined bit(1) unaligned dcl 3-32 db_mcfc defined bit(1) unaligned dcl 3-32 db_run_subsystem defined bit(1) unaligned dcl 3-32 debug_bit_names internal static structure array level 1 unaligned dcl 3-75 gse_ext_$gcos_debug_pathname external static char(168) unaligned dcl 2-15 gse_ext_$modes external static structure level 1 dcl 2-18 gse_ext_$umc_name external static char(12) unaligned dcl 2-17 gtss_ext_$CFP_bits external static structure level 1 dcl 4-37 gtss_ext_$SYstarstar_file_no external static fixed bin(24,0) dcl 4-33 gtss_ext_$aem external static fixed bin(17,0) dcl 4-8 gtss_ext_$aft external static structure level 1 dcl 4-78 gtss_ext_$bad_drl_rtrn external static label variable dcl 4-9 gtss_ext_$com_reg external static structure level 1 dcl 4-45 gtss_ext_$deferred_catalogs_ptr external static pointer dcl 4-11 gtss_ext_$dispose_of_drl external static label variable dcl 4-12 gtss_ext_$drl_rtrn external static label variable array dcl 4-13 gtss_ext_$drun_jid external static char(5) unaligned dcl 4-15 gtss_ext_$event_channel external static fixed bin(71,0) dcl 4-16 gtss_ext_$fast_lib external static structure level 1 dcl 4-98 gtss_ext_$finished external static label variable dcl 4-17 gtss_ext_$flags external static structure level 1 dcl 4-60 gtss_ext_$gdb_name external static char(8) unaligned dcl 4-18 gtss_ext_$get_line external static entry variable dcl 4-19 gtss_ext_$gtss_slave_area_seg external static pointer array dcl 4-20 gtss_ext_$hcs_work_area_ptr external static pointer dcl 4-21 gtss_ext_$homedir external static char(64) unaligned dcl 4-22 gtss_ext_$last_k_was_out external static bit(1) dcl 4-23 gtss_ext_$mcfc external static structure level 1 dcl 4-109 gtss_ext_$pdir external static varying char(168) dcl 4-24 gtss_ext_$popup_from_pi external static label variable dcl 4-25 gtss_ext_$ppt external static pointer dcl 4-94 gtss_ext_$process_type external static fixed bin(17,0) dcl 4-26 gtss_ext_$put_chars external static entry variable dcl 4-27 gtss_ext_$restart_from_pi external static label variable dcl 4-28 gtss_ext_$restart_seg_ptr external static pointer dcl 4-29 gtss_ext_$sig_ptr external static pointer dcl 4-30 gtss_ext_$stack_level_ external static fixed bin(17,0) dcl 4-31 gtss_ext_$statistics external static structure level 1 dcl 4-72 gtss_ext_$suspended_process external static bit(1) unaligned dcl 4-32 gtss_ext_$user_id external static varying char(26) dcl 4-34 gtss_ext_$work_area_ptr external static pointer dcl 4-35 n automatic char(12) unaligned dcl 190 translate builtin function dcl 195 NAMES DECLARED BY EXPLICIT CONTEXT. case_A 000000 constant label array(3) dcl 77 ref 76 case_B 000003 constant label array(3) dcl 95 set ref 94 complete 001117 constant label dcl 128 ref 69 98 111 115 end_case_A 000610 constant label dcl 89 ref 79 84 gtss_expand_pathname_ 000077 constant entry external dcl 14 main_entry 000160 constant label dcl 46 ref 41 verify_umc 000132 constant entry external dcl 43 NAMES DECLARED BY CONTEXT OR IMPLICATION. index builtin function ref 151 152 length builtin function ref 106 108 109 146 151 152 null builtin function ref 178 reverse builtin function ref 101 151 152 search builtin function ref 101 106 substr builtin function ref 92 92 106 108 109 141 141 146 151 152 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 2172 2302 2027 2202 Length 2564 2027 110 245 142 54 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME gtss_expand_pathname_ 390 external procedure is an external procedure. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 smc_name gtss_expand_pathname_ STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME gtss_expand_pathname_ 000100 dnr gtss_expand_pathname_ 000152 enr gtss_expand_pathname_ 000162 acfp gtss_expand_pathname_ 000164 directory gtss_expand_pathname_ 000237 dl gtss_expand_pathname_ 000240 dnv gtss_expand_pathname_ 000313 ec gtss_expand_pathname_ 000314 i gtss_expand_pathname_ 000315 nl gtss_expand_pathname_ 000316 umc_dir gtss_expand_pathname_ 000370 umc_entry gtss_expand_pathname_ 000400 umc_name gtss_expand_pathname_ 000404 verifying gtss_expand_pathname_ 000405 wd gtss_expand_pathname_ 000457 ascii_cat_file gtss_expand_pathname_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_cs cat_realloc_cs call_ext_out_desc call_ext_out return shorten_stack ext_entry_desc THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ get_wdir_ hcs_$get_link_target ioa_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$badpath error_table_$no_dir gse_ext_$drm_rule gse_ext_$smc_pathname gtss_ext_$db gtss_ext_$drm_path LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 178 000066 14 000072 40 000123 41 000124 43 000125 44 000156 46 000160 49 000164 50 000170 51 000203 52 000213 53 000243 56 000245 60 000246 61 000257 62 000264 63 000310 64 000321 65 000330 66 000365 67 000367 68 000376 69 000407 75 000410 76 000430 77 000433 78 000434 79 000477 81 000501 82 000502 83 000510 84 000530 85 000531 86 000532 87 000554 89 000610 91 000612 92 000620 93 000641 94 000645 95 000647 96 000650 97 000670 98 000677 100 000700 101 000701 102 000713 103 000715 104 000717 106 000720 107 000742 108 000745 109 000755 110 000767 111 000777 112 001000 113 001001 114 001010 115 001016 118 001017 120 001021 121 001031 122 001040 123 001075 125 001077 126 001106 128 001117 133 001120 140 001172 141 001175 142 001220 144 001227 146 001234 149 001256 151 001257 152 001276 153 001307 160 001335 161 001347 164 001354 172 001423 ----------------------------------------------------------- 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