COMPILATION LISTING OF SEGMENT !BBBJQhnJWGlJgQ Compiled by: Multics PL/I Compiler, Release 28e, of February 14, 1985 Compiled at: Honeywell Multics Op. - System M Compiled on: 06/30/86 1404.3 mst Mon Options: table map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1981 * 4* * * 5* *********************************************************** */ 6 7 8 9 /* HISTORY COMMENTS: 10* 1) change(86-06-11,Mills), approve(86-06-11,MCR7419), 11* audit(86-06-17,Margolin), install(86-06-30,MR12.0-1080): 12* Adding initializations for mlsys_data_$domains_available = 0; 13* END HISTORY COMMENTS */ 14 15 16 /* format: off */ 17 18 /* Constants and static data used by the Multics mail system: See mlsys_data.incl.pl1 and mlsys_internal_data.incl.pl1 19* for an explanation of the meaning/use of these values */ 20 21 /* Created: May 1981 by G. Palter */ 22 /* Modified: June 1983 by G. Palter to merge with mlsys_internal_data_ and for multi-ring mail system */ 23 24 /* format: on,style4,delnl,insnl,ifthenstmt,ifthen */ 25 26 27 mlsys_data_: 28 procedure () options (variable); 29 30 31 dcl 1 mlsys_constants aligned, /* the constant data */ 32 2 max_opening_retries fixed binary, 33 2 max_lock_wait_retries fixed binary, 34 2 mailbox_allocation fixed binary, 35 2 message_body_sections_allocation fixed binary, 36 2 message_redistributions_list_allocation fixed binary, 37 2 message_user_fields_allocation fixed binary, 38 2 message_references_list_allocation fixed binary, 39 2 address_list_allocation fixed binary, 40 2 mailbox_link_directory character (168) unaligned, 41 2 mailer_directory character (168) unaligned, 42 2 system_directory character (168) unaligned; 43 44 dcl 1 mlsys_static aligned, /* per-process constant (ie: static) data */ 45 2 forum_not_available fixed binary (1), 46 2 ism_not_available fixed binary (1), 47 2 subsystem_ring fixed binary (3), 48 2 highest_usable_ring fixed binary (3), 49 2 lowest_forum_ring fixed binary (3), 50 2 temp_segment_list_ptr pointer, 51 2 valid_segments, /* ... insures that it's word aligned */ 52 3 bits (0:4095) bit (1) unaligned, 53 2 subsystem_area_ptr pointer, 54 2 hash_tables_segment_ptr pointer, 55 2 transmit_cache_ptr pointer, 56 2 user_is_anonymous bit (1) aligned, 57 2 person_id character (24) varying, 58 2 project_id character (12) varying, 59 2 user_id character (32) varying, 60 2 user_default_mailbox_address pointer, 61 2 user_mail_table_address pointer, 62 2 user_logbox_address pointer, 63 2 domains_available; 64 65 66 dcl 1 cds_data aligned like cds_args; /* arguments to create_data_segment_ subr */ 67 68 dcl code fixed binary (35); 69 70 dcl MLSYS_DATA_ character (32) static options (constant) initial ("mlsys_data_"); 71 72 dcl create_data_segment_ entry (pointer, fixed binary (35)); 73 dcl com_err_ entry () options (variable); 74 75 dcl (addr, currentsize, null, string) builtin; 76 77 /* Define the constants */ 78 79 mlsys_constants.max_opening_retries = 5; /* retry salvaged openings five times before punting */ 80 81 mlsys_constants.max_lock_wait_retries = 20; /* retry message transmission to locked mailbox 20 times */ 82 83 mlsys_constants.mailbox_allocation = 32; /* see the explanation in mlsys_internal_data.incl.pl1 ... */ 84 mlsys_constants.message_body_sections_allocation = 1; 85 mlsys_constants.message_redistributions_list_allocation = 4; 86 mlsys_constants.message_user_fields_allocation = 4; 87 mlsys_constants.message_references_list_allocation = 2; 88 mlsys_constants.address_list_allocation = 4; 89 90 mlsys_constants.mailbox_link_directory = ">udd>Daemon>mailboxes"; 91 mlsys_constants.mailer_directory = ">udd>Daemon>Network_Server"; 92 93 mlsys_constants.system_directory = ">site>mail_system_dir"; 94 /* directory containing per-system data (mail table/queues) */ 95 96 97 /* Initialize static data to known values */ 98 99 mlsys_static.forum_not_available = 0; /* 1 => forum isn't available on the system or in this ring */ 100 mlsys_static.ism_not_available = 0; /* 1 => no inter-system mailer on this system */ 101 mlsys_static.domains_available = 0; /* 1 => domains software on this system */ 102 mlsys_static.subsystem_ring = -1; /* ring in which the mail system is secured */ 103 mlsys_static.highest_usable_ring = -1; /* highest ring of execution which may access the mail system */ 104 mlsys_static.lowest_forum_ring = -1; /* lowest ring of execution with access to forum */ 105 106 mlsys_static.temp_segment_list_ptr = null (); /* -> list of all mail system temporary segments */ 107 108 string (mlsys_static.valid_segments.bits) = ""b; /* which segments contain data allocated by the mail system */ 109 mlsys_static.subsystem_area_ptr = null (); /* -> area used by the mail system for all allocations */ 110 111 mlsys_static.hash_tables_segment_ptr = null (); /* -> hash tables used by the mail system */ 112 113 mlsys_static.transmit_cache_ptr = null (); /* -> cache of recently used mailboxes for mlsys_transmit_ */ 114 115 mlsys_static.user_is_anonymous = "0"b; /* whether or not the user is an anonymous */ 116 mlsys_static.person_id = ""; /* the user's Person_id, Project_id, and User_id */ 117 mlsys_static.project_id = ""; 118 mlsys_static.user_id = ""; 119 120 mlsys_static.user_default_mailbox_address, /* -> user's default mailbox address */ 121 mlsys_static.user_mail_table_address, /* -> user's mail table address */ 122 mlsys_static.user_logbox_address = null (); /* -> address of the user's logbox */ 123 124 125 /* Set up arguments for call to create_data_segment_ */ 126 127 cds_data.sections (1).p = addr (mlsys_constants); 128 cds_data.sections (1).len = currentsize (mlsys_constants); 129 cds_data.sections (1).struct_name = "mlsys_constants"; 130 131 cds_data.sections (2).p = addr (mlsys_static); 132 cds_data.sections (2).len = currentsize (mlsys_static); 133 cds_data.sections (2).struct_name = "mlsys_static"; 134 135 cds_data.seg_name = MLSYS_DATA_; 136 137 cds_data.num_exclude_names = 0; 138 cds_data.exclude_array_ptr = null (); 139 140 string (cds_data.switches) = "0"b; 141 cds_data.switches.have_text = "1"b; /* have constants ... */ 142 cds_data.switches.have_static = "1"b; /* ... and static data */ 143 cds_data.switches.separate_static = "1"b; /* in case we someday are prelinked */ 144 145 146 /* Call create_data_segment_ */ 147 148 call create_data_segment_ (addr (cds_data), code); 149 150 if code ^= 0 then call com_err_ (code, MLSYS_DATA_); 151 152 return; 153 1 1 /* BEGIN INCLUDE FILE cds_args.incl.pl1 */ 1 2 1 3 dcl 1 cds_args based aligned, 1 4 2 sections (2), 1 5 3 p ptr, /* pointer to data for text/static section */ 1 6 3 len fixed bin (18), /* size of text/static section */ 1 7 3 struct_name char (32), /* name of declared structure for this section */ 1 8 2 seg_name char (32), /* name to create segment by */ 1 9 2 num_exclude_names fixed bin, /* number of names in exclude array */ 1 10 2 exclude_array_ptr ptr, /* pointer to array of exclude names */ 1 11 2 switches, /* control switches */ 1 12 3 defs_in_link bit (1) unal, /* says put defs in linkage */ 1 13 3 separate_static bit (1) unal, /* says separate static section is wanted */ 1 14 3 have_text bit (1) unal, /* ON if text section given */ 1 15 3 have_static bit (1) unal, /* ON if static section given */ 1 16 3 pad bit (32) unal; 1 17 1 18 dcl exclude_names (1) char (32) based; /* pointed to be cds_args.exclude_array_ptr */ 1 19 1 20 /* END INCLUDE FILE cds_args.incl.pl1 */ 154 155 156 end mlsys_data_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 06/30/86 1342.7 !BBBJQhnJWGlJgQ.pl1 >spec>install>1080>mlsys_data_.cds 154 1 04/01/76 2209.5 cds_args.incl.pl1 >ldd>include>cds_args.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. MLSYS_DATA_ 000000 constant char(32) initial unaligned dcl 70 set ref 135 150* addr builtin function dcl 75 ref 127 131 148 148 address_list_allocation 7 000100 automatic fixed bin(17,0) level 2 dcl 31 set ref 88* bits 10 000306 automatic bit(1) array level 3 packed unaligned dcl 44 set ref 108* cds_args based structure level 1 dcl 1-3 cds_data 000544 automatic structure level 1 dcl 66 set ref 148 148 code 000611 automatic fixed bin(35,0) dcl 68 set ref 148* 150 150* com_err_ 000014 constant entry external dcl 73 ref 150 create_data_segment_ 000012 constant entry external dcl 72 ref 148 currentsize builtin function dcl 75 ref 128 132 domains_available 234 000306 automatic fixed bin(17,0) level 2 dcl 44 set ref 101* exclude_array_ptr 42 000544 automatic pointer level 2 dcl 66 set ref 138* forum_not_available 000306 automatic fixed bin(1,0) level 2 dcl 44 set ref 99* hash_tables_segment_ptr 174 000306 automatic pointer level 2 dcl 44 set ref 111* have_static 44(03) 000544 automatic bit(1) level 3 packed unaligned dcl 66 set ref 142* have_text 44(02) 000544 automatic bit(1) level 3 packed unaligned dcl 66 set ref 141* highest_usable_ring 3 000306 automatic fixed bin(3,0) level 2 dcl 44 set ref 103* ism_not_available 1 000306 automatic fixed bin(1,0) level 2 dcl 44 set ref 100* len 2 000544 automatic fixed bin(18,0) array level 3 dcl 66 set ref 128* 132* lowest_forum_ring 4 000306 automatic fixed bin(3,0) level 2 dcl 44 set ref 104* mailbox_allocation 2 000100 automatic fixed bin(17,0) level 2 dcl 31 set ref 83* mailbox_link_directory 10 000100 automatic char(168) level 2 packed unaligned dcl 31 set ref 90* mailer_directory 62 000100 automatic char(168) level 2 packed unaligned dcl 31 set ref 91* max_lock_wait_retries 1 000100 automatic fixed bin(17,0) level 2 dcl 31 set ref 81* max_opening_retries 000100 automatic fixed bin(17,0) level 2 dcl 31 set ref 79* message_body_sections_allocation 3 000100 automatic fixed bin(17,0) level 2 dcl 31 set ref 84* message_redistributions_list_allocation 4 000100 automatic fixed bin(17,0) level 2 dcl 31 set ref 85* message_references_list_allocation 6 000100 automatic fixed bin(17,0) level 2 dcl 31 set ref 87* message_user_fields_allocation 5 000100 automatic fixed bin(17,0) level 2 dcl 31 set ref 86* mlsys_constants 000100 automatic structure level 1 dcl 31 set ref 127 128 mlsys_static 000306 automatic structure level 1 dcl 44 set ref 131 132 null builtin function dcl 75 ref 106 109 111 113 120 138 num_exclude_names 40 000544 automatic fixed bin(17,0) level 2 dcl 66 set ref 137* p 000544 automatic pointer array level 3 dcl 66 set ref 127* 131* person_id 201 000306 automatic varying char(24) level 2 dcl 44 set ref 116* project_id 210 000306 automatic varying char(12) level 2 dcl 44 set ref 117* sections 000544 automatic structure array level 2 dcl 66 seg_name 30 000544 automatic char(32) level 2 dcl 66 set ref 135* separate_static 44(01) 000544 automatic bit(1) level 3 packed unaligned dcl 66 set ref 143* string builtin function dcl 75 set ref 108* 140* struct_name 3 000544 automatic char(32) array level 3 dcl 66 set ref 129* 133* subsystem_area_ptr 172 000306 automatic pointer level 2 dcl 44 set ref 109* subsystem_ring 2 000306 automatic fixed bin(3,0) level 2 dcl 44 set ref 102* switches 44 000544 automatic structure level 2 dcl 66 set ref 140* system_directory 134 000100 automatic char(168) level 2 packed unaligned dcl 31 set ref 93* temp_segment_list_ptr 6 000306 automatic pointer level 2 dcl 44 set ref 106* transmit_cache_ptr 176 000306 automatic pointer level 2 dcl 44 set ref 113* user_default_mailbox_address 226 000306 automatic pointer level 2 dcl 44 set ref 120* user_id 214 000306 automatic varying char(32) level 2 dcl 44 set ref 118* user_is_anonymous 200 000306 automatic bit(1) level 2 dcl 44 set ref 115* user_logbox_address 232 000306 automatic pointer level 2 dcl 44 set ref 120* user_mail_table_address 230 000306 automatic pointer level 2 dcl 44 set ref 120* valid_segments 10 000306 automatic structure level 2 dcl 44 NAME DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. exclude_names based char(32) array unaligned dcl 1-18 NAME DECLARED BY EXPLICIT CONTEXT. mlsys_data_ 000047 constant entry external dcl 27 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 274 312 221 304 Length 2132 221 16 1604 52 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME mlsys_data_ 412 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME mlsys_data_ 000100 mlsys_constants mlsys_data_ 000306 mlsys_static mlsys_data_ 000544 cds_data mlsys_data_ 000611 code mlsys_data_ 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_ create_data_segment_ NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 27 000046 79 000054 81 000056 83 000060 84 000062 85 000064 86 000066 87 000067 88 000071 90 000073 91 000076 93 000101 99 000104 100 000105 101 000106 102 000107 103 000111 104 000112 106 000113 108 000115 109 000121 111 000122 113 000123 115 000124 116 000125 117 000126 118 000127 120 000130 127 000134 128 000136 129 000140 131 000143 132 000145 133 000147 135 000152 137 000155 138 000156 140 000160 141 000161 142 000163 143 000165 148 000167 150 000201 152 000220 Object Segment >spec>install>1080>mlsys_data_ Created on 06/30/86 1404.4 mst Mon by GJohnson.SysMaint.a using create_data_segment_, Version II of Thursday, May 22, 1986 with separate static Object Text Defs Link Symb Static Start 0 0 206 1054 1064 616 Length 1267 206 410 10 167 236 31 Definitions: segname: mlsys_data_ text|7 address_list_allocation stat|234 domains_available stat|0 forum_not_available stat|174 hash_tables_segment_ptr stat|3 highest_usable_ring stat|1 ism_not_available stat|4 lowest_forum_ring text|2 mailbox_allocation text|10 mailbox_link_directory text|62 mailer_directory text|1 max_lock_wait_retries text|0 max_opening_retries text|3 message_body_sections_allocation text|4 message_redistributions_list_all text|6 message_references_list_allocati text|5 message_user_fields_allocation stat|201 person_id stat|210 project_id stat|172 subsystem_area_ptr stat|2 subsystem_ring symb|0 symbol_table text|134 system_directory stat|6 temp_segment_list_ptr stat|176 transmit_cache_ptr stat|226 user_default_mailbox_address stat|214 user_id stat|200 user_is_anonymous stat|232 user_logbox_address stat|230 user_mail_table_address stat|10 valid_segments No Links. ----------------------------------------------------------- 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