COMPILATION LISTING OF SEGMENT !BBBJPhPppxLMwp Compiled by: Multics PL/I Compiler, Release 28e, of February 14, 1985 Compiled at: Honeywell Multics Op. - System M Compiled on: 05/13/85 1552.2 mst Mon Options: table map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1985 * 4* * * 5* *********************************************************** */ 6 7 /* mseg_data_.cds -- static and text data for the message segment 8* primitives */ 9 10 /* format: style3,idind30 */ 11 12 mseg_data_: 13 procedure; 14 15 declare 1 mseg_text aligned, 16 2 template_operation aligned like mseg_operation, 17 2 max_message_size fixed bin (35) init (262110), 18 2 block_size fixed bin (35) init (32), 19 2 admin_ring fixed binary (3) initial (1); 20 21 declare 1 mseg_static aligned, 22 2 lock_id bit (36) aligned init (""b), 23 2 process_max_authorization bit (72) aligned init (""b), 24 2 group_id char (32) unaligned, 25 2 execution_ring fixed bin (3) aligned; 26 27 declare 1 cdsa aligned like cds_args; 28 29 declare create_data_segment_ entry (pointer, fixed binary (35)); 30 declare com_err_ entry () options (variable); 31 declare code fixed bin (35); 32 33 34 mseg_operation_ptr = addr (mseg_text.template_operation); 35 unspec (mseg_operation) = ""b; 36 mseg_operation.version = MSEG_OPERATION_VERSION_1; 37 mseg_operation.operation = ""b; 38 mseg_operation.access_operation = 0; 39 mseg_operation.caller.validation_level = -1; 40 mseg_operation.caller.authorization = ""b; 41 mseg_operation.caller.max_authorization = ""b; 42 mseg_operation.caller.group_id = ""; 43 string (mseg_operation.flags) = ""b; 44 mseg_operation.dir_name = ""; 45 mseg_operation.entryname = ""; 46 mseg_operation.mseg_ptr = null (); 47 mseg_operation.md_ptr = null (); 48 mseg_operation.access_info.version = ENTRY_ACCESS_INFO_VERSION_1; 49 mseg_operation.access_info.type = 0; 50 mseg_operation.access_info.dir_name = ""; 51 mseg_operation.access_info.entryname = ""; 52 mseg_operation.message_info.version = MSEG_MESSAGE_INFO_V1; 53 mseg_operation.wakeup_state.version = MSEG_WAKEUP_STATE_VERSION_1; 54 55 unspec (cdsa) = ""b; 56 cdsa.sections (1) /* text */ .p = addr (mseg_text); 57 cdsa.sections (1).len = currentsize (mseg_text); 58 cdsa.sections (1).struct_name = "mseg_text"; 59 60 cdsa.sections (2) /* static */ .p = addr (mseg_static); 61 cdsa.sections (2).len = currentsize (mseg_static); 62 cdsa.sections (2).struct_name = "mseg_static"; 63 64 cdsa.seg_name = "mseg_data_"; 65 cdsa.num_exclude_names = 0; 66 cdsa.exclude_array_ptr = null (); 67 cdsa.switches.have_text, cdsa.switches.have_static = "1"b; 68 69 call create_data_segment_ (addr (cdsa), code); 70 if code ^= 0 71 then call com_err_ (code, "mseg_data_"); 72 return; 73 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 */ 74 2 1 /* BEGIN INCLUDE FILE ... mseg_operation.incl.pl1 */ 2 2 2 3 /* format: style3,idind30,linecom */ 2 4 2 5 /**** Created 1985-04-16, BIM: from Pandolf's mseg_access_operation */ 2 6 2 7 /**** NOTES: 2 8* The caller of mseg_ must set mseg_operation.access_operation to record 2 9* the type of access checking it has performed and which mseg_ should 2 10* perform when needed (i.e., for those entrypoints which operate on 2 11* messages like mseg_$read_message). 2 12* 2 13* mseg_operation.operation is reserved explicitly for use by mseg_ and 2 14* its underlying modules. 2 15* 2 16* You must also include entry_access_info, mseg_message_info, and 2 17* mbx_wakeup_state along with this include file. */ 2 18 2 19 dcl mseg_operation_ptr pointer; 2 20 dcl MSEG_OPERATION_VERSION_1 fixed bin internal static options (constant) init (1); 2 21 dcl MSEG_TYPE_MBX fixed bin init (1) internal static options (constant); 2 22 dcl MSEG_TYPE_MS fixed bin init (2) internal static options (constant); 2 23 2 24 dcl 1 mseg_operation based (mseg_operation_ptr) aligned, 2 25 2 version fixed binary, /* current version is MSEG_OPERATION_VERSION_1 */ 2 26 2 type fixed binary, /* MBX or MS */ 2 27 2 access_operation fixed binary, /* type of access checks required for the operation */ 2 28 2 operation bit (36) aligned, /* for use by mseg_ and underlying modules */ 2 29 2 caller aligned, /* always collected in gate target */ 2 30 3 validation_level fixed bin (3), 2 31 3 privileges bit (18) aligned, /* factored for speed */ 2 32 3 pad_align_double fixed bin (71), /* just to force alignment */ 2 33 3 authorization bit (72) aligned, /* must be 2word aligned */ 2 34 3 max_authorization bit (72) aligned, 2 35 3 group_id char (32) unaligned, 2 36 2 flags aligned, 2 37 3 mseg_pathname_valid bit (1) unaligned, 2 38 3 mseg_ptr_valid bit (1) unaligned, 2 39 3 mseg_index_valid bit (1) unaligned, 2 40 3 access_info_valid bit (1) unaligned, 2 41 3 md_ptr_valid bit (1) unaligned, 2 42 3 message_info_valid bit (1) unaligned, /* note -- for some operations not all fields are used */ 2 43 3 wakeup_state_valid bit (1) unaligned, 2 44 3 suppress_access_checks bit (1) unaligned, /* set by privileged interfaces, suppresses ALL access checking */ 2 45 3 call_admin_gate bit (1) unaligned, /* we is in ring 1, boss */ 2 46 3 only_own_access bit (1) unaligned, /* the user had o rather than r/d */ 2 47 3 add_message_info_all_valid 2 48 bit (1) unaligned, /* Believe ALL the fields in message info on an add */ 2 49 3 pad bit (24) unaligned, 2 50 2 dir_name char (168) unaligned, 2 51 2 entryname char (32) unaligned, 2 52 2 mseg_ptr pointer, 2 53 2 md_ptr pointer, /* message descriptor */ 2 54 2 mseg_index fixed bin, 2 55 2 access_info aligned like entry_access_info, 2 56 2 message_info aligned like mseg_message_info, 2 57 2 wakeup_state aligned like mseg_wakeup_state; 2 58 2 59 /* END INCLUDE FILE ... mseg_operation.incl.pl1 */ 75 3 1 /* BEGIN INCLUDE FILE ... entry_access_info.incl.pl1 */ 3 2 3 3 /* 3 4* Written 03/22/85 by M. Pandolf 3 5* Modified 1985-04-19, BIM: added parent access class. 3 6**/ 3 7 3 8 dcl entry_access_info_ptr pointer; 3 9 dcl ENTRY_ACCESS_INFO_VERSION_1 char (8) internal static options (constant) 3 10 init ("eainf001"); 3 11 3 12 dcl 1 entry_access_info aligned based (entry_access_info_ptr), 3 13 2 version char (8), /* = ENTRY_ACCESS_INFO_VERSION_1 */ 3 14 2 type fixed bin, /* see status_structures.incl.pl1 */ 3 15 2 dir_name char (168) unaligned, /* parent of this entry */ 3 16 2 entryname char (32) unaligned, /* primary name of this entry */ 3 17 2 uid bit (36) aligned, 3 18 2 ring_brackets (3) fixed bin (3), /* for dirs, the dir ring brackets are here */ 3 19 2 extended_ring_brackets (3) fixed bin (3), /* not-yet-implemented x-rb's */ 3 20 2 effective_access_modes bit (36) aligned, /* for dirs, dir mode is here */ 3 21 2 extended_access_modes bit (36) aligned, /* always null for dirs */ 3 22 2 access_class bit (72) aligned, /* for multiclass, max access class */ 3 23 2 parent_access_class bit (72) aligned, /* for multiclass, this is effectively the min access class */ 3 24 2 multiclass bit (1) aligned; 3 25 3 26 /* END INCLUDE FILE ... entry_access_info.incl.pl1 */ 76 4 1 /* BEGIN INCLUDE FILE . . . mseg_message_info.incl.pl1 BIM 1984-10-10 */ 4 2 /* format: style3,idind30 */ 4 3 4 4 /* structure returned when message is read from a message segment */ 4 5 4 6 4 7 dcl mseg_message_info_ptr pointer; 4 8 4 9 dcl 1 mseg_message_info based (mseg_message_info_ptr) aligned, 4 10 2 version char (8) aligned, 4 11 2 message_code fixed bin, 4 12 2 control_flags unaligned, 4 13 3 own bit (1), 4 14 3 delete bit (1), 4 15 3 pad bit (34), 4 16 2 ms_ptr ptr, /* pointer to message */ 4 17 2 ms_len fixed bin (24), /* length of message in bits */ 4 18 2 ms_id bit (72), /* unique ID of message */ 4 19 /* input in some cases */ 4 20 2 ms_access_class bit (72), /* message access class */ 4 21 2 sender_id char (32) unaligned,/* process-group ID of sender */ 4 22 2 sender_process_id bit (36) aligned, /* if nonzero, process that sent */ 4 23 2 sender_level fixed bin, /* validation level of sender */ 4 24 2 sender_authorization bit (72), /* access authorization of message sender */ 4 25 2 sender_max_authorization bit (72), /* max authorization of sending process */ 4 26 2 sender_audit bit (36) aligned; /* audit flags */ 4 27 4 28 declare MSEG_MESSAGE_INFO_V1 char (8) aligned init ("msegmi01") int static options (constant); 4 29 4 30 declare ( 4 31 MSEG_READ_FIRST init (1), 4 32 MSEG_READ_LAST init (2), 4 33 MSEG_READ_SPECIFIED init (3), 4 34 MSEG_READ_BEFORE_SPECIFIED init (4), 4 35 MSEG_READ_AFTER_SPECIFIED init (5)) 4 36 fixed bin int static options (constant); 4 37 4 38 declare (MSEG_READ_OWN init ("1"b), 4 39 MSEG_READ_DELETE init ("01"b) 4 40 ) bit (36) aligned internal static options (constant); 4 41 4 42 /* END INCLUDE FILE . . . mseg_message_info.incl.pl1 */ 77 5 1 /* BEGIN INCLUDE FILE ... mseg_wakeup_state.incl.pl1 */ 5 2 /* Created: April 1985 by G. Palter */ 5 3 5 4 /* format: style3,linecom */ 5 5 5 6 /* Description of the wakeup state of a message segment -- 5 7* 5 8* The wakeup state defines which process, if any, is willing to receive normal or urgent IPC wakeups when a message which 5 9* requests such a wakeup is added to a message segment. The process is allowed to separately accept or defer normal and 5 10* urgent wakeups. Note that deferring a wakeup is not the same as not accepting wakeups. A process is not allowed to 5 11* stop accepting wakeups once it has accepted them as to do so would introduce a relatively high badnwidth covert 5 12* channel. (In the present implementation, urgent wakeups are really no different from normal wakeups. Eventually, 5 13* urgent wakeups should be implemented using an IPS signal along with the IPC wakeup). 5 14* 5 15* mseg_$get_wakeup_state_seg requires that the caller supply the proper value for mseg_wakeup_state.version in the 5 16* mseg_operation. If there is no wakeup state recorded in the message segment, mseg_$get_wakeup_state_seg will return 5 17* the status code error_table_$messages_off. 5 18* 5 19* mseg_$set_wakeup_state_seg ignores the values of the access_class, process_id, and lock_id elements supplied by the 5 20* caller in the mseg_operation. mseg_$set_wakeup_state_seg will, instead, furnish the values of the process making the 5 21* call for these elements and will return these values to its caller. In other words, mseg_$set_wakeup_state_seg can not 5 22* be used by one process to accept/defer wakeups on behalf of another process. */ 5 23 5 24 declare 1 mseg_wakeup_state aligned based (mseg_wakeup_state_ptr), 5 25 2 version character (8) unaligned, 5 26 2 flags aligned, 5 27 3 accepting_normal_wakeups /* ON => process has accepted normal wakeups */ 5 28 bit (1) unaligned, /* OFF => process has deferred normal wakeups */ 5 29 3 accepting_urgent_wakeups /* ON => process has accepted urgent wakeups */ 5 30 bit (1) unaligned, /* OFF => process has deferred urgent wakeups */ 5 31 3 pad bit (34) unaligned, 5 32 2 pad bit (36) aligned, 5 33 2 event_channel fixed binary (71), /* IPC event channel on which to send normal/urgent wakeups */ 5 34 2 access_class bit (72) aligned, /* AIM access class of the process accepting wakeups */ 5 35 2 process_id bit (36) aligned, /* ID of the process accepting wakeups */ 5 36 2 lock_id bit (36) aligned; /* lock ID used to test if said process is still alive */ 5 37 5 38 declare mseg_wakeup_state_ptr 5 39 pointer; 5 40 5 41 declare MSEG_WAKEUP_STATE_VERSION_1 5 42 character (8) static options (constant) initial ("msegwkp1"); 5 43 5 44 /* END INCLUDE FILE ... mseg_wakeup_state.incl.pl1 */ 78 79 end mseg_data_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 05/13/85 1541.1 !BBBJPhPppxLMwp.pl1 >spec>on>mseg>mseg_data_.cds 74 1 04/01/76 2209.5 cds_args.incl.pl1 >ldd>include>cds_args.incl.pl1 75 2 05/06/85 1121.9 mseg_operation.incl.pl1 >spec>on>mseg>mseg_operation.incl.pl1 76 3 05/06/85 1121.6 entry_access_info.incl.pl1 >spec>on>mseg>entry_access_info.incl.pl1 77 4 01/10/85 2002.8 mseg_message_info.incl.pl1 >ldd>include>mseg_message_info.incl.pl1 78 5 05/06/85 1122.0 mseg_wakeup_state.incl.pl1 >spec>on>mseg>mseg_wakeup_state.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. ENTRY_ACCESS_INFO_VERSION_1 000004 constant char(8) initial unaligned dcl 3-9 ref 48 MSEG_MESSAGE_INFO_V1 000002 constant char(8) initial dcl 4-28 ref 52 MSEG_OPERATION_VERSION_1 000214 constant fixed bin(17,0) initial dcl 2-20 ref 36 MSEG_TYPE_MS 000006 constant fixed bin(17,0) initial dcl 2-22 MSEG_WAKEUP_STATE_VERSION_1 000000 constant char(8) initial unaligned dcl 5-41 ref 53 access_info 115 based structure level 2 dcl 2-24 access_operation 2 based fixed bin(17,0) level 2 dcl 2-24 set ref 38* admin_ring 266 000100 automatic fixed bin(3,0) initial level 2 dcl 15 set ref 15* authorization 10 based bit(72) level 3 dcl 2-24 set ref 40* block_size 265 000100 automatic fixed bin(35,0) initial level 2 dcl 15 set ref 15* caller 4 based structure level 2 dcl 2-24 cds_args based structure level 1 dcl 1-3 cdsa 000404 automatic structure level 1 dcl 27 set ref 55* 69 69 code 000451 automatic fixed bin(35,0) dcl 31 set ref 69* 70 70* com_err_ 000014 constant entry external dcl 30 ref 70 create_data_segment_ 000012 constant entry external dcl 29 ref 69 dir_name 120 based char(168) level 3 in structure "mseg_operation" packed unaligned dcl 2-24 in procedure "mseg_data_" set ref 50* dir_name 25 based char(168) level 2 in structure "mseg_operation" packed unaligned dcl 2-24 in procedure "mseg_data_" set ref 44* entry_access_info based structure level 1 dcl 3-12 entry_access_info_ptr 000454 automatic pointer dcl 3-8 ref 3-12 3-12 3-12 3-12 3-12 3-12 3-12 3-12 3-12 3-12 3-12 3-12 3-12 entryname 77 based char(32) level 2 in structure "mseg_operation" packed unaligned dcl 2-24 in procedure "mseg_data_" set ref 45* entryname 172 based char(32) level 3 in structure "mseg_operation" packed unaligned dcl 2-24 in procedure "mseg_data_" set ref 51* exclude_array_ptr 42 000404 automatic pointer level 2 dcl 27 set ref 66* flags 24 based structure level 2 dcl 2-24 set ref 43* group_id 14 based char(32) level 3 packed unaligned dcl 2-24 set ref 42* have_static 44(03) 000404 automatic bit(1) level 3 packed unaligned dcl 27 set ref 67* have_text 44(02) 000404 automatic bit(1) level 3 packed unaligned dcl 27 set ref 67* len 2 000404 automatic fixed bin(18,0) array level 3 dcl 27 set ref 57* 61* lock_id 000367 automatic bit(36) initial level 2 dcl 21 set ref 21* max_authorization 12 based bit(72) level 3 dcl 2-24 set ref 41* max_message_size 264 000100 automatic fixed bin(35,0) initial level 2 dcl 15 set ref 15* md_ptr 112 based pointer level 2 dcl 2-24 set ref 47* message_info 220 based structure level 2 dcl 2-24 mseg_message_info based structure level 1 dcl 4-9 mseg_message_info_ptr 000456 automatic pointer dcl 4-7 ref 4-9 4-9 4-9 4-9 4-9 4-9 4-9 4-9 4-9 4-9 4-9 4-9 4-9 4-9 4-9 4-9 4-9 mseg_operation based structure level 1 dcl 2-24 set ref 35* mseg_operation_ptr 000452 automatic pointer dcl 2-19 set ref 34* 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 2-24 mseg_ptr 110 based pointer level 2 dcl 2-24 set ref 46* mseg_static 000367 automatic structure level 1 dcl 21 set ref 60 61 mseg_text 000100 automatic structure level 1 dcl 15 set ref 56 57 mseg_wakeup_state based structure level 1 dcl 5-24 mseg_wakeup_state_ptr 000460 automatic pointer dcl 5-38 ref 5-24 5-24 5-24 5-24 5-24 5-24 5-24 5-24 5-24 5-24 5-24 num_exclude_names 40 000404 automatic fixed bin(17,0) level 2 dcl 27 set ref 65* operation 3 based bit(36) level 2 dcl 2-24 set ref 37* p 000404 automatic pointer array level 3 dcl 27 set ref 56* 60* process_max_authorization 1 000367 automatic bit(72) initial level 2 dcl 21 set ref 21* sections 000404 automatic structure array level 2 dcl 27 seg_name 30 000404 automatic char(32) level 2 dcl 27 set ref 64* struct_name 3 000404 automatic char(32) array level 3 dcl 27 set ref 58* 62* switches 44 000404 automatic structure level 2 dcl 27 template_operation 000100 automatic structure level 2 dcl 15 set ref 34 type 117 based fixed bin(17,0) level 3 dcl 2-24 set ref 49* validation_level 4 based fixed bin(3,0) level 3 dcl 2-24 set ref 39* version 252 based char(8) level 3 in structure "mseg_operation" packed unaligned dcl 2-24 in procedure "mseg_data_" set ref 53* version based fixed bin(17,0) level 2 in structure "mseg_operation" dcl 2-24 in procedure "mseg_data_" set ref 36* version 220 based char(8) level 3 in structure "mseg_operation" dcl 2-24 in procedure "mseg_data_" set ref 52* version 115 based char(8) level 3 in structure "mseg_operation" dcl 2-24 in procedure "mseg_data_" set ref 48* wakeup_state 252 based structure level 2 dcl 2-24 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. MSEG_READ_AFTER_SPECIFIED constant fixed bin(17,0) initial dcl 4-30 MSEG_READ_BEFORE_SPECIFIED constant fixed bin(17,0) initial dcl 4-30 MSEG_READ_DELETE constant bit(36) initial dcl 4-38 MSEG_READ_FIRST constant fixed bin(17,0) initial dcl 4-30 MSEG_READ_LAST constant fixed bin(17,0) initial dcl 4-30 MSEG_READ_OWN constant bit(36) initial dcl 4-38 MSEG_READ_SPECIFIED constant fixed bin(17,0) initial dcl 4-30 MSEG_TYPE_MBX constant fixed bin(17,0) initial dcl 2-21 exclude_names based char(32) array unaligned dcl 1-18 NAME DECLARED BY EXPLICIT CONTEXT. mseg_data_ 000030 constant entry external dcl 12 NAMES DECLARED BY CONTEXT OR IMPLICATION. addr builtin function ref 34 56 60 69 69 currentsize builtin function ref 57 61 null builtin function ref 46 47 66 string builtin function ref 43 unspec builtin function set ref 35 55* STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 270 306 215 300 Length 4474 215 16 4151 52 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME mseg_data_ 324 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME mseg_data_ 000100 mseg_text mseg_data_ 000367 mseg_static mseg_data_ 000404 cdsa mseg_data_ 000451 code mseg_data_ 000452 mseg_operation_ptr mseg_data_ 000454 entry_access_info_ptr mseg_data_ 000456 mseg_message_info_ptr mseg_data_ 000460 mseg_wakeup_state_ptr mseg_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 12 000027 15 000035 21 000043 34 000046 35 000050 36 000053 37 000055 38 000056 39 000057 40 000061 41 000064 42 000066 43 000071 44 000072 45 000075 46 000100 47 000102 48 000103 49 000106 50 000107 51 000112 52 000115 53 000120 55 000123 56 000126 57 000130 58 000132 60 000135 61 000137 62 000141 64 000144 65 000147 66 000150 67 000152 69 000156 70 000170 72 000213 Object Segment >spec>on>mseg>mseg_data_ Created on 05/13/85 1552.4 mst Mon by GJohnson.SysMaint.a using create_data_segment_, Version II of Friday, November 30, 1984 Object Text Defs Link Symb Static Start 0 0 270 400 424 410 Length 700 270 110 24 240 14 10 Definitions: segname: mseg_data_ text|266 admin_ring text|265 block_size link|23 execution_ring link|13 group_id link|10 lock_id text|264 max_message_size link|11 process_max_authorization symb|0 symbol_table text|0 template_operation 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