COMPILATION LISTING OF SEGMENT !BBBJPdMFgcnQxK Compiled by: Multics PL/I Compiler, Release 28e, of February 14, 1985 Compiled at: Honeywell Multics Op. - System M Compiled on: 04/04/85 0917.7 mst Thu Options: table map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1983 * 4* * * 5* *********************************************************** */ 6 7 /* DESCRIPTION: 8* bj_suffix_info_ - a constant structure to be used by suffix_bj_$suffix_info 9* so that the overhead of assigning 10 or more variables at each invocation 10* can be avoided. 11**/ 12 13 /* HISTORY: 14*Written by M. Pandolf, 11/02/83 15*Modified: 16*12/11/84 by M.Sharpe: to correct format. 17**/ 18 /* format: style2,ll79,ind3,^indprocbody,ifthendo,ifthen,^indnoniterdo */ 19 /* format: ^inddcls,dclind5,idind35,linecom */ 20 21 22 bj_suffix_info_: 23 procedure (); 24 25 /* DECLARATIONS */ 26 27 /* Automatic */ 28 29 dcl ( 30 code fixed bin (35), 31 1 local_cds_args aligned like cds_args, 32 1 bj_suffix_info aligned like suffix_info 33 ) automatic; 34 35 /* Constant */ 36 37 dcl ( 38 EXCLUDE_ARRAY dim (1) char (32) init ("pad*"), 39 MYNAME char (32) init ("bj_suffix_info_") 40 ) internal static options (constant); 41 42 /* Entry */ 43 44 dcl com_err_ entry() options(variable), 45 create_data_segment_ entry (ptr, fixed bin(35)); 46 47 /* Builtin */ 48 49 dcl (addr, hbound, size, unspec) builtin; 50 51 52 53 bj_suffix_info.version = SUFFIX_INFO_VERSION_1; 54 bj_suffix_info.type = "bj"; 55 bj_suffix_info.type_name = "before journal"; 56 bj_suffix_info.plural_name = "before journals"; 57 bj_suffix_info.flags.standard_object = "0"b; 58 bj_suffix_info.flags.extended_acl = "0"b; 59 bj_suffix_info.flags.has_switches = "0"b; 60 bj_suffix_info.flags.mbz1 = ""b; 61 bj_suffix_info.modes = "r w"; 62 bj_suffix_info.max_mode_len = 0; 63 bj_suffix_info.num_ring_brackets = 0; 64 string (bj_suffix_info.copy_flags) = ""b; 65 bj_suffix_info.copy_flags.names = "1"b; 66 bj_suffix_info.copy_flags.acl = "1"b; 67 bj_suffix_info.copy_flags.max_length = "0"b; 68 bj_suffix_info.copy_flags.safety_switch = "0"b; 69 70 bj_suffix_info.info_pathname = ""; 71 72 /* initialize the cds structure */ 73 74 unspec (local_cds_args) = ""b; 75 local_cds_args.sections (1).p = addr (bj_suffix_info); 76 local_cds_args.sections (1).len = size (bj_suffix_info); 77 local_cds_args.sections (1).struct_name = "bj_suffix_info"; 78 local_cds_args.seg_name = MYNAME; 79 local_cds_args.exclude_array_ptr = addr (EXCLUDE_ARRAY); 80 local_cds_args.num_exclude_names = hbound (EXCLUDE_ARRAY, 1); 81 local_cds_args.switches.have_text = "1"b; 82 83 /* call cds to make the segment */ 84 85 call create_data_segment_ (addr (local_cds_args), code); 86 if code ^= 0 87 then call com_err_ (code, MYNAME); 88 89 return; 90 91 /* Include Files */ 92 93 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 */ 94 95 2 1 /* BEGIN INCLUDE FILE: suffix_info.incl.pl1 */ 2 2 /* format: style3,indcomtxt,idind30 */ 2 3 /**** Jay Pattin 2/13/83 2 4* M. Pandolf 1984.11.30 to set FS_OBJECT_TYPE_MSF to -multisegment_file 2 5* 2 6* The include file copy_flags.incl.pl1 must be included in any program using this include file. 2 7* 2 8* This structure is returned by the suffix_XXX_$suffix_info subroutines */ 2 9 2 10 declare suffix_info_ptr ptr; 2 11 2 12 declare 1 suffix_info aligned based (suffix_info_ptr), 2 13 2 version char (8), 2 14 2 type char (32) unaligned, 2 15 2 type_name char (32) unaligned, /* Singular name of the object type, e.g. "mailbox" */ 2 16 2 plural_name char (32) unaligned, /* Plural of above, e.g. "mailboxes" */ 2 17 2 flags unaligned, 2 18 3 standard_object bit (1) unaligned, /* ON if not an extended object (no suffix_XXX_) */ 2 19 3 extended_acl bit (1) unaligned, /* ON if uses extended ACLs, off if regular ACLs */ 2 20 3 has_switches bit (1) unaligned, /* ON if supports switches for objects */ 2 21 3 mbz1 bit (33) unaligned, 2 22 2 modes char (36), /* correspondence between bits and chars for extended modes */ 2 23 2 max_mode_len fixed bin, /* maximum number of modes on an object */ 2 24 2 num_ring_brackets fixed bin, /* number of ring brackets on object */ 2 25 2 copy_flags like copy_flags, /* See copy_flags.incl.pl1 */ 2 26 2 info_pathname char (168) unaligned; 2 27 /* pathname of info segment containing more info */ 2 28 2 29 declare SUFFIX_INFO_VERSION_1 char (8) static options (constant) init ("SUFFIX01"); 2 30 2 31 /* This information is returned by the suffix_XXX_$list_switches subroutines */ 2 32 2 33 declare switch_list_ptr ptr, 2 34 alloc_switch_count fixed bin, 2 35 alloc_switch_name_count fixed bin; 2 36 2 37 declare 1 switch_list aligned based (switch_list_ptr), 2 38 2 version char (8), /* SWITCH_LIST_VERSION_1 */ 2 39 2 switch_count fixed bin, /* total number of switches */ 2 40 2 switch_name_count fixed bin, /* total number of names */ 2 41 2 switches (alloc_switch_count refer (switch_list.switch_count)), 2 42 3 name_index fixed bin, /* index of first name for this switch */ 2 43 3 name_count fixed bin, /* number of names for this switch */ 2 44 3 default_value bit (1) aligned, /* default setting for this switch */ 2 45 3 mbz1 bit (36) aligned, /* reserved for future use */ 2 46 2 names (alloc_switch_name_count refer (switch_list.switch_name_count)) char (32); 2 47 2 48 declare SWITCH_LIST_VERSION_1 char (8) static options (constant) init ("SWLIST01"); 2 49 2 50 declare ( 2 51 FS_OBJECT_TYPE_SEGMENT init ("-segment"), 2 52 FS_OBJECT_TYPE_DIRECTORY init ("-directory"), 2 53 FS_OBJECT_TYPE_MSF init ("-multisegment_file"), 2 54 FS_OBJECT_TYPE_DM_FILE init ("-dm_file"), 2 55 FS_OBJECT_TYPE_LINK init ("-link") 2 56 ) char (32) unaligned int static options (constant); 2 57 2 58 /* END INCLUDE FILE: suffix_info.incl.pl1 */ 96 97 3 1 /* BEGIN INCLUDE FILE: copy_flags.incl.pl1 */ 3 2 3 3 /* Flags for attributes that should/may be copied by the copy_ subroutine. This include file is 3 4* required by suffix_info.incl.pl1 and copy_options.incl.pl1 3 5* 3 6* Jay Pattin 6/23/83 */ 3 7 3 8 declare 1 copy_flags aligned based, /* ON means that this attribute may be copied by copy_ */ 3 9 2 names bit (1) unaligned, 3 10 2 acl bit (1) unaligned, 3 11 2 ring_brackets bit (1) unaligned, 3 12 2 max_length bit (1) unaligned, 3 13 2 copy_switch bit (1) unaligned, 3 14 2 safety_switch bit (1) unaligned, 3 15 2 dumper_switches bit (1) unaligned, 3 16 2 entry_bound bit (1) unaligned, /* only for vanilla object segments */ 3 17 2 extend bit (1) unaligned, /* copy_ may append to end of existing object */ 3 18 2 update bit (1) unaligned, /* copy_ may replace contents of existing object */ 3 19 2 mbz bit (26) unaligned; 3 20 3 21 /* END INCLUDE FILE: copy_flags.incl.pl1 */ 98 99 100 end bj_suffix_info_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 04/04/85 0824.5 !BBBJPdMFgcnQxK.pl1 >spec>on>7192.pbf-04/04/85>bj_suffix_info_.cds 94 1 04/01/76 2209.5 cds_args.incl.pl1 >ldd>include>cds_args.incl.pl1 96 2 03/05/85 1807.3 suffix_info.incl.pl1 >ldd>include>suffix_info.incl.pl1 98 3 10/14/83 1606.7 copy_flags.incl.pl1 >ldd>include>copy_flags.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. EXCLUDE_ARRAY 000012 constant char(32) initial array unaligned dcl 37 set ref 79 80 MYNAME 000002 constant char(32) initial unaligned dcl 37 set ref 78 86* SUFFIX_INFO_VERSION_1 000000 constant char(8) initial unaligned dcl 2-29 ref 53 acl 46(01) 000147 automatic bit(1) level 3 packed unaligned dcl 29 set ref 66* addr builtin function dcl 49 ref 75 79 85 85 bj_suffix_info 000147 automatic structure level 1 dcl 29 set ref 75 76 cds_args based structure level 1 dcl 1-3 code 000100 automatic fixed bin(35,0) dcl 29 set ref 85* 86 86* com_err_ 000012 constant entry external dcl 44 ref 86 copy_flags 46 000147 automatic structure level 2 in structure "bj_suffix_info" dcl 29 in procedure "bj_suffix_info_" set ref 64* copy_flags based structure level 1 dcl 3-8 in procedure "bj_suffix_info_" create_data_segment_ 000014 constant entry external dcl 44 ref 85 exclude_array_ptr 42 000102 automatic pointer level 2 dcl 29 set ref 79* extended_acl 32(01) 000147 automatic bit(1) level 3 packed unaligned dcl 29 set ref 58* flags 32 000147 automatic structure level 2 packed unaligned dcl 29 has_switches 32(02) 000147 automatic bit(1) level 3 packed unaligned dcl 29 set ref 59* have_text 44(02) 000102 automatic bit(1) level 3 packed unaligned dcl 29 set ref 81* hbound builtin function dcl 49 ref 80 info_pathname 47 000147 automatic char(168) level 2 packed unaligned dcl 29 set ref 70* len 2 000102 automatic fixed bin(18,0) array level 3 dcl 29 set ref 76* local_cds_args 000102 automatic structure level 1 dcl 29 set ref 74* 85 85 max_length 46(03) 000147 automatic bit(1) level 3 packed unaligned dcl 29 set ref 67* max_mode_len 44 000147 automatic fixed bin(17,0) level 2 dcl 29 set ref 62* mbz1 32(03) 000147 automatic bit(33) level 3 packed unaligned dcl 29 set ref 60* modes 33 000147 automatic char(36) level 2 dcl 29 set ref 61* names 46 000147 automatic bit(1) level 3 packed unaligned dcl 29 set ref 65* num_exclude_names 40 000102 automatic fixed bin(17,0) level 2 dcl 29 set ref 80* num_ring_brackets 45 000147 automatic fixed bin(17,0) level 2 dcl 29 set ref 63* p 000102 automatic pointer array level 3 dcl 29 set ref 75* plural_name 22 000147 automatic char(32) level 2 packed unaligned dcl 29 set ref 56* safety_switch 46(05) 000147 automatic bit(1) level 3 packed unaligned dcl 29 set ref 68* sections 000102 automatic structure array level 2 dcl 29 seg_name 30 000102 automatic char(32) level 2 dcl 29 set ref 78* size builtin function dcl 49 ref 76 standard_object 32 000147 automatic bit(1) level 3 packed unaligned dcl 29 set ref 57* struct_name 3 000102 automatic char(32) array level 3 dcl 29 set ref 77* suffix_info based structure level 1 dcl 2-12 suffix_info_ptr 000270 automatic pointer dcl 2-10 ref 2-12 2-12 2-12 2-12 2-12 2-12 2-12 2-12 2-12 2-12 2-12 2-12 2-12 2-12 2-12 2-12 2-12 2-12 2-12 2-12 2-12 2-12 2-12 2-12 2-12 2-12 switches 44 000102 automatic structure level 2 dcl 29 type 2 000147 automatic char(32) level 2 packed unaligned dcl 29 set ref 54* type_name 12 000147 automatic char(32) level 2 packed unaligned dcl 29 set ref 55* unspec builtin function dcl 49 set ref 74* version 000147 automatic char(8) level 2 dcl 29 set ref 53* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. FS_OBJECT_TYPE_DIRECTORY constant char(32) initial unaligned dcl 2-50 FS_OBJECT_TYPE_DM_FILE constant char(32) initial unaligned dcl 2-50 FS_OBJECT_TYPE_LINK constant char(32) initial unaligned dcl 2-50 FS_OBJECT_TYPE_MSF constant char(32) initial unaligned dcl 2-50 FS_OBJECT_TYPE_SEGMENT constant char(32) initial unaligned dcl 2-50 SWITCH_LIST_VERSION_1 constant char(8) initial unaligned dcl 2-48 alloc_switch_count 000274 automatic fixed bin(17,0) dcl 2-33 alloc_switch_name_count 000275 automatic fixed bin(17,0) dcl 2-33 exclude_names based char(32) array unaligned dcl 1-18 switch_list based structure level 1 dcl 2-37 switch_list_ptr 000272 automatic pointer dcl 2-33 NAME DECLARED BY EXPLICIT CONTEXT. bj_suffix_info_ 000042 constant entry external dcl 22 NAME DECLARED BY CONTEXT OR IMPLICATION. string builtin function ref 64 STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 252 270 177 262 Length 2304 177 16 2000 53 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME bj_suffix_info_ 208 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME bj_suffix_info_ 000100 code bj_suffix_info_ 000102 local_cds_args bj_suffix_info_ 000147 bj_suffix_info bj_suffix_info_ 000270 suffix_info_ptr bj_suffix_info_ 000272 switch_list_ptr bj_suffix_info_ 000274 alloc_switch_count bj_suffix_info_ 000275 alloc_switch_name_count bj_suffix_info_ 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 22 000041 53 000047 54 000052 55 000055 56 000060 57 000063 58 000065 59 000067 60 000071 61 000073 62 000076 63 000077 64 000100 65 000101 66 000103 67 000105 68 000107 70 000111 74 000114 75 000117 76 000121 77 000123 78 000126 79 000131 80 000133 81 000135 85 000137 86 000151 89 000170 Object Segment >spec>on>7192.pbf-04/04/85>bj_suffix_info_ Created on 04/04/85 0917.8 mst Thu by GJohnson.SysMaint.m using create_data_segment_, Version II of Friday, November 30, 1984 Object Text Defs Link Symb Static Start 0 0 122 240 250 250 Length 464 122 116 10 200 0 12 Definitions: segname: bj_suffix_info_ text|46 copy_flags text|32 flags text|47 info_pathname text|44 max_mode_len text|33 modes text|45 num_ring_brackets text|22 plural_name symb|0 symbol_table text|2 type text|12 type_name text|0 version 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