THIS FILE IS DAMAGED COMPILATION LISTING OF SEGMENT cm_find_ci_to_alloc_datum Compiled by: Multics PL/I Compiler, Release 28e, of February 14, 1985 Compiled at: Honeywell Multics Op. - System M Compiled on: 04/04/85 0951.7 mst Thu Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4* * * 5* *********************************************************** */ 6 7 8 /* DESCRIPTION: 9* 10* This routine examines a number of control intervals attempting to 11* find one which has enough free space in which to allocate a datum of a 12* given size. If no control interval is found, one is allocated and that 13* control interval becomes the one inwhich to allocate the datum. 14* 15* The caller supplies the number of bytes required to hold the 16* contents of the datum and flags indicating whether a continued_datum 17* header, a coninued_continuation_datum header or no header is required. A 18* starting point may be supplied (p_input_ci). The routine returns the 19* control interval found (p_return_ci) and a pointer to the bci_header of 20* the control interval (p_bci_header). 21**/ 22 23 /* HISTORY: 24* 25*Written by Matthew Pierret, 10/27/82. 26*Modified: 27*11/19/82 by Lindsey Spratt: Changed to get the bci_header after allocating a 28* new control interval. 29*02/02/83 by Matthew Pierret: Upgraded to CM_INFO_VERSION_2. Added sub_err_ 30* call to report problems getting the last CI. Changed to use 31* cm_opening_info$get_storage_record instead of getting the storage 32* record directly. 33*07/19/83 by Matthew Pierret: Changed to allow for the space taken up by the 34* new datum slot in calculating the available free space. 35*08/05/83 by Matthew Pierret: Changed to use 36* cm_determine_free_space$does_new_datum_fit, which returns a flag 37* indicating whether there is enough free space in which to fit the 38* new datum, accounting for a possible new slot and datum header. 39* Removed the obsolete dm_data_$area_ptr. 40*05/21/84 by Matthew Pierret: Renamed include file dm_cm_cism_info to 41* dm_cism_info. Added RETURN and ERROR_RETURN procedures. Changed 42* to use automatic code variable instead of p_code parameter. 43*09/26/84 by Matthew Pierret: Renamed RETURN to RETURN_CI. Changed GET_LAST_CI 44* to a function. Changed CHECK_VERSION_CHAR_4 to CHECK_CI_VERSION. 45* Moved all includes out of internal subroutines, making references 46* to structures in those subroutines be by explicit pointer 47* reference. 48**/ 49 50 /* format: style2,ind3 */ 51 52 cm_find_ci_to_alloc_datum: 53 proc (p_cm_info_ptr, p_datum_contents_length_in_bytes, p_input_ci, p_is_continued, p_is_continuation, p_bci_header_ptr, 54 p_return_ci, p_code); 55 56 57 /* START OF DECLARATIONS */ 58 /* Parameter */ 59 60 dcl p_cm_info_ptr ptr parameter; 61 dcl p_datum_contents_length_in_bytes 62 fixed bin (35) parameter; 63 dcl p_input_ci fixed bin (24) uns parameter; 64 dcl p_is_continued bit (1) aligned parameter; 65 dcl p_is_continuation bit (1) aligned parameter; 66 dcl p_bci_header_ptr ptr; 67 dcl p_return_ci fixed bin (24) uns parameter; 68 dcl p_code fixed bin (35) parameter; 69 70 /* Automatic */ 71 72 dcl code fixed bin (35); 73 dcl (input_ci, last_ci, new_ci) 74 fixed bin (24) uns init (0); 75 dcl total_free_bytes fixed bin (35) init (0); 76 dcl fits_in_ci bit (1) aligned init ("0"b); 77 78 /* Based */ 79 /* Builtin */ 80 81 dcl (null, unspec) builtin; 82 83 /* Constant */ 84 85 dcl myname init ("cm_find_ci_to_alloc_datum") char (32) varying internal static 86 options (constant); 87 dcl BYTES_PER_WORD init (4) fixed bin internal static options (constant); 88 89 /* Entry */ 90 91 dcl sub_err_ entry () options (variable); 92 93 /* External */ 94 95 dcl ( 96 dm_error_$ci_not_allocated, 97 dm_error_$misformatted_ci, 98 dm_error_$unimplemented_ci_version, 99 error_table_$unimplemented_version 100 ) fixed bin (35) ext; 101 102 /* END OF DECLARATIONS */ 103 104 p_code, code = 0; 105 input_ci = p_input_ci; 106 cm_info_ptr = p_cm_info_ptr; 107 call CHECK_VERSION ((cm_info.version), (CM_INFO_VERSION_2), "cm_info"); 108 109 bci_header_ptr = p_bci_header_ptr; 110 if unspec (bci_header) ^= "0"b 111 then call CHECK_CI_VERSION (bci_header.layout_type); 112 113 if input_ci ^= 0 | (input_ci = 0 & cm_info.collection_id = HEADER_COLLECTION_ID) 114 then 115 do; 116 if unspec (bci_header) = "0"b 117 then 118 do; 119 call cm_get_bci_header (cm_info.file_oid, input_ci, bci_header_ptr, code); 120 if code ^= 0 121 then call ERROR_RETURN (code); 122 end; 123 124 call cm_determine_free_space$does_new_datum_fit (bci_header_ptr, p_datum_contents_length_in_bytes, (0), 125 p_is_continued, p_is_continuation, fits_in_ci, ("0"b), total_free_bytes); 126 127 if fits_in_ci 128 then call RETURN_CI (input_ci); 129 end; 130 131 last_ci = GET_LAST_CI (cm_info_ptr); 132 133 if input_ci ^= last_ci 134 then 135 do; 136 call cm_get_bci_header (cm_info.file_oid, last_ci, bci_header_ptr, code); 137 if code ^= 0 138 then 139 do; 140 if code = dm_error_$ci_not_allocated | code = dm_error_$misformatted_ci 141 then call sub_err_ (code, myname, ACTION_CANT_RESTART, null, 0, 142 "^/This internal inconsistency was encountered attempting to get control^/interval ^d. The storage record for collection ^3bo claims this control^/interval is the last control interval in the collection." 143 , last_ci, cm_info.collection_id); 144 145 else call ERROR_RETURN (code); 146 end; 147 148 call cm_determine_free_space$does_new_datum_fit (bci_header_ptr, p_datum_contents_length_in_bytes, (0), 149 p_is_continued, p_is_continuation, fits_in_ci, ("0"b), total_free_bytes); 150 151 if fits_in_ci 152 then call RETURN_CI (last_ci); 153 end; 154 155 /***** Still have not found a suitable control interval. Allocate a new one. */ 156 157 call cm_allocate_ci$info (cm_info_ptr, new_ci, code); 158 if code ^= 0 159 then call ERROR_RETURN (code); 160 161 call cm_get_bci_header (cm_info.file_oid, new_ci, bci_header_ptr, code); 162 if code ^= 0 163 then call ERROR_RETURN (code); 164 else call RETURN_CI (new_ci); 165 166 MAIN_RETURN: 167 return; 168 169 170 RETURN_CI: 171 proc (rc_p_return_ci); 172 173 dcl rc_p_return_ci fixed bin (24) uns; 174 175 p_return_ci = rc_p_return_ci; 176 go to MAIN_RETURN; 177 178 end RETURN_CI; 179 180 181 ERROR_RETURN: 182 proc (er_p_code); 183 184 dcl er_p_code fixed bin (35); 185 186 p_code = er_p_code; 187 go to MAIN_RETURN; 188 189 end ERROR_RETURN; 190 191 CHECK_VERSION: 192 proc (cv_p_given_version, cv_p_correct_version, cv_p_structure_name); 193 194 dcl cv_p_structure_name char (*); 195 dcl cv_p_given_version char (8) aligned; 196 dcl cv_p_correct_version char (8) aligned; 197 198 if cv_p_given_version ^= cv_p_correct_version 199 then call sub_err_ (error_table_$unimplemented_version, myname, ACTION_CANT_RESTART, null, 0, 200 "^/Expected version ^8a of ^a structure; received ^8a.", cv_p_correct_version, cv_p_structure_name, 201 cv_p_given_version); 202 203 return; 204 205 end CHECK_VERSION; 206 207 208 CHECK_CI_VERSION: 209 proc (ccv_p_given_version); 210 211 dcl ccv_p_given_version char (4) aligned; 212 213 if ccv_p_given_version ^= BASIC_CI_LAYOUT_1 214 then call sub_err_ (dm_error_$unimplemented_ci_version, myname, ACTION_CANT_RESTART, null, 0, 215 "^/Expected version ^a control interval; received ^a.", BASIC_CI_LAYOUT_1, ccv_p_given_version); 216 else return; 217 218 end CHECK_CI_VERSION; 219 220 GET_LAST_CI: 221 proc (glc_p_cm_info_ptr) returns (fixed bin (24) uns); 222 223 dcl glc_p_cm_info_ptr ptr; 224 dcl glc_collection_header_ptr 225 ptr; 226 dcl glc_code fixed bin (35); 227 228 glc_collection_header_ptr = glc_p_cm_info_ptr -> cm_info.header_ptr; 229 call CHECK_VERSION (glc_collection_header_ptr -> collection_header.version, COLLECTION_HEADER_VERSION_2, 230 "collection_header"); 231 232 if glc_p_cm_info_ptr -> cm_info.storage_record_ptr = null () 233 then 234 do; 235 glc_code = 0; 236 call cm_opening_info$get_storage_record (glc_p_cm_info_ptr, glc_code); 237 if glc_code ^= 0 238 then call ERROR_RETURN (glc_code); 239 end; 240 241 if glc_collection_header_ptr -> collection_header.control_interval_storage_method 242 = UNBLOCKED_CONTROL_INTERVAL_STORAGE_METHOD 243 then return (glc_p_cm_info_ptr -> cm_info.storage_record_ptr -> unblocked_storage_record.last_control_interval); 244 else return (glc_p_cm_info_ptr -> cm_info.storage_record_ptr -> blocked_storage_record.last_control_interval); 245 246 end GET_LAST_CI; 247 1 1 /* BEGIN INCLUDE FILE - dm_cm_info.incl.pl1 */ 1 2 1 3 /* DESCRIPTION: 1 4* The cm_info structure is used to hold per-process opening information 1 5* about a collection. It is generally allocated in the process' DM free 1 6* area, as returned by the function get_dm_free_area_. The opening_manager_ 1 7* is used to provide access the cm_info structure, keeping it in a hash 1 8* table keyed on file opening id and collection id combined. 1 9* Currently cm_info is never freed until the process terminates. Each 1 10* time a new transaction is started, detected when the current transaction 1 11* id of a process differs from cm_info.current_transaction_id, the information 1 12* in cm_info is refreshed. Storage record information is only refreshed on 1 13* demand, as most modules do not need the information in the storage record. 1 14* Instead, cm_info.storage_record_ptr is set to null (), but 1 15* cm_info.storage_record_buffer_ptr remains set to the previous value of 1 16* cm_info.storage_record_ptr. When a refreshed copy of the storage record is 1 17* requested, it is placed at the location pointed to by 1 18* cm_info.storage_record_buffer_ptr, saving the expense of re-allocation. 1 19**/ 1 20 1 21 /* HISTORY: 1 22*Written by Matthew Pierret, 10/27/82. 1 23*Modified: 1 24*01/25/83 by Matthew Pierret: Changed to version 2. Added 1 25* storage_record_buffer_ptr. This points to the storage_record. 1 26* When cm_info is refreshed, storage_record_ptr is set to null, 1 27* but storage_record_buffer_ptr continues to point at where the 1 28* storage_record was. When the storge_record is again requested, 1 29* it is put back in the same place rather than allocating a new 1 30* storage_record. 1 31*09/24/84 by Matthew Pierret: Re-wrote DESCRIPTION section. Removed the 1 32* init clause from the version component. 1 33**/ 1 34 1 35 /* format: style2,ind3,ll79 */ 1 36 1 37 dcl 1 cm_info aligned based (cm_info_ptr), 1 38 2 version char (8), 1 39 2 current_txn_id bit (36) aligned init ("0"b), 1 40 2 file_oid bit (36) aligned init ("0"b), 1 41 2 collection_id bit (36) aligned init ("0"b), 1 42 2 header_ptr ptr init (null), 1 43 2 storage_record_ptr ptr init (null), 1 44 2 storage_record_buffer_ptr 1 45 ptr init (null); 1 46 1 47 dcl cm_info_ptr ptr init (null); 1 48 dcl CM_INFO_VERSION_2 init ("cm_info2") char (8) aligned 1 49 internal static options (constant); 1 50 1 51 /* END INCLUDE FILE - dm_cm_info.incl.pl1 */ 248 249 2 1 /* BEGIN INCLUDE FILE dm_cm_basic_ci.incl.pl1 */ 2 2 2 3 /* DESCRIPTION: 2 4* 2 5* The collection_manager_ manages the structure of the addressable 2 6* portion of a control interval. The addressable portion is that portion of 2 7* a control interval which the file_manager_ will allow the 2 8* collection_manager_ to address. In this description control interval will 2 9* be used to mean the addressable portion of a control interval. 2 10* 2 11* A control interval is divided into four parts: the header, the datum 2 12* position table (also known as the slot table or slots), un-used space and 2 13* used space. The beginning of the header is at offset 0, and the end of the 2 14* used space is at the end of the control interval (curently offset 4072). 2 15* Pictoriarly, a control interval is structured as follows: 2 16* 2 17* ---------------------------------------------------------------------- 2 18* | || | | | | | || || | / / | |/| | | 2 19* | Header || | slot | || un-used space || |/ / /| |/| | | 2 20* | || | table | || || | / / | |/| | | 2 21* | || | | | | | || || |/ / /| |/| | | 2 22* ---------------------------------------------------------------------- 2 23* ^ ^ ^ ^ ^ ^ ^ 2 24* | | | | | | | 2 25* | |...........|.......|...| 2 26* start of used space| | | | 2 27* | | each| 2 28* scattered free space| is a used 2 29* datum 2 30* 2 31* The basic_control_interval structure describes the header 2 32* (basic_control_interval.header, bci_header) and the slots 2 33* (basic_control_interval.datum_position_table, datum_slot for one only). 2 34* Each datum_slot contains the offset (in bytes) and the length (in bits) of 2 35* a datum in the used space. If the offset is equal to FREE_SLOT (declared 2 36* in dm_cm_basic_ci_const.incl.pl1), the slot is un-used. The slot also 2 37* contains flags describing the type of datum (see dm_cm_datum.incl.pl1). 2 38**/ 2 39 2 40 /* HISTORY: 2 41*Written by Matthew Pierret, 02/07/82. 2 42*Modified: 2 43*03/25/82 by Matthew Pierret: Fixed alignment differences basic_control_interval 2 44* and its sub-structures. 2 45*06/14/82 by Matthew Pierret: Removed common header and buffers. Changed 2 46* basic_ci_header to bci_header. Added previous_control_interval. 2 47*07/12/82 by Matthew Pierret: Changed collection_id to be bit (36) aligned. 2 48*10/29/82 by Matthew Pierret: Added flags to datum slots. 2 49*11/10/82 by Matthew Pierret: Removed continued_datum_is_present flag, as it 2 50* is not used. 2 51*03/28/84 by Matthew Pierret: Added the constants BCI_HEADER_LENGTH_IN_BYTES 2 52* and DATUM_POSITION_TABLE_OFFSET_IN_BYTES. 2 53**/ 2 54 2 55 /* format: style2 */ 2 56 dcl 1 basic_control_interval 2 57 aligned based (basic_control_interval_ptr), 2 58 2 header like bci_header, 2 59 2 datum_position_table 2 60 (0 refer (basic_control_interval.number_of_datums)) like datum_slot; 2 61 2 62 2 63 dcl 1 bci_header aligned based (bci_header_ptr), 2 64 2 layout_type char (4) aligned, 2 65 2 collection_id bit (36) aligned, 2 66 2 next_control_interval 2 67 fixed bin (24) uns unal, 2 68 2 previous_control_interval 2 69 fixed bin (24) uns unal, 2 70 2 flags unal, 2 71 3 continuation_datum_is_present 2 72 bit (1) unal, 2 73 3 free_slot_is_present 2 74 bit (1) unal, 2 75 3 must_be_zero bit (4) unal, /* reserved */ 2 76 2 scattered_free_space 2 77 fixed bin (17) unal, 2 78 2 start_of_used_space 2 79 fixed bin (17) unal, 2 80 2 number_of_datums fixed bin (17) unal; 2 81 2 82 dcl 1 datum_slot aligned based (datum_slot_ptr), 2 83 2 flags unal, 2 84 3 special_format_datum 2 85 bit (1) unal, /* reserved */ 2 86 3 is_continued bit (1) unal, 2 87 3 is_continuation bit (1) unal, 2 88 3 mbz bit (1) unal, /* reserved */ 2 89 2 offset_in_bytes fixed bin (15) uns unal, 2 90 2 length_in_bits fixed bin (17) uns unal; 2 91 2 92 dcl basic_control_interval_ptr 2 93 ptr; 2 94 dcl bci_header_ptr ptr; 2 95 dcl datum_slot_ptr ptr; 2 96 2 97 dcl BASIC_CI_LAYOUT_1 char (4) aligned init ("bci1") internal static options (constant); 2 98 2 99 /* END INCLUDE FILE dm_cm_basic_ci.incl.pl1 */ 250 251 3 1 /* BEGIN INCLUDE FILE dm_cm_storage_record.incl.pl1 */ 3 2 3 3 /* DESCRIPTION: 3 4* 3 5* A storage record is an extension to the collection_header structure. 3 6* It is expected to be more volatile than collection_header and has a 3 7* different format depending on the control interval storage method in use 3 8* for the collection. A storage record is stored as an element in the 3 9* file's Header clj >48 CLJones clj Multics J CVJ X.25ASCII_CRT_E Rosin.SysAdmin.a PDT >user_dir_dir>SUPPORT SUPPORT >user_dir_dir>SUPPORT SUPPORT Bull SUPPORT Project SQ{:05JYxSUPPORT S X^Rosin.SysAdmin Fudge.SysAdmin Schroth.SysMaint  Other @ dT1Rosin ~process_overseer_ >user_dir_dir>SUPPORT>Rosin  Sh T>Xɦ @ @ņ *ņ|Grimes ń*ņ~&ņF@ X***a"pend_tr_rep.ec ņHMG3`-Hv*a*ńP*ņfH|*@ņ~print_keys_for_tr_.ec ņnPz*@ņvf*@ņn*ņ"&ņF@ Y*aX~print_keys_for_tr.ec ņHMG3`$*a@ń*ņ|*@ņX~print_keys_for_tr_cleanup.ec ņ~pkft.ec ņ**@ņz*@ņ*@ņ*ņZ~&ņHp{&*a&?print_trs.absin ņHG3`-Rzań*ņB4*@ņprint_trs.ec ņ*Farley ńJ|*@ņRBz*@ņJ*ņ&ņR}>bbzmZ>print_trs.absout ņRyG3`$zmń*ņz*@ņXredprint_.ec ņ|*@ņ**@ņ*@ņ*ņZ&ņF@ ]*aredprint.ec ņHMG3`- *ań*ņ|*@ņredprint_cleanup.ec ņ z*@ņ*ņf&ņF@ _H*aH%reload_tr_db.ec ņHM!G3`$8^*a ń@*ņV8|*@ņreload_tr_db.absin ņ^@z*@ņV*ņ&ņF@ `n*afreroute_trs.ec ņHM%G3`$*a$ń*ņ|*@ņnfreroute_trs.absin ņ**@ņz*@ņ*@ņ*ņ,f&ņF@ a*anset_tr_db_acl.ec ņHM(G3`$$*a7ń*ņ|*@ņadd_tr_db_acl.ec ņdl_tr_db_acl.ec ņ$z*@ņ*ņ&ņF@ n44*a,test_tr_queue_.ec ņHM,G3`$Rx*a6ńZ*ņpR**ņtr_file_backup.ec ņxZ*@ņp*ņ,&ņF@ cb|abtr_file_backup.absin ņHM/G3`$*aBTń*ņ|*@ņz*@ņ*@ņ*ņ@&ņF@ s"mtr_file_backup.absout ņHM2G3`$8m8ń*ņ*@trouble_fix.ec ņ|*@ņ z*@ņ*ņvL&ņPXI**zm"mtrouble.absout ņPbG3`$Hnzm=|ńP*ņfHz*@ņ~vupdate_tr_data_new.ec ņnP*@ņf*ņ"&ņIu~*aXvupdate_tr_data.ec ņI{ G3`-ań*ņ|*@ņXvupdate_tr_data_test.ec ņz*@ņ*ņzVu ń:v&ņF@ j*aupdate_user_regs.absin ņHMaG3`-2ań*ņ*|*@ņpRetriever ń.update_user_regs.ec ņ2z*@ņ**ņ&ņF@ {BBzm:update_user_regs.absout ņHMG3`$`zm`pńh*ņ~`z*@ņHupdate_user_regs.values ņh*@ņ~*ņ:&ņF@ zzmupdate_user_regs.absout.old ņHMG3`$zm2ń*ņz*@ņ*@ņ*ņ*&ņF@ l*aHupdate_user_regs.values ņHMG3`$"zmń*ņ **@ņ*@ņ *@ņ"*@ņ*ņp& H`22za*btrmr.07/03/92 HG3``$X`za=ń`X*@ Pz* P* *@ *& Hdxxzapprint_trs.07/03/92 HG3`n$za,ńhz* h* p& 'Hqzantrouble.07/03/92 'HG3`o$za)ń*@ 'z* '* '"& H ezmtrmr.absout HG3`$zmń*@  z*@  * &#I@**a"update_tr_data.ec.09/18/92 #I{G3`$PXańX`*@#`z*@#H*#HP*#a@ņTR_Admin process_overseer_ >user_dir_dir>TR>TR_Admin < (RT4InoneTT ( GPT>nXɦ @ @Vu ~process_overseer_ >user_dir_dir>TR>Vu < RT球none_T͔T>#|oXɦ @ @aTw"*@bn*@bnT&hv3P("ameetings hv3Ps<L"a~2rTwD"*@hv3L<*@hv3D*@hv3&j95N\\"aTstart_up.hsim j95eG`H$z"ahTw"*@j9z*@j9T&nP("a]ts nPt H"a~2rTw@time_sheet n"*n*nx<&kP("ace kQB "a~2rTw"*k*k:&uR;5  "amrds.name uR;TG`H$*2"amTw2"*uR**@uRp&u$>P(BB"a:unix u$>Pt `h"a~2rTwh"*u$>`*u$>:&vW<1Exx"aprsr.note vW<3ԍG$"aMTw"*@vW*@vWp&w+];)"alGee.sv.mbx w+];kGwSI"aTw"*@w+]*@w+]&w+;}ox"aconfid.arun w+;~VG$ "aTw "*@w+*@w+H&wuFK"aresign wuFKElGL$8@"aKTw P"*@wuF P*wuF~&wu3KPP"aH:design wu3KEWGLl$nv"aGTw X"*wu3 X*wu3H&qQ#"a~rxstart_up.ec qQ3G $"a3Tw"*@q"*q*@q*q~&q?8"aRtsms.forum q@Ӛ$>udd>Multics>Gee>meetings>tsms.forumTwtimesheet_management_sys.forum q@Hq|@Xҝ"aarg_descriptor.i q|@Ӛ3>udd>m>dz>vf>doc>vfile.lib>xps_lib>arg_descriptor.iTwHq@XӊHH"a@arg_list.i q@Ӛ->udd>m>dz>vf>doc>vfile.lib>xps_lib>arg_list.iTw@Hq@X"acdo_item.i q@Ӛ->udd>m>dz>vf>doc>vfile.lib>xps_lib>cdo_item.iTwHq@X"aunix_io_dcls.i q@Ӛ1>udd>m>dz>vf>doc>vfile.lib>xps_lib>unix_io_dcls.iTwXHq@X@"aBvf_control.i q@Ӛ/>udd>m>dz>vf>doc>vfile.lib>xps_lib>vf_control.iTw&q1O_ ``"aXGee.mbx qRorGI~"aTw"*@q~*@(q*@(qX&qMۛ"aqGee.value qMG2$"a+Tw"*@q"*@q0*@q*@q*qXPN"aNov.94.sum PO $"aTwP*@/N*@BjP& @""""acal.basic @Gw G$@H"agTwH"*@ @*@ &i@cXv"avPmultics_support.mls i$>udd>Multics>lib>multics_support.mlsTwXPmaint.mls iP&'@"aiMCR_Packet.trans '@fG$"a;Tw"*@'*@'&kAU="asubs.mls kAUG $"a8Tw"*k*@k&&A"aaudit.idea AG`H $"a7<Tw"*@*@d&QyP(.."a&Qcp6 QyQ DTL"a~2rTw *@Qy "*@Qy  *@Qy&&EbZll"adPCP6_discussion.trans EcGL $"aTw"*@*@d&4B"adb.goal 4B GQ$"aTw"*@4*@4&=Ca"a_cp6.mls =C+Gwu$"aTw"*@=*@=<& B_A"agrisk.mail BG`H$,4"a3*Tw4"*@ ,*@ r&^K-DD"a<cp6.risk.note ^KG`Hl$bj"a`Tw "*@^ *^<&h]Kzz"ararchfile_index h]KEEG $$"a@Tw h"*h] h*h]r&h|K"aarchfile_dir_listing h|KE@G $"a)Tw p"*h| p*h|&uBF"ateam.goal uBRSG v$ "a yJ@7G$  "awTw "*@y *@yd&WxN  . ."a & swat_plan WxNGL$ T L"a<Tw T*@Wx L"*@Wx R &RqK d d"a \jim RqKE`GL1$ J B"aTw "*@H *@H \ &HP( 4"a 4 Utime_report HPsŸz "a~2rTw *@D *@H &DQ  "a %Gee.activities.03/01/95 DQLGL $ "amTw *@D "*D &wK  "a jim4 wKEeG $ , $"aTw *w "*@w  tr H *Rq "*@Rq \&]K Z Z"a RDts_04_01 ]KEzG2>$ x"aTw *] "*@]  R&K "a ts_04_02 KEG`H$ "aTw * "*@ x &DQv "a [Gee.activities.1 DQXG X$ "aTw "*D "*D>0Mabey Twjb*@^B:*@7O *@D &BK " ""a ts_05_01 BKEG$ H @"aTw *B "*@B@8*@wuFvn*@wu3~*@*@h]*@h|*@}~*@$ċ*@> *@  *@&j $ ,*@w B J*@Rq x *@] *@ @ H*@B &3Kɲ "a to 3KG2$ "aTw *@3 "*@3 4 &pKۯ  "a jim.s pKGQQ$ , $"a-Tw ,*@p $"*@p j &(K X < <"a 4Gee.activities.backup (KT#G2F$ b Z"aTw b*@( Z"*( 4&PK r r"a jmay.sum.93 PKG$ "a Tw *@P "*@P j&PK, "a ts.may01.93 PKG2v$ "awTw *@P "*@P &PK "a ts.may02.93 PKG$  "a)Tw *@nd_ci_to_alloc_datum.pl1 248 1 01/07/85 0858.4 dm_cm_info.incl.pl1 >ldd>include>dm_cm_info.incl.pl1 250 2 01/07/85 0858.0 dm_cm_basic_ci.incl.pl1 >ldd>include>dm_cm_basic_ci.incl.pl1 252 3 01/07/85 0858.4 dm_cm_storage_record.incl.pl1 >ldd>include>dm_cm_storage_record.incl.pl1 254 4 01/07/85 0858.2 dm_cm_collection_header.incl.pl1 >ldd>include>dm_cm_collection_header.incl.pl1 256 5 01/07/85 0901.2 dm_cm_datum.incl.pl1 >ldd>include>dm_cm_datum.incl.pl1 258 6 01/07/85 0858.2 dm_cm_datum_constants.incl.pl1 >ldd>include>dm_cm_datum_constants.incl.pl1 260 7 01/07/85 0858.0 dm_cism_info.incl.pl1 >ldd>include>dm_cism_info.incl.pl1 262 8 01/07/85 0858.8 dm_hdr_collection_id.incl.pl1 >ldd>include>dm_hdr_collection_id.incl.pl1 264 9 04/16/82 0958.1 sub_err_flags.incl.pl1 >ldd>include>sub_err_flags.incl.pl1 266 10 04/04/85 0819.0 dm_cm_entry_dcls.incl.pl1 >spec>on>7192.pbf-04/04/85>dm_cm_entry_dcls.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. ACTION_CANT_RESTART 000000 constant bit(36) initial dcl 9-7 set ref 140* 198* 213* BASIC_CI_LAYOUT_1 000004 constant char(4) initial dcl 2-97 set ref 213 213* CM_INFO_VERSION_2 000006 constant char(8) initial dcl 1-48 ref 107 COLLECTION_HEADER_VERSION_2 000002 constant char(8) initial dcl 4-86 set ref 229* HEADER_COLLECTION_ID constant bit(36) initial dcl 8-19 ref 113 UNBLOCKED_CONTROL_INTERVAL_STORAGE_METHOD constant fixed bin(17,0) initial dcl 7-40 ref 241 bci_header based structure level 1 dcl 2-63 set ref 110 116 bci_header_ptr 000110 automatic pointer dcl 2-94 set ref 109* 110 110 116 119* 124* 136* 148* 161* blocked_storage_record based structure level 1 dcl 3-36 blocked_storage_record_ptr 000114 automatic pointer initial dcl 3-48 set ref 3-48* ccv_p_given_version parameter char(4) dcl 211 set ref 208 213 213* cm_allocate_ci$info 000022 constant entry external dcl 10-76 ref 157 cm_determine_free_space$does_new_datum_fit 000024 constant entry external dcl 10-101 ref 124 148 cm_get_bci_header 000026 constant entry external dcl 10-130 ref 119 136 161 cm_info based structure level 1 dcl 1-37 cm_info_ptr 000106 automatic pointer initial dcl 1-47 set ref 106* 107 113 119 131* 136 140 157* 161 1-47* cm_opening_info$get_storage_record 000030 constant entry external dcl 10-185 ref 236 code 000100 automatic fixed bin(35,0) dcl 72 set ref 104* 119* 120 120* 136* 137 140 140 140* 145* 157* 158 158* 161* 162 162* collection_header based structure level 1 dcl 4-65 collection_id 4 based bit(36) initial level 2 dcl 1-37 set ref 113 140* control_interval_storage_method 2(18) based fixed bin(17,0) level 2 packed unaligned dcl 4-65 ref 241 cv_p_correct_version parameter char(8) dcl 196 set ref 191 198 198* cv_p_given_version parameter char(8) dcl 195 set ref 191 198 198* cv_p_structure_name parameter char unaligned dcl 194 set ref 191 198* datum_contents_length_in_bits 000122 automatic fixed bin(35,0) initial dcl 5-69 set ref 5-69* datum_id based structure level 1 dcl 5-62 datum_id_ptr 000120 automatic pointer initial dcl 5-68 set ref 5-68* datum_ptr 000116 automatic pointer initial dcl 5-67 set ref 5-67* datum_slot based structure level 1 dcl 2-82 dm_error_$ci_not_allocated 000012 external static fixed bin(35,0) dcl 95 ref 140 dm_error_$misformatted_ci 000014 external static fixed bin(35,0) dcl 95 ref 140 dm_error_$unimplemented_ci_version 000016 external static fixed bin(35,0) dcl 95 set ref 213* er_p_code parameter fixed bin(35,0) dcl 184 ref 181 186 error_table_$unimplemented_version 000020 external static fixed bin(35,0) dcl 95 set ref 198* file_oid 3 based bit(36) initial level 2 dcl 1-37 set ref 119* 136* 161* fits_in_ci 000105 automatic bit(1) initial dcl 76 set ref 76* 124* 127 148* 151 glc_code 000164 automatic fixed bin(35,0) dcl 226 set ref 235* 236* 237 237* glc_collection_header_ptr 000162 automatic pointer dcl 224 set ref 228* 229 241 glc_p_cm_info_ptr parameter pointer dcl 223 set ref 220 228 232 236* 241 244 header_ptr 6 based pointer initial level 2 dcl 1-37 ref 228 input_ci 000101 automatic fixed bin(24,0) initial unsigned dcl 73 set ref 73* 105* 113 113 119* 127* 133 last_ci 000102 automatic fixed bin(24,0) initial unsigned dcl 73 set ref 73* 131* 133 136* 140* 151* last_control_interval 1 based fixed bin(24,0) level 2 in structure "unblocked_storage_record" unsigned dcl 3-28 in procedure "cm_find_ci_to_alloc_datum" ref 241 last_control_interval based fixed bin(24,0) level 2 in structure "blocked_storage_record" unsigned dcl 3-36 in procedure "cm_find_ci_to_alloc_datum" ref 244 layout_type based char(4) level 2 dcl 2-63 set ref 110* myname 000010 constant varying char(32) initial dcl 85 set ref 140* 198* 213* new_ci 000103 automatic fixed bin(24,0) initial unsigned dcl 73 set ref 73* 157* 161* 164* null builtin function dcl 81 ref 140 140 1-47 3-46 3-48 5-67 5-68 198 198 213 213 232 p_bci_header_ptr parameter pointer dcl 66 ref 52 109 p_cm_info_ptr para pp.3.mail ٨McG2$&"ap1Tw&*@٨"*@٨d &&+N/-66"a.psei_sqa.trans &+N0LSGL$\T"aUTw\*@&+T"*@&+ &.&&TeN>hll"ad action_item &TeN>ڃG2$"a$Tw*@&Te"*@&TeNz}A"aEFeb.94.sum N{[$"aݹTw*@"*@rN "a4Mar.94.sum θGN N_$"aG,Tw*@θG"*@θG< &&|N߰"adave1 |NGQ $4,"a Tw4*@|,"*@|&#&NTSDD"a<exchange_com #&NWGw m$jb"aTwj*@#&b"*@#&N"ar^Apr.94.sum ihNC [$"aUTw*@ih"*@ihO?"az vMay.94.sum nO?$"aUTw*@n"*@nJO;"aJun.94.sum OA($"aW*Tw *@B"*@x&/NP("asei /NQ6"a~2rTw|*@|"*@&*@F&!Qj1"aXBoston !Q~ #"a~2rTw*!"*! &D5Q@"aDactivities_report.archive D5Q|Gwx$"aZTTw*@D5"*@D5 ----------------------------------------------------------- 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