COMPILATION LISTING OF SEGMENT create_urf Compiled by: Multics PL/I Compiler, Release 28d, of October 4, 1983 Compiled at: Honeywell Multics Op. - System M Compiled on: 12/05/84 1104.0 mst Wed Options: optimize list 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1984 * 4* * * 5* *********************************************************** */ 6 /* CREATE_URF: Program to create an empty URF. Used by acct_start_up.ec 7* when setting up the answering service environment for the first time. */ 8 9 /* format: style2 */ 10 /* Created 1984-08-28 by E. Swenson */ 11 12 create_urf: 13 procedure options (variable); 14 15 /* Automatic */ 16 17 dcl argument_idx fixed bin (17); 18 dcl argument_lth fixed bin (21); 19 dcl argument_ptr ptr; 20 dcl code fixed bin (35); 21 dcl dirname char (168); 22 dcl entryname char (32); 23 dcl n_arguments fixed bin (17); 24 dcl size fixed bin (17); 25 26 dcl 1 mti aligned like ms_table_info automatic; 27 28 /* External Entries */ 29 30 dcl com_err_ entry () options (variable); 31 dcl cu_$arg_count entry (fixed bin, fixed bin (35)); 32 dcl cu_$arg_ptr entry (fixed bin, ptr, fixed bin (21), fixed bin (35)); 33 dcl cv_dec_check_ entry (char (*), fixed bin (35)) returns (fixed bin (35)); 34 dcl expand_pathname_ entry (char (*), char (*), char (*), fixed bin (35)); 35 dcl pathname_ entry (char (*), char (*)) returns (char (168)); 36 dcl ms_table_mgr_$create entry (char (*), char (*), ptr, fixed bin (35)); 37 38 /* External Static */ 39 40 dcl error_table_$noarg fixed bin (35) external static; 41 dcl error_table_$bad_arg fixed bin (35) external static; 42 dcl error_table_$badopt fixed bin (35) external static; 43 44 /* Based */ 45 46 dcl argument char (argument_lth) based (argument_ptr); 47 48 /* Constant */ 49 50 dcl ME char (32) initial ("create_urf") internal static options (constant); 51 dcl SIZE_DEFAULT fixed bin (17) initial (100) internal static options (constant); 52 53 54 call cu_$arg_count (n_arguments, code); 55 if code ^= 0 56 then do; 57 call com_err_ (code, ME); 58 return; 59 end; 60 61 if n_arguments = 0 62 then do; 63 call com_err_ (0, ME, "Usage: ^a pathname_of_new_urf -control_args", ME); 64 return; 65 end; 66 67 call cu_$arg_ptr (1, argument_ptr, argument_lth, (0)); 68 call expand_pathname_ (argument, dirname, entryname, code); 69 if code ^= 0 70 then do; 71 call com_err_ (code, ME, "^a", argument); 72 return; 73 end; 74 75 size = SIZE_DEFAULT; /* Initialize default size of URF */ 76 77 do argument_idx = 2 to n_arguments; 78 call cu_$arg_ptr (argument_idx, argument_ptr, argument_lth, (0)); 79 if argument = "-size" 80 then do; 81 if argument_idx = n_arguments 82 then do; 83 call com_err_ (error_table_$noarg, ME, "-size"); 84 return; 85 end; 86 argument_idx = argument_idx + 1; 87 call cu_$arg_ptr (argument_idx, argument_ptr, argument_lth, (0)); 88 size = cv_dec_check_ (argument, code); 89 if code ^= 0 90 then do; 91 call com_err_ (error_table_$bad_arg, ME, "-size ^a", argument); 92 return; 93 end; 94 end; 95 else do; 96 call com_err_ (error_table_$badopt, ME, "^a", argument); 97 return; 98 end; 99 end; 100 101 mti.version = MS_TABLE_INFO_VERSION_3; 102 mti.type = "URF"; 103 mti.header_size = 0; 104 mti.entry_size = 48; 105 mti.max_entries = size; 106 mti.max_size = 65536; /* Maximum size of each component */ 107 mti.keep_meters = "0"b; 108 109 call ms_table_mgr_$create (dirname, entryname, addr (mti), code); 110 if code ^= 0 111 then call com_err_ (code, ME, "Creating URF ^a.", pathname_ (dirname, entryname)); 112 return; 113 114 /* format: off */ 115 /* Begin include file ms_table_info.incl.pl1 */ 1 2 /* Written by C. Hornig, June 1979 */ 1 3 /* Modified by B. Margolin, July 1983, for version 2 */ 1 4 /* Modified 1984-07-24 BIM for V3, improved hash, checksums */ 1 5 1 6 /* This information is passed to ms_table_mgr_$create when a multi-segment 1 7* table is created. */ 1 8 1 9 /* format: style3 */ 1 10 1 11 declare MS_TABLE_INFO_VERSION_3 1 12 fixed init (3) internal static options (constant); 1 13 1 14 declare 1 ms_table_info aligned based, 1 15 2 version fixed, /* Should be 3 */ 1 16 2 type character (32), /* what table is this? */ 1 17 2 ( 1 18 header_size, /* length of table header in words */ 1 19 entry_size 1 20 ) unsigned fixed (18), /* same for table entries */ 1 21 2 max_entries unsigned fixed bin (18), /* how many entries */ 1 22 2 max_size fixed bin (19), /* max segment length */ 1 23 2 keep_meters bit (1) aligned; /* table is writable to readers */ 1 24 1 25 /* End include file ms_table_info.incl.pl1 */ 115 116 /* format: on */ 117 118 end create_urf; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 12/05/84 0857.0 create_urf.pl1 >special_ldd>temp>as>create_urf.pl1 115 1 12/05/84 0834.4 ms_table_info.incl.pl1 >special_ldd>temp>as>ms_table_info.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 000000 constant char(32) initial unaligned dcl 50 set ref 57* 63* 63* 71* 83* 91* 96* 110* MS_TABLE_INFO_VERSION_3 constant fixed bin(17,0) initial dcl 1-11 ref 101 SIZE_DEFAULT constant fixed bin(17,0) initial dcl 51 ref 75 argument based char unaligned dcl 46 set ref 68* 71* 79 88* 91* 96* argument_idx 000100 automatic fixed bin(17,0) dcl 17 set ref 77* 78* 81 86* 86 87* argument_lth 000101 automatic fixed bin(21,0) dcl 18 set ref 67* 68 68 71 71 78* 79 87* 88 88 91 91 96 96 argument_ptr 000102 automatic pointer dcl 19 set ref 67* 68 71 78* 79 87* 88 91 96 code 000104 automatic fixed bin(35,0) dcl 20 set ref 54* 55 57* 68* 69 71* 88* 89 109* 110 110* com_err_ 000010 constant entry external dcl 30 ref 57 63 71 83 91 96 110 cu_$arg_count 000012 constant entry external dcl 31 ref 54 cu_$arg_ptr 000014 constant entry external dcl 32 ref 67 78 87 cv_dec_check_ 000016 constant entry external dcl 33 ref 88 dirname 000105 automatic char(168) unaligned dcl 21 set ref 68* 109* 110* 110* entry_size 12 000171 automatic fixed bin(18,0) level 2 unsigned dcl 26 set ref 104* entryname 000157 automatic char(32) unaligned dcl 22 set ref 68* 109* 110* 110* error_table_$bad_arg 000030 external static fixed bin(35,0) dcl 41 set ref 91* error_table_$badopt 000032 external static fixed bin(35,0) dcl 42 set ref 96* error_table_$noarg 000026 external static fixed bin(35,0) dcl 40 set ref 83* expand_pathname_ 000020 constant entry external dcl 34 ref 68 header_size 11 000171 automatic fixed bin(18,0) level 2 unsigned dcl 26 set ref 103* keep_meters 15 000171 automatic bit(1) level 2 dcl 26 set ref 107* max_entries 13 000171 automatic fixed bin(18,0) level 2 unsigned dcl 26 set ref 105* max_size 14 000171 automatic fixed bin(19,0) level 2 dcl 26 set ref 106* ms_table_info based structure level 1 dcl 1-14 ms_table_mgr_$create 000024 constant entry external dcl 36 ref 109 mti 000171 automatic structure level 1 dcl 26 set ref 109 109 n_arguments 000167 automatic fixed bin(17,0) dcl 23 set ref 54* 61 77 81 pathname_ 000022 constant entry external dcl 35 ref 110 110 size 000170 automatic fixed bin(17,0) dcl 24 set ref 75* 88* 105 type 1 000171 automatic char(32) level 2 dcl 26 set ref 102* version 000171 automatic fixed bin(17,0) level 2 dcl 26 set ref 101* NAME DECLARED BY EXPLICIT CONTEXT. create_urf 000052 constant entry external dcl 12 NAME DECLARED BY CONTEXT OR IMPLICATION. addr builtin function ref 109 109 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 742 776 613 752 Length 1202 613 34 167 127 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME create_urf 228 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME create_urf 000100 argument_idx create_urf 000101 argument_lth create_urf 000102 argument_ptr create_urf 000104 code create_urf 000105 dirname create_urf 000157 entryname create_urf 000167 n_arguments create_urf 000170 size create_urf 000171 mti create_urf THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ cu_$arg_count cu_$arg_ptr cv_dec_check_ expand_pathname_ ms_table_mgr_$create pathname_ THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$bad_arg error_table_$badopt error_table_$noarg CONSTANTS 000000 aa 143 162 145 141 crea 000001 aa 164 145 137 165 te_u 000002 aa 162 146 040 040 rf 000003 aa 040 040 040 040 000004 aa 040 040 040 040 000005 aa 040 040 040 040 000006 aa 040 040 040 040 000007 aa 040 040 040 040 000010 aa 524000000250 000011 aa 524000000020 000012 aa 464000000000 000013 aa 125 122 106 000 URF 000014 aa 524000000010 000015 aa 524000000005 000016 aa 524000000002 000017 aa 526000000000 000020 aa 524000000053 000021 aa 404000000005 000022 aa 526000000040 000023 aa 526000000250 000024 aa 404000000043 000026 aa 055 163 151 172 -siz 000027 aa 145 040 136 141 e ^a 000030 aa 055 163 151 172 -siz 000031 aa 145 000 000 000 e 000032 aa 103 162 145 141 Crea 000033 aa 164 151 156 147 ting 000034 aa 040 125 122 106 URF 000035 aa 040 136 141 056 ^a. 000036 aa 125 163 141 147 Usag 000037 aa 145 072 040 136 e: ^ 000040 aa 141 040 160 141 a pa 000041 aa 164 150 156 141 thna 000042 aa 155 145 137 157 me_o 000043 aa 146 137 156 145 f_ne 000044 aa 167 137 165 162 w_ur 000045 aa 146 040 055 143 f -c 000046 aa 157 156 164 162 ontr 000047 aa 157 154 137 141 ol_a 000050 aa 162 147 163 000 rgs BEGIN PROCEDURE create_urf ENTRY TO create_urf STATEMENT 1 ON LINE 12 create_urf: procedure options (variable); 000051 da 000123240000 000052 aa 000360 6270 00 eax7 240 000053 aa 7 00034 3521 20 epp2 pr7|28,* 000054 aa 2 01045 2721 00 tsp2 pr2|549 ext_entry 000055 aa 000000000000 000056 aa 000000000000 STATEMENT 1 ON LINE 54 call cu_$arg_count (n_arguments, code); 000057 aa 6 00167 3521 00 epp2 pr6|119 n_arguments 000060 aa 6 00212 2521 00 spri2 pr6|138 000061 aa 6 00104 3521 00 epp2 pr6|68 code 000062 aa 6 00214 2521 00 spri2 pr6|140 000063 aa 6 00210 6211 00 eax1 pr6|136 000064 aa 010000 4310 07 fld 4096,dl 000065 la 4 00012 3521 20 epp2 pr4|10,* cu_$arg_count 000066 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 55 if code ^= 0 then do; 000067 aa 6 00104 2361 00 ldq pr6|68 code 000070 aa 000017 6000 04 tze 15,ic 000107 STATEMENT 1 ON LINE 57 call com_err_ (code, ME); 000071 aa 6 00104 3521 00 epp2 pr6|68 code 000072 aa 6 00220 2521 00 spri2 pr6|144 000073 aa 777705 3520 04 epp2 -59,ic 000000 = 143162145141 000074 aa 6 00222 2521 00 spri2 pr6|146 000075 aa 777727 3520 04 epp2 -41,ic 000024 = 404000000043 000076 aa 6 00224 2521 00 spri2 pr6|148 000077 aa 777723 3520 04 epp2 -45,ic 000022 = 526000000040 000100 aa 6 00226 2521 00 spri2 pr6|150 000101 aa 6 00216 6211 00 eax1 pr6|142 000102 aa 010000 4310 07 fld 4096,dl 000103 aa 6 00044 3701 20 epp4 pr6|36,* 000104 la 4 00010 3521 20 epp2 pr4|8,* com_err_ 000105 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 58 return; 000106 aa 0 00631 7101 00 tra pr0|409 return STATEMENT 1 ON LINE 59 end; STATEMENT 1 ON LINE 61 if n_arguments = 0 then do; 000107 aa 6 00167 2361 00 ldq pr6|119 n_arguments 000110 aa 000032 6010 04 tnz 26,ic 000142 STATEMENT 1 ON LINE 63 call com_err_ (0, ME, "Usage: ^a pathname_of_new_urf -control_args", ME); 000111 aa 6 00230 4501 00 stz pr6|152 000112 aa 000 100 100 404 mlr (ic),(pr),fill(000) 000113 aa 777724 00 0054 desc9a -44,44 000036 = 125163141147 000114 aa 6 00232 00 0054 desc9a pr6|154,44 000115 aa 6 00230 3521 00 epp2 pr6|152 000116 aa 6 00250 2521 00 spri2 pr6|168 000117 aa 777661 3520 04 epp2 -79,ic 000000 = 143162145141 000120 aa 6 00252 2521 00 spri2 pr6|170 000121 aa 6 00232 3521 00 epp2 pr6|154 000122 aa 6 00254 2521 00 spri2 pr6|172 000123 aa 777655 3520 04 epp2 -83,ic 000000 = 143162145141 000124 aa 6 00256 2521 00 spri2 pr6|174 000125 aa 777674 3520 04 epp2 -68,ic 000021 = 404000000005 000126 aa 6 00260 2521 00 spri2 pr6|176 000127 aa 777673 3520 04 epp2 -69,ic 000022 = 526000000040 000130 aa 6 00262 2521 00 spri2 pr6|178 000131 aa 6 00266 2521 00 spri2 pr6|182 000132 aa 777666 3520 04 epp2 -74,ic 000020 = 524000000053 000133 aa 6 00264 2521 00 spri2 pr6|180 000134 aa 6 00246 6211 00 eax1 pr6|166 000135 aa 020000 4310 07 fld 8192,dl 000136 aa 6 00044 3701 20 epp4 pr6|36,* 000137 la 4 00010 3521 20 epp2 pr4|8,* com_err_ 000140 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 64 return; 000141 aa 0 00631 7101 00 tra pr0|409 return STATEMENT 1 ON LINE 65 end; STATEMENT 1 ON LINE 67 call cu_$arg_ptr (1, argument_ptr, argument_lth, (0)); 000142 aa 000001 2360 07 ldq 1,dl 000143 aa 6 00230 7561 00 stq pr6|152 000144 aa 6 00245 4501 00 stz pr6|165 000145 aa 6 00230 3521 00 epp2 pr6|152 000146 aa 6 00220 2521 00 spri2 pr6|144 000147 aa 6 00102 3521 00 epp2 pr6|66 argument_ptr 000150 aa 6 00222 2521 00 spri2 pr6|146 000151 aa 6 00101 3521 00 epp2 pr6|65 argument_lth 000152 aa 6 00224 2521 00 spri2 pr6|148 000153 aa 6 00245 3521 00 epp2 pr6|165 000154 aa 6 00226 2521 00 spri2 pr6|150 000155 aa 6 00216 6211 00 eax1 pr6|142 000156 aa 020000 4310 07 fld 8192,dl 000157 aa 6 00044 3701 20 epp4 pr6|36,* 000160 la 4 00014 3521 20 epp2 pr4|12,* cu_$arg_ptr 000161 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 68 call expand_pathname_ (argument, dirname, entryname, code); 000162 aa 6 00101 2361 00 ldq pr6|65 argument_lth 000163 aa 526000 2760 03 orq 175104,du 000164 aa 6 00245 7561 00 stq pr6|165 000165 aa 6 00102 3521 20 epp2 pr6|66,* argument 000166 aa 6 00250 2521 00 spri2 pr6|168 000167 aa 6 00105 3521 00 epp2 pr6|69 dirname 000170 aa 6 00252 2521 00 spri2 pr6|170 000171 aa 6 00157 3521 00 epp2 pr6|111 entryname 000172 aa 6 00254 2521 00 spri2 pr6|172 000173 aa 6 00104 3521 00 epp2 pr6|68 code 000174 aa 6 00256 2521 00 spri2 pr6|174 000175 aa 6 00245 3521 00 epp2 pr6|165 000176 aa 6 00260 2521 00 spri2 pr6|176 000177 aa 777624 3520 04 epp2 -108,ic 000023 = 526000000250 000200 aa 6 00262 2521 00 spri2 pr6|178 000201 aa 777621 3520 04 epp2 -111,ic 000022 = 526000000040 000202 aa 6 00264 2521 00 spri2 pr6|180 000203 aa 777621 3520 04 epp2 -111,ic 000024 = 404000000043 000204 aa 6 00266 2521 00 spri2 pr6|182 000205 aa 6 00246 6211 00 eax1 pr6|166 000206 aa 020000 4310 07 fld 8192,dl 000207 aa 6 00044 3701 20 epp4 pr6|36,* 000210 la 4 00020 3521 20 epp2 pr4|16,* expand_pathname_ 000211 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 69 if code ^= 0 then do; 000212 aa 6 00104 2361 00 ldq pr6|68 code 000213 aa 000034 6000 04 tze 28,ic 000247 STATEMENT 1 ON LINE 71 call com_err_ (code, ME, "^a", argument); 000214 aa 6 00101 2361 00 ldq pr6|65 argument_lth 000215 aa 526000 2760 03 orq 175104,du 000216 aa 6 00245 7561 00 stq pr6|165 000217 aa 136141 2350 03 lda 48225,du 000220 aa 6 00230 7551 00 sta pr6|152 000221 aa 6 00104 3521 00 epp2 pr6|68 code 000222 aa 6 00250 2521 00 spri2 pr6|168 000223 aa 777555 3520 04 epp2 -147,ic 000000 = 143162145141 000224 aa 6 00252 2521 00 spri2 pr6|170 000225 aa 6 00230 3521 00 epp2 pr6|152 000226 aa 6 00254 2521 00 spri2 pr6|172 000227 aa 6 00102 3521 20 epp2 pr6|66,* argument 000230 aa 6 00256 2521 00 spri2 pr6|174 000231 aa 777573 3520 04 epp2 -133,ic 000024 = 404000000043 000232 aa 6 00260 2521 00 spri2 pr6|176 000233 aa 777567 3520 04 epp2 -137,ic 000022 = 526000000040 000234 aa 6 00262 2521 00 spri2 pr6|178 000235 aa 777561 3520 04 epp2 -143,ic 000016 = 524000000002 000236 aa 6 00264 2521 00 spri2 pr6|180 000237 aa 6 00245 3521 00 epp2 pr6|165 000240 aa 6 00266 2521 00 spri2 pr6|182 000241 aa 6 00246 6211 00 eax1 pr6|166 000242 aa 020000 4310 07 fld 8192,dl 000243 aa 6 00044 3701 20 epp4 pr6|36,* 000244 la 4 00010 3521 20 epp2 pr4|8,* com_err_ 000245 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 72 return; 000246 aa 0 00631 7101 00 tra pr0|409 return STATEMENT 1 ON LINE 73 end; STATEMENT 1 ON LINE 75 size = SIZE_DEFAULT; 000247 aa 000144 2360 07 ldq 100,dl 000250 aa 6 00170 7561 00 stq pr6|120 size STATEMENT 1 ON LINE 77 do argument_idx = 2 to n_arguments; 000251 aa 6 00167 2361 00 ldq pr6|119 n_arguments 000252 aa 6 00207 7561 00 stq pr6|135 000253 aa 000002 2360 07 ldq 2,dl 000254 aa 6 00100 7561 00 stq pr6|64 argument_idx 000255 aa 000000 0110 03 nop 0,du 000256 aa 6 00100 2361 00 ldq pr6|64 argument_idx 000257 aa 6 00207 1161 00 cmpq pr6|135 000260 aa 000213 6054 04 tpnz 139,ic 000473 STATEMENT 1 ON LINE 78 call cu_$arg_ptr (argument_idx, argument_ptr, argument_lth, (0)); 000261 aa 6 00245 4501 00 stz pr6|165 000262 aa 6 00100 3521 00 epp2 pr6|64 argument_idx 000263 aa 6 00220 2521 00 spri2 pr6|144 000264 aa 6 00102 3521 00 epp2 pr6|66 argument_ptr 000265 aa 6 00222 2521 00 spri2 pr6|146 000266 aa 6 00101 3521 00 epp2 pr6|65 argument_lth 000267 aa 6 00224 2521 00 spri2 pr6|148 000270 aa 6 00245 3521 00 epp2 pr6|165 000271 aa 6 00226 2521 00 spri2 pr6|150 000272 aa 6 00216 6211 00 eax1 pr6|142 000273 aa 020000 4310 07 fld 8192,dl 000274 aa 6 00044 3701 20 epp4 pr6|36,* 000275 la 4 00014 3521 20 epp2 pr4|12,* cu_$arg_ptr 000276 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 79 if argument = "-size" then do; 000277 aa 6 00102 3735 20 epp7 pr6|66,* argument_ptr 000300 aa 6 00101 2351 00 lda pr6|65 argument_lth 000301 aa 040 004 106 540 cmpc (pr,rl),(ic),fill(040) 000302 aa 7 00000 00 0005 desc9a pr7|0,al argument 000303 aa 777527 00 0005 desc9a -169,5 000030 = 055163151172 000304 aa 000132 6010 04 tnz 90,ic 000436 STATEMENT 1 ON LINE 81 if argument_idx = n_arguments then do; 000305 aa 6 00100 2361 00 ldq pr6|64 argument_idx 000306 aa 6 00167 1161 00 cmpq pr6|119 n_arguments 000307 aa 000025 6010 04 tnz 21,ic 000334 STATEMENT 1 ON LINE 83 call com_err_ (error_table_$noarg, ME, "-size"); 000310 aa 777520 2370 04 ldaq -176,ic 000030 = 055163151172 145000000000 000311 aa 6 00270 7571 00 staq pr6|184 000312 aa 6 00044 3701 20 epp4 pr6|36,* 000313 la 4 00026 3521 20 epp2 pr4|22,* error_table_$noarg 000314 aa 6 00250 2521 00 spri2 pr6|168 000315 aa 777463 3520 04 epp2 -205,ic 000000 = 143162145141 000316 aa 6 00252 2521 00 spri2 pr6|170 000317 aa 6 00270 3521 00 epp2 pr6|184 000320 aa 6 00254 2521 00 spri2 pr6|172 000321 aa 777503 3520 04 epp2 -189,ic 000024 = 404000000043 000322 aa 6 00256 2521 00 spri2 pr6|174 000323 aa 777477 3520 04 epp2 -193,ic 000022 = 526000000040 000324 aa 6 00260 2521 00 spri2 pr6|176 000325 aa 777470 3520 04 epp2 -200,ic 000015 = 524000000005 000326 aa 6 00262 2521 00 spri2 pr6|178 000327 aa 6 00246 6211 00 eax1 pr6|166 000330 aa 014000 4310 07 fld 6144,dl 000331 la 4 00010 3521 20 epp2 pr4|8,* com_err_ 000332 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 84 return; 000333 aa 0 00631 7101 00 tra pr0|409 return STATEMENT 1 ON LINE 85 end; STATEMENT 1 ON LINE 86 argument_idx = argument_idx + 1; 000334 aa 6 00100 0541 00 aos pr6|64 argument_idx STATEMENT 1 ON LINE 87 call cu_$arg_ptr (argument_idx, argument_ptr, argument_lth, (0)); 000335 aa 6 00245 4501 00 stz pr6|165 000336 aa 6 00100 3521 00 epp2 pr6|64 argument_idx 000337 aa 6 00220 2521 00 spri2 pr6|144 000340 aa 6 00102 3521 00 epp2 pr6|66 argument_ptr 000341 aa 6 00222 2521 00 spri2 pr6|146 000342 aa 6 00101 3521 00 epp2 pr6|65 argument_lth 000343 aa 6 00224 2521 00 spri2 pr6|148 000344 aa 6 00245 3521 00 epp2 pr6|165 000345 aa 6 00226 2521 00 spri2 pr6|150 000346 aa 6 00216 6211 00 eax1 pr6|142 000347 aa 020000 4310 07 fld 8192,dl 000350 aa 6 00044 3701 20 epp4 pr6|36,* 000351 la 4 00014 3521 20 epp2 pr4|12,* cu_$arg_ptr 000352 aa 0 00623 7001 00 tsx0 pr0|403 call_ext_out STATEMENT 1 ON LINE 88 size = cv_dec_check_ (argument, code); 000353 aa 6 00101 2361 00 ldq pr6|65 argument_lth 000354 aa 526000 2760 03 orq 175104,du 000355 aa 6 00245 7561 00 stq pr6|165 000356 aa 6 00102 3521 20 epp2 pr6|66,* argument 000357 aa 6 00250 2521 00 spri2 pr6|168 000360 aa 6 00104 3521 00 epp2 pr6|68 code 000361 aa 6 00252 2521 00 spri2 pr6|170 000362 aa 6 00230 3521 00 epp2 pr6|152 000363 aa 6 00254 2521 00 spri2 pr6|172 000364 aa 6 00245 3521 00 epp2 pr6|165 000365 aa 6 00256 2521 00 spri2 pr6|174 000366 aa 777436 3520 04 epp2 -226,ic 000024 = 404000000043 000367 aa 6 00260 2521 00 spri2 pr6|176 000370 aa 6 00262 2521 00 spri2 pr6|178 000371 aa 6 00246 6211 00 eax1 pr6|166 000372 aa 014000 4310 07 fld 6144,dl 000373 aa 6 00044 3701 20 epp4 pr6|36,* 000374 la 4 00016 3521 20 epp2 pr4|14,* cv_dec_check_ 000375 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc 000376 aa 6 00230 2361 00 ldq pr6|152 000377 aa 6 00170 7561 00 stq pr6|120 size STATEMENT 1 ON LINE 89 if code ^= 0 then do; 000400 aa 6 00104 2361 00 ldq pr6|68 code 000401 aa 000070 6000 04 tze 56,ic 000471 STATEMENT 1 ON LINE 91 call com_err_ (error_table_$bad_arg, ME, "-size ^a", argument); 000402 aa 6 00101 2361 00 ldq pr6|65 argument_lth 000403 aa 526000 2760 03 orq 175104,du 000404 aa 6 00245 7561 00 stq pr6|165 000405 aa 777421 2370 04 ldaq -239,ic 000026 = 055163151172 145040136141 000406 aa 6 00270 7571 00 staq pr6|184 000407 aa 6 00044 3701 20 epp4 pr6|36,* 000410 la 4 00030 3521 20 epp2 pr4|24,* error_table_$bad_arg 000411 aa 6 00250 2521 00 spri2 pr6|168 000412 aa 777366 3520 04 epp2 -266,ic 000000 = 143162145141 000413 aa 6 00252 2521 00 spri2 pr6|170 000414 aa 6 00270 3521 00 epp2 pr6|184 000415 aa 6 00254 2521 00 spri2 pr6|172 000416 aa 6 00102 3521 20 epp2 pr6|66,* argument 000417 aa 6 00256 2521 00 spri2 pr6|174 000420 aa 777404 3520 04 epp2 -252,ic 000024 = 404000000043 000421 aa 6 00260 2521 00 spri2 pr6|176 000422 aa 777400 3520 04 epp2 -256,ic 000022 = 526000000040 000423 aa 6 00262 2521 00 spri2 pr6|178 000424 aa 777370 3520 04 epp2 -264,ic 000014 = 524000000010 000425 aa 6 00264 2521 00 spri2 pr6|180 000426 aa 6 00245 3521 00 epp2 pr6|165 000427 aa 6 00266 2521 00 spri2 pr6|182 000430 aa 6 00246 6211 00 eax1 pr6|166 000431 aa 020000 4310 07 fld 8192,dl 000432 la 4 00010 3521 20 epp2 pr4|8,* com_err_ 000433 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 92 return; 000434 aa 0 00631 7101 00 tra pr0|409 return STATEMENT 1 ON LINE 93 end; STATEMENT 1 ON LINE 94 end; 000435 aa 000034 7100 04 tra 28,ic 000471 STATEMENT 1 ON LINE 95 else do; STATEMENT 1 ON LINE 96 call com_err_ (error_table_$badopt, ME, "^a", argument); 000436 aa 6 00101 2361 00 ldq pr6|65 argument_lth 000437 aa 526000 2760 03 orq 175104,du 000440 aa 6 00245 7561 00 stq pr6|165 000441 aa 136141 2350 03 lda 48225,du 000442 aa 6 00230 7551 00 sta pr6|152 000443 aa 6 00044 3701 20 epp4 pr6|36,* 000444 la 4 00032 3521 20 epp2 pr4|26,* error_table_$badopt 000445 aa 6 00250 2521 00 spri2 pr6|168 000446 aa 777332 3520 04 epp2 -294,ic 000000 = 143162145141 000447 aa 6 00252 2521 00 spri2 pr6|170 000450 aa 6 00230 3521 00 epp2 pr6|152 000451 aa 6 00254 2521 00 spri2 pr6|172 000452 aa 7 00000 3521 00 epp2 pr7|0 argument 000453 aa 6 00256 2521 00 spri2 pr6|174 000454 aa 777350 3520 04 epp2 -280,ic 000024 = 404000000043 000455 aa 6 00260 2521 00 spri2 pr6|176 000456 aa 777344 3520 04 epp2 -284,ic 000022 = 526000000040 000457 aa 6 00262 2521 00 spri2 pr6|178 000460 aa 777336 3520 04 epp2 -290,ic 000016 = 524000000002 000461 aa 6 00264 2521 00 spri2 pr6|180 000462 aa 6 00245 3521 00 epp2 pr6|165 000463 aa 6 00266 2521 00 spri2 pr6|182 000464 aa 6 00246 6211 00 eax1 pr6|166 000465 aa 020000 4310 07 fld 8192,dl 000466 la 4 00010 3521 20 epp2 pr4|8,* com_err_ 000467 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 97 return; 000470 aa 0 00631 7101 00 tra pr0|409 return STATEMENT 1 ON LINE 98 end; STATEMENT 1 ON LINE 99 end; 000471 aa 6 00100 0541 00 aos pr6|64 argument_idx 000472 aa 777564 7100 04 tra -140,ic 000256 STATEMENT 1 ON LINE 101 mti.version = MS_TABLE_INFO_VERSION_3; 000473 aa 000003 2360 07 ldq 3,dl 000474 aa 6 00171 7561 00 stq pr6|121 mti.version STATEMENT 1 ON LINE 102 mti.type = "URF"; 000475 aa 040 100 100 404 mlr (ic),(pr),fill(040) 000476 aa 777316 00 0003 desc9a -306,3 000013 = 125122106000 000477 aa 6 00172 00 0040 desc9a pr6|122,32 mti.type STATEMENT 1 ON LINE 103 mti.header_size = 0; 000500 aa 6 00202 4501 00 stz pr6|130 mti.header_size STATEMENT 1 ON LINE 104 mti.entry_size = 48; 000501 aa 000060 2360 07 ldq 48,dl 000502 aa 6 00203 7561 00 stq pr6|131 mti.entry_size STATEMENT 1 ON LINE 105 mti.max_entries = size; 000503 aa 6 00170 2361 00 ldq pr6|120 size 000504 aa 6 00204 7561 00 stq pr6|132 mti.max_entries STATEMENT 1 ON LINE 106 mti.max_size = 65536; 000505 aa 200000 2360 07 ldq 65536,dl 000506 aa 6 00205 7561 00 stq pr6|133 mti.max_size STATEMENT 1 ON LINE 107 mti.keep_meters = "0"b; 000507 aa 6 00206 4501 00 stz pr6|134 mti.keep_meters STATEMENT 1 ON LINE 109 call ms_table_mgr_$create (dirname, entryname, addr (mti), code); 000510 aa 6 00171 3735 00 epp7 pr6|121 mti 000511 aa 6 00270 6535 00 spri7 pr6|184 000512 aa 6 00105 3521 00 epp2 pr6|69 dirname 000513 aa 6 00250 2521 00 spri2 pr6|168 000514 aa 6 00157 3521 00 epp2 pr6|111 entryname 000515 aa 6 00252 2521 00 spri2 pr6|170 000516 aa 6 00270 3521 00 epp2 pr6|184 000517 aa 6 00254 2521 00 spri2 pr6|172 000520 aa 6 00104 3521 00 epp2 pr6|68 code 000521 aa 6 00256 2521 00 spri2 pr6|174 000522 aa 777301 3520 04 epp2 -319,ic 000023 = 526000000250 000523 aa 6 00260 2521 00 spri2 pr6|176 000524 aa 777276 3520 04 epp2 -322,ic 000022 = 526000000040 000525 aa 6 00262 2521 00 spri2 pr6|178 000526 aa 777264 3520 04 epp2 -332,ic 000012 = 464000000000 000527 aa 6 00264 2521 00 spri2 pr6|180 000530 aa 777274 3520 04 epp2 -324,ic 000024 = 404000000043 000531 aa 6 00266 2521 00 spri2 pr6|182 000532 aa 6 00246 6211 00 eax1 pr6|166 000533 aa 020000 4310 07 fld 8192,dl 000534 aa 6 00044 3701 20 epp4 pr6|36,* 000535 la 4 00024 3521 20 epp2 pr4|20,* ms_table_mgr_$create 000536 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 110 if code ^= 0 then call com_err_ (code, ME, "Creating URF ^a.", pathname_ (dirname, entryname)); 000537 aa 6 00104 2361 00 ldq pr6|68 code 000540 aa 000052 6000 04 tze 42,ic 000612 000541 aa 777271 2370 04 ldaq -327,ic 000032 = 103162145141 164151156147 000542 aa 6 00210 7571 00 staq pr6|136 000543 aa 777271 2370 04 ldaq -327,ic 000034 = 040125122106 040136141056 000544 aa 6 00212 7571 00 staq pr6|138 000545 aa 6 00105 3521 00 epp2 pr6|69 dirname 000546 aa 6 00250 2521 00 spri2 pr6|168 000547 aa 6 00157 3521 00 epp2 pr6|111 entryname 000550 aa 6 00252 2521 00 spri2 pr6|170 000551 aa 6 00272 3521 00 epp2 pr6|186 000552 aa 6 00254 2521 00 spri2 pr6|172 000553 aa 777250 3520 04 epp2 -344,ic 000023 = 526000000250 000554 aa 6 00256 2521 00 spri2 pr6|174 000555 aa 6 00262 2521 00 spri2 pr6|178 000556 aa 777244 3520 04 epp2 -348,ic 000022 = 526000000040 000557 aa 6 00260 2521 00 spri2 pr6|176 000560 aa 6 00246 6211 00 eax1 pr6|166 000561 aa 014000 4310 07 fld 6144,dl 000562 aa 6 00044 3701 20 epp4 pr6|36,* 000563 la 4 00022 3521 20 epp2 pr4|18,* pathname_ 000564 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc 000565 aa 6 00104 3521 00 epp2 pr6|68 code 000566 aa 6 00250 2521 00 spri2 pr6|168 000567 aa 777211 3520 04 epp2 -375,ic 000000 = 143162145141 000570 aa 6 00252 2521 00 spri2 pr6|170 000571 aa 6 00210 3521 00 epp2 pr6|136 000572 aa 6 00254 2521 00 spri2 pr6|172 000573 aa 6 00272 3521 00 epp2 pr6|186 000574 aa 6 00256 2521 00 spri2 pr6|174 000575 aa 777227 3520 04 epp2 -361,ic 000024 = 404000000043 000576 aa 6 00260 2521 00 spri2 pr6|176 000577 aa 777223 3520 04 epp2 -365,ic 000022 = 526000000040 000600 aa 6 00262 2521 00 spri2 pr6|178 000601 aa 777210 3520 04 epp2 -376,ic 000011 = 524000000020 000602 aa 6 00264 2521 00 spri2 pr6|180 000603 aa 777205 3520 04 epp2 -379,ic 000010 = 524000000250 000604 aa 6 00266 2521 00 spri2 pr6|182 000605 aa 6 00246 6211 00 eax1 pr6|166 000606 aa 020000 4310 07 fld 8192,dl 000607 aa 6 00044 3701 20 epp4 pr6|36,* 000610 la 4 00010 3521 20 epp2 pr4|8,* com_err_ 000611 aa 0 00622 7001 00 tsx0 pr0|402 call_ext_out_desc STATEMENT 1 ON LINE 112 return; 000612 aa 0 00631 7101 00 tra pr0|409 return STATEMENT 1 ON LINE 118 end create_urf; END PROCEDURE create_urf ----------------------------------------------------------- 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