COMPILATION LISTING OF SEGMENT convert_MR10_2_pdts Compiled by: Multics PL/I Compiler, Release 30, of February 16, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 07/13/88 1008.8 mst Wed Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4* * * 5* * Copyright (c) 1972 by Massachusetts Institute of * 6* * Technology and Honeywell Information Systems, Inc. * 7* * * 8* *********************************************************** */ 9 10 11 /* format: style2 */ 12 /* convert_MR10_2_pdts - program to set MR11 PDT default values in live pdts. 13* 14* 1) authorization ranges 15* 16* 82-03-12 E. N. Kittlitz. stolen from cv_MR9_pdts. 17* 84-07-05 BIM stolen from cv_MR10_pdts 18**/ 19 20 convert_MR10_2_pdts: 21 procedure; 22 23 24 /* automatic */ 25 26 dcl arg_count fixed bin; 27 dcl alp pointer; 28 dcl ap pointer; 29 dcl al fixed bin (21); 30 dcl (pdtp, pdtep) ptr; 31 dcl (namex, i) fixed bin; 32 dcl name char (32); 33 dcl code fixed bin (35); 34 dcl bit_count fixed bin (24); 35 dcl pdt_directory char (168); 36 dcl area_ptr ptr; 37 38 /* based */ 39 40 dcl argument char (al) based (ap); 41 42 /* builtins */ 43 44 dcl (addr, null, sum) builtin; 45 46 /* entries */ 47 48 dcl absolute_pathname_ entry (character (*), character (*), fixed binary (35)); 49 dcl cu_$arg_list_ptr entry (ptr); 50 dcl cu_$arg_count_rel entry (fixed bin, ptr, fixed bin (35)); 51 dcl cu_$arg_ptr_rel entry (fixed bin, ptr, fixed bin (21), fixed bin (35), ptr); 52 dcl hcs_$star_ entry (char (*), char (*), fixed bin, ptr, fixed bin, ptr, ptr, fixed bin (35)); 53 dcl initiate_file_ entry (character (*), character (*), bit (*), pointer, fixed binary (24), 54 fixed binary (35)); 55 dcl terminate_file_ entry (pointer, fixed binary (24), bit (*), fixed binary (35)); 56 dcl get_system_free_area_ entry (ptr); 57 dcl com_err_ entry options (variable); 58 59 /* based */ 60 61 dcl system_area area (65536 + 24) aligned based (area_ptr); 62 63 /* include files */ 64 1 1 /* BEGIN INCLUDE FILE ... access_mode_values.incl.pl1 1 2* 1 3* Values for the "access mode" argument so often used in hardcore 1 4* James R. Davis 26 Jan 81 MCR 4844 1 5* Added constants for SM access 4/28/82 Jay Pattin 1 6* Added text strings 03/19/85 Chris Jones 1 7**/ 1 8 1 9 1 10 /* format: style4,delnl,insnl,indattr,ifthen,dclind10 */ 1 11 dcl ( 1 12 N_ACCESS init ("000"b), 1 13 R_ACCESS init ("100"b), 1 14 E_ACCESS init ("010"b), 1 15 W_ACCESS init ("001"b), 1 16 RE_ACCESS init ("110"b), 1 17 REW_ACCESS init ("111"b), 1 18 RW_ACCESS init ("101"b), 1 19 S_ACCESS init ("100"b), 1 20 M_ACCESS init ("010"b), 1 21 A_ACCESS init ("001"b), 1 22 SA_ACCESS init ("101"b), 1 23 SM_ACCESS init ("110"b), 1 24 SMA_ACCESS init ("111"b) 1 25 ) bit (3) internal static options (constant); 1 26 1 27 /* The following arrays are meant to be accessed by doing either 1) bin (bit_value) or 1 28* 2) divide (bin_value, 2) to come up with an index into the array. */ 1 29 1 30 dcl SEG_ACCESS_MODE_NAMES (0:7) init ("null", "W", "E", "EW", "R", "RW", "RE", "REW") char (4) internal 1 31 static options (constant); 1 32 1 33 dcl DIR_ACCESS_MODE_NAMES (0:7) init ("null", "A", "M", "MA", "S", "SA", "SM", "SMA") char (4) internal 1 34 static options (constant); 1 35 1 36 dcl ( 1 37 N_ACCESS_BIN init (00000b), 1 38 R_ACCESS_BIN init (01000b), 1 39 E_ACCESS_BIN init (00100b), 1 40 W_ACCESS_BIN init (00010b), 1 41 RW_ACCESS_BIN init (01010b), 1 42 RE_ACCESS_BIN init (01100b), 1 43 REW_ACCESS_BIN init (01110b), 1 44 S_ACCESS_BIN init (01000b), 1 45 M_ACCESS_BIN init (00010b), 1 46 A_ACCESS_BIN init (00001b), 1 47 SA_ACCESS_BIN init (01001b), 1 48 SM_ACCESS_BIN init (01010b), 1 49 SMA_ACCESS_BIN init (01011b) 1 50 ) fixed bin (5) internal static options (constant); 1 51 1 52 /* END INCLUDE FILE ... access_mode_values.incl.pl1 */ 65 2 1 /* BEGIN INCLUDE FILE ... pdt.incl.pl1 */ 2 2 /* Requires user_attributes.incl.pl1 */ 2 3 2 4 /* Modified 740723 by PG to add AIM info */ 2 5 /* Modified 750604 by T. Casey to add priority scheduler parameters */ 2 6 /* Modified May 1976 by T. Casey to add cutoff warning thresholds and change version to 3 */ 2 7 /* Modified May 1977 by John Gintell to add reqfile, projfile, and SAT to header */ 2 8 /* Modified May 1978 by T. Casey to add pdir_quota to user entry */ 2 9 /* Modified June 1978 by T. Casey to add rel ptr to pdt hash table */ 2 10 /* Modified November 1978 by T. Casey to add max_(fore back)ground, n_(fore back)ground and abs_foreground_cpu_limit */ 2 11 /* Modified October 1979 by T. Casey to add counters for interactive and disconnected processes. */ 2 12 /* Modified Feb 1980 by M. B. Armstrong to implement multiple rate structures (UNCA). */ 2 13 /* Modified May 1980 by R. McDonald to use iod cpu time field for page charging (UNCA) */ 2 14 /* Modified December 1981 by E. N. Kittlitz for user_warn fields */ 2 15 /* Modified January 1982 by E. N. Kittlitz for user_attributes.incl.pl1 changes */ 2 16 /* Modified September 1982 by E. N. Kittlitz for default ring. */ 2 17 /* Modified 1984-07-05 BIM for min authorization, version to 4 */ 2 18 2 19 dcl (PDT_version init (4), /* version of this declaration */ 2 20 PDT_header_lth init (256), /* length in words of PDT head */ 2 21 PDT_entry_lth init (256), /* length in words of PDT entry */ 2 22 2 23 PDT_project_name_length init (9), /* proper length of pdt.project_name */ 2 24 PDT_person_id_length init (22) /* proper length of user.person_id */ 2 25 ) fixed bin internal static options (constant); 2 26 2 27 dcl 1 pdt based (pdtp) aligned, 2 28 3 1 /* BEGIN INCLUDE FILE author.incl.pl1 */ 3 2 3 3 /* the "author" items must always be the first ones in the table. The 3 4* module which moves the converted table to the System Control process 3 5* fills in these data items and assumes them to be at the head of the segment 3 6* regardless of the specific table's actual declaration. The variables 3 7* "lock" and "last_install_time" used to be "process_id" and "ev_channel" 3 8* respectively. For tables installed in multiple processes, these 3 9* are to be used to lock out multiple installations. */ 3 10 3 11 /* Lock should be used as a modification lock. Since, in general, 3 12* entries may not be moved in system tables, even by installations, 3 13* it is sufficient for only installers and programs that change threads 3 14* to set or respect the lock. Simply updating data in an entry 3 15* requires no such protection. 3 16* 3 17* Last_install_time is used by readers of system tables to detect 3 18* installations or other serious modifications. By checking it before 3 19* and after copying a block of data, they can be protected against 3 20* modifications. 3 21* 3 22* Modules that set the lock should save proc_group_id, and then 3 23* put their group id there for the time they hold the lock. 3 24* if they do not actually install the, they should restore the group id. 3 25**/ 3 26 3 27 2 author aligned, /* validation data about table's author */ 3 28 3 proc_group_id char (32), /* process-group-id (personid.projectid.tag) */ 3 29 3 lock bit (36), /* installation lock */ 3 30 3 update_attributes bit (1) unal, /* update/add/delete attributes */ 3 31 3 update_authorization bit (1) unal, /* update only authorizations */ 3 32 3 deferral_notified bit (1) unal, /* installer notified of deferral of installation */ 3 33 3 pad bit (33) unaligned, 3 34 3 last_install_time fixed bin (71), 3 35 3 table char (4), /* name of table, e.g., SAT MGT TTT RTDT PDT etc. */ 3 36 3 w_dir char (64), /* author's working directory */ 3 37 3 38 /* END INCLUDE FILE author.incl.pl1 */ 2 29 2 30 2 max_size fixed bin, /* max number of entries table can grow */ 2 31 2 current_size fixed bin, /* current size of table (in entries) */ 2 32 2 version fixed bin, /* table version */ 2 33 2 freep fixed bin, /* relptr to begin of free chain */ 2 34 2 n_users fixed bin, /* number of entries actually used */ 2 35 2 project_name char (28), /* name of project */ 2 36 2 project_dir char (64), /* treename of project's directory */ 2 37 2 projfile_version fixed bin, 2 38 2 projentry bit (66*36), 2 39 2 pad3 (5) bit (36) aligned, 2 40 2 reqfile_version fixed bin, 2 41 2 reqentry bit (40*36), 2 42 2 pad4 (9) fixed bin, 2 43 2 sat_version fixed bin, 2 44 2 satentry bit (52*36), /* everything in sat.project from project.at on */ 2 45 2 pad5 (4) bit (36) aligned, 2 46 2 date_reqfile_copied fixed bin (71), 2 47 2 rs_number fixed bin (9) unsigned unaligned, /* rate structure number, easier than looking in satentry */ 2 48 2 pad2l bit (27) unaligned, 2 49 2 pad2 (16) fixed bin, /* make header 256 words long */ 2 50 2 ht_relp fixed bin (18) aligned, /* if nonzero, pdt has hash table at that loc */ 2 51 2 user (1019) aligned, /* the project definition table entries */ 2 52 3 pad (256) bit (36) aligned; /* each entry is 256 words long */ 2 53 2 54 /* The hash table, if there is one, is right after the last user, and is described in hashst.incl.pl1 */ 2 55 2 56 2 57 2 58 dcl 1 user based (pdtep) aligned, /* declaration of a single PDT entry */ 2 59 2 state fixed bin, /* 1 = normal, 2 = deleted 0 = free */ 2 60 2 lock bit (36), /* update lock */ 2 61 2 person_id char (24) aligned, /* login name of user */ 2 62 2 now_in fixed bin, /* count of users logged in on this entry */ 2 63 2 password char (8) aligned, /* password for anonymous user */ 2 64 2 at like user_attributes aligned, /* include user_attributes.incl.pl1 */ 2 65 2 initial_procedure char (64) aligned, /* initproc and subsystem name packed into one string */ 2 66 2 home_dir char (64) aligned, /* user's default working directory */ 2 67 2 bump_grace fixed bin, /* number of minutes he is protected */ 2 68 2 high_ring fixed bin, /* highest ring user may use */ 2 69 2 default_ring fixed bin (17) unal, /* ring user will start in */ 2 70 2 low_ring fixed bin (17) unal, /* lowest ring user may use */ 2 71 2 outer_module char (32), /* outer module used if user is interactive */ 2 72 2 lot_size fixed bin, /* size of linkage offset table */ 2 73 2 kst_size fixed bin, /* size of known segment table */ 2 74 2 cls_size fixed bin, /* size of combined linkage */ 2 75 2 uflags, /* various flags */ 2 76 3 dont_call_init_admin bit (1) unal, /* call overseer direct */ 2 77 3 ip_given bit (1) unal, /* ip_len gives length of initproc packed in initial_procedure */ 2 78 3 ss_given bit (1) unal, /* subsystem name is packed in initial_procedure */ 2 79 3 flagpad bit (33) unal, 2 80 2 ip_len fixed bin (17) unal, /* length of initproc name packed in initial_procedure */ 2 81 2 ss_len fixed bin (17) unal, /* length of subsystem name packed in initial_procedure */ 2 82 2 dollar_limit float bin, 2 83 2 dollar_charge float bin, /* total dollars spent this month */ 2 84 2 shift_limit (0: 7) float bin, 2 85 2 daton fixed bin (71), /* date user added to system */ 2 86 2 datof fixed bin (71), /* date user deleted */ 2 87 2 last_login_time fixed bin (71), /* time of last login */ 2 88 2 last_login_unit char (4), /* terminal id last used */ 2 89 2 last_login_type fixed bin (17) unal, /* terminal type */ 2 90 2 last_login_line_type fixed bin (17) unal, /* terminal line type */ 2 91 2 time_last_bump fixed bin (71), /* for bump-wait */ 2 92 2 last_update fixed bin (71), /* time of last transaction */ 2 93 2 logins fixed bin, /* number of logins */ 2 94 2 crashes fixed bin, /* sessions abnormally terminated */ 2 95 2 interactive (0: 7), /* interactive use, shifts 0-7 */ 2 96 3 charge float bin, /* total dollar charge this shift */ 2 97 3 xxx fixed bin, 2 98 3 cpu fixed bin (71), /* cpu usage in microseconds */ 2 99 3 core fixed bin (71), /* core demand in page-microseconds */ 2 100 3 connect fixed bin (71), /* total console time in microseconds */ 2 101 3 io_ops fixed bin (71), /* total i/o ops on terminal */ 2 102 2 absentee (4), /* absentee use, queues 1-4 */ 2 103 3 charge float bin, /* dollar charge this queue */ 2 104 3 jobs fixed bin, /* number of jobs submitted */ 2 105 3 cpu fixed bin (71), /* total cpu time in microseconds */ 2 106 3 memory fixed bin (71), /* total memory demand */ 2 107 2 iod (4), /* io daemon use, queues 1-4 */ 2 108 3 charge float bin, /* dollar charge this queue */ 2 109 3 pieces fixed bin, /* pieces of output requested */ 2 110 3 pad fixed bin (35), 2 111 3 pages fixed bin (35), /* number of pages output */ 2 112 3 lines fixed bin (71), /* total record count of output */ 2 113 2 devices (16) float bin, /* device charges */ 2 114 2 time_last_reset fixed bin (71), /* time PDT last updated */ 2 115 2 absolute_limit float bin, /* Limit, not reset monthly */ 2 116 2 absolute_spent float bin, /* Spending against this */ 2 117 2 absolute_cutoff fixed bin (71), /* Spending will be reset on this date */ 2 118 2 absolute_increm fixed bin, /* .. time increment code. 0 = don't reset */ 2 119 2 pad_was_authorization bit (72) aligned, 2 120 2 group char (8), /* group for this user (if at.igroup = "1"b) */ 2 121 2 warn_days fixed bin (17) unaligned, /* warn user if less than this many days to cutoff */ 2 122 2 warn_pct fixed bin (17) unaligned, /* warn user if less than this percent of funds left */ 2 123 2 warn_dollars float bin, /* warn user if less than this amount of funds left */ 2 124 2 n_foreground fixed bin (9) unsigned unaligned, /* number of foreground and background processes */ 2 125 2 n_background fixed bin (9) unsigned unaligned, /* that this user has. see limits just below */ 2 126 2 max_foreground fixed bin (9) unsigned unaligned, /* max simultaneous foreground and */ 2 127 2 max_background fixed bin (9) unsigned unaligned, /* background processes that this user can have */ 2 128 2 n_interactive fixed bin (9) unsigned unaligned, /* number of interactive processes that user has */ 2 129 2 n_disconnected fixed bin (9) unsigned unaligned, /* number of disconnected processes that user has */ 2 130 2 pdtupad1 fixed bin (18) unsigned unaligned, 2 131 2 user_warn_days fixed bin (17) unaligned, /* warn user if less than this many days to user cutoff */ 2 132 2 user_warn_pct fixed bin (17) unaligned, /* warn user if less than this percent of user funds left */ 2 133 2 user_warn_dollars float bin, /* warn user if less than this amount of user funds left */ 2 134 2 user_authorization (2) bit (72) aligned, /* range */ 2 135 2 pdtupad (5) fixed bin, 2 136 2 abs_foreground_cpu_limit fixed bin (17) unaligned, /* time limit (sec) on foreground absentee jobs */ 2 137 2 pdir_quota fixed bin (17) unaligned, /* quota to put on user's pdir (0 => use default) */ 2 138 2 chain fixed bin; /* free chain */ 2 139 2 140 /* END INCLUDE FILE ... pdt.incl.pl1 */ 66 4 1 /* BEGIN INCLUDE FILE . . . star_structures.incl.pl1 */ 4 2 4 3 /* This include file contains structures for the hcs_$star_, 4 4* hcs_$star_list_ and hcs_$star_dir_list_ entry points. 4 5* 4 6* Written 23 October 1978 by Monte Davidoff. 4 7* Modified January 1979 by Michael R. Jordan to use unsigned and different pointers for different structures. 4 8* Modified June 1981 by C. Hornig to count link pathnames more efficiently. 4 9**/ 4 10 4 11 /* automatic */ 4 12 4 13 declare star_branch_count fixed binary; /* hcs_$star_list_, hcs_$star_dir_list_: matching branch count */ 4 14 declare star_entry_count fixed binary; /* hcs_$star_: number of matching entries */ 4 15 declare star_entry_ptr pointer; /* hcs_$star_: pointer to array of entry information */ 4 16 declare star_list_branch_ptr pointer; /* hcs_$star_list_, hcs_$star_dir_list_: ptr to array of info */ 4 17 declare star_link_count fixed binary; /* hcs_$star_list_, hcs_$star_dir_list_: matching link count */ 4 18 declare star_linkx fixed binary; /* hcs_$star_list_, hcs_$star_dir_list_: index into star_links */ 4 19 declare star_names_ptr pointer; /* hcs_$star_: pointer to array of entry names */ 4 20 declare star_list_names_ptr pointer; /* hcs_$star_list_, hcs_$star_dir_list_: ptr to entry names */ 4 21 declare star_select_sw fixed binary (3); /* hcs_$star_list_, hcs_$star_dir_list_: what info to return */ 4 22 4 23 /* based */ 4 24 4 25 /* hcs_$star_ entry structure */ 4 26 4 27 declare 1 star_entries (star_entry_count) aligned based (star_entry_ptr), 4 28 2 type fixed binary (2) unsigned unaligned, 4 29 /* storage system type */ 4 30 2 nnames fixed binary (16) unsigned unaligned, 4 31 /* number of names of entry that match star_name */ 4 32 2 nindex fixed binary (18) unsigned unaligned; 4 33 /* index of first name in star_names */ 4 34 4 35 /* hcs_$star_ name structure */ 4 36 4 37 declare star_names (sum (star_entries (*).nnames)) char (32) based (star_names_ptr); 4 38 4 39 /* hcs_$star_list_ branch structure */ 4 40 4 41 declare 1 star_list_branch (star_branch_count + star_link_count) aligned based (star_list_branch_ptr), 4 42 2 type fixed binary (2) unsigned unaligned, 4 43 /* storage system type */ 4 44 2 nnames fixed binary (16) unsigned unaligned, 4 45 /* number of names of entry that match star_name */ 4 46 2 nindex fixed binary (18) unsigned unaligned, 4 47 /* index of first name in star_list_names */ 4 48 2 dtcm bit (36) unaligned, /* date-time contents of branch were last modified */ 4 49 2 dtu bit (36) unaligned, /* date-time branch was last used */ 4 50 2 mode bit (5) unaligned, /* user's access mode to the branch */ 4 51 2 raw_mode bit (5) unaligned, /* user's ACL access mode */ 4 52 2 master_dir bit (1) unaligned, /* is branch a master directory */ 4 53 2 pad bit (7) unaligned, 4 54 2 records fixed binary (18) unsigned unaligned; 4 55 /* records used by branch */ 4 56 4 57 /* hcs_$star_dir_list_ branch structure */ 4 58 4 59 declare 1 star_dir_list_branch (star_branch_count + star_link_count) aligned based (star_list_branch_ptr), 4 60 2 type fixed binary (2) unsigned unaligned, 4 61 /* storage system type */ 4 62 2 nnames fixed binary (16) unsigned unaligned, 4 63 /* number of names of entry that match star_name */ 4 64 2 nindex fixed binary (18) unsigned unaligned, 4 65 /* index of first name in star_list_names */ 4 66 2 dtem bit (36) unaligned, /* date-time directory entry of branch was last modified */ 4 67 2 pad bit (36) unaligned, 4 68 2 mode bit (5) unaligned, /* user's access mode to the branch */ 4 69 2 raw_mode bit (5) unaligned, /* user's ACL access mode */ 4 70 2 master_dir bit (1) unaligned, /* is branch a master directory */ 4 71 2 bit_count fixed binary (24) unaligned; 4 72 /* bit count of the branch */ 4 73 4 74 /* hcs_$star_list_ and hcs_$star_dir_list_ link structure */ 4 75 4 76 declare 1 star_links (star_branch_count + star_link_count) aligned based (star_list_branch_ptr), 4 77 2 type fixed binary (2) unsigned unaligned, 4 78 /* storage system type */ 4 79 2 nnames fixed binary (16) unsigned unaligned, 4 80 /* number of names of entry that match star_name */ 4 81 2 nindex fixed binary (18) unsigned unaligned, 4 82 /* index of first name in star_list_names */ 4 83 2 dtem bit (36) unaligned, /* date-time link was last modified */ 4 84 2 dtd bit (36) unaligned, /* date-time the link was last dumped */ 4 85 2 pathname_len fixed binary (18) unsigned unaligned, 4 86 /* length of the pathname of the link */ 4 87 2 pathname_index fixed binary (18) unsigned unaligned; 4 88 /* index of start of pathname in star_list_names */ 4 89 4 90 /* hcs_$star_list_ and hcs_$star_dir_list_ name array */ 4 91 4 92 declare star_list_names char (32) based (star_list_names_ptr) 4 93 dimension (star_links (star_branch_count + star_link_count).nindex 4 94 + star_links (star_branch_count + star_link_count).nnames 4 95 + divide (star_links (star_branch_count + star_link_count).pathname_len + 31, 32, 17, 0) 4 96 * binary ( 4 97 (star_links (star_branch_count + star_link_count).type = star_LINK) 4 98 & (star_select_sw >= star_LINKS_ONLY_WITH_LINK_PATHS), 1)); 4 99 4 100 /* hcs_$star_list_ and hcs_$star_dir_list_ link pathname */ 4 101 4 102 declare star_link_pathname char (star_links (star_linkx).pathname_len) 4 103 based (addr (star_list_names (star_links (star_linkx).pathname_index))); 4 104 4 105 /* internal static */ 4 106 4 107 /* star_select_sw values */ 4 108 4 109 declare star_LINKS_ONLY fixed binary (2) internal static options (constant) initial (1); 4 110 declare star_BRANCHES_ONLY fixed binary (2) internal static options (constant) initial (2); 4 111 declare star_ALL_ENTRIES fixed binary (2) internal static options (constant) initial (3); 4 112 declare star_LINKS_ONLY_WITH_LINK_PATHS 4 113 fixed binary (3) internal static options (constant) initial (5); 4 114 declare star_ALL_ENTRIES_WITH_LINK_PATHS 4 115 fixed binary (3) internal static options (constant) initial (7); 4 116 4 117 /* storage system types */ 4 118 4 119 declare star_LINK fixed binary (2) unsigned internal static options (constant) initial (0); 4 120 declare star_SEGMENT fixed binary (2) unsigned internal static options (constant) initial (1); 4 121 declare star_DIRECTORY fixed binary (2) unsigned internal static options (constant) initial (2); 4 122 4 123 /* END INCLUDE FILE . . . star_structures.incl.pl1 */ 67 5 1 /* BEGIN INCLUDE FILE ... user_attributes.incl.pl1 TAC 10/79 */ 5 2 5 3 5 4 /****^ HISTORY COMMENTS: 5 5* 1) change(86-12-11,Brunelle), approve(87-07-13,MCR7741), 5 6* audit(87-04-19,GDixon), install(87-08-04,MR12.1-1056): 5 7* Add incl for abs_attributes.incl.pl1 to automatically include absentee 5 8* attribute switches. 5 9* 2) change(87-04-19,GDixon), approve(87-07-13,MCR7741), 5 10* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 5 11* A) Add USER_ATTRIBUTE_NAMES arrays. attribute_names.incl.pl1 can thereby 5 12* be deleted. 5 13* B) Add constants identifying attributes that can be changed by user at 5 14* login, etc. 5 15* END HISTORY COMMENTS */ 5 16 5 17 5 18 /* Modified 82-01-03 E. N. Kittlitz. to declare a complete level-1 structure */ 5 19 5 20 /* format: style4 */ 5 21 dcl 1 user_attributes aligned based, /* the user user_attributes */ 5 22 (2 administrator bit (1), /* 1 system administrator privileges */ 5 23 2 primary_line bit (1), /* 2 user has primary-line privileges */ 5 24 2 nobump bit (1), /* 2 user cannot be bumped */ 5 25 2 guaranteed_login bit (1), /* 4 user has guaranteed login privileges */ 5 26 2 anonymous bit (1), /* 5 used only in SAT. project may have anon.users */ 5 27 2 nopreempt bit (1), /* 6 used only in PDT. user not preemptable by others 5 28* . of same project (distinct from "nobump") */ 5 29 2 nolist bit (1), /* 7 don't list user on "who" */ 5 30 2 dialok bit (1), /* 8 user may have multiple consoles */ 5 31 2 multip bit (1), /* 9 user may have several processes */ 5 32 2 bumping bit (1), /* 10 in SAT. Can users in project bump each other? */ 5 33 2 brief bit (1), /* 11 no login or logout message */ 5 34 2 vinitproc bit (1), /* 12 user may change initial procedure */ 5 35 2 vhomedir bit (1), /* 13 user may change homedir */ 5 36 2 nostartup bit (1), /* 14 user does not want start_up.ec */ 5 37 2 sb_ok bit (1), /* 15 user may be standby */ 5 38 2 pm_ok bit (1), /* 16 user may be primary */ 5 39 2 eo_ok bit (1), /* 17 user may be edit_only */ 5 40 2 daemon bit (1), /* 18 user may login as daemon */ 5 41 2 vdim bit (1), /* 19 * OBSOLETE * user may change outer mdle */ 5 42 2 no_warning bit (1), /* 20 no warning message */ 5 43 2 igroup bit (1), /* 21 in SAT: this project may give its users individual groups 5 44* . in PDT: this user has an individual load control group */ 5 45 2 save_pdir bit (1), /* 22 save pdir after fatal process error */ 5 46 2 disconnect_ok bit (1), /* 23 ok to save user's disconnected processes */ 5 47 2 save_on_disconnect bit (1), /* 24 save them unless -nosave login arg is given */ 5 48 2 pad bit (12)) unaligned; 5 49 5 50 dcl USER_ATTRIBUTE_NAMES (0:24) char (20) int static options (constant) init 5 51 ("none", /* 0 */ 5 52 "administrator", /* 1 */ 5 53 "primary_line", /* 2 */ 5 54 "nobump", /* 3 */ 5 55 "guaranteed_login", /* 4 */ 5 56 "anonymous", /* 5 */ 5 57 "nopreempt", /* 6 */ 5 58 "nolist", /* 7 */ 5 59 "dialok", /* 8 */ 5 60 "multip", /* 9 */ 5 61 "bumping", /* 10 */ 5 62 "brief", /* 11 */ 5 63 "vinitproc", /* 12 */ 5 64 "vhomedir", /* 13 */ 5 65 "nostartup", /* 14 */ 5 66 "no_secondary", /* 15 */ 5 67 "no_prime", /* 16 */ 5 68 "no_eo", /* 17 */ 5 69 "daemon", /* 18 */ 5 70 "", /* 19 vdim OBSOLETE */ 5 71 "no_warning", /* 20 */ 5 72 "igroup", /* 21 */ 5 73 "save_pdir", /* 22 */ 5 74 "disconnect_ok", /* 23 */ 5 75 "save_on_disconnect"); /* 24 */ 5 76 5 77 dcl ALT_USER_ATTRIBUTE_NAMES (0:24) char (20) int static options (constant) init 5 78 ("null", /* 0 */ 5 79 "admin", /* 1 */ 5 80 "", "", /* 2 - 3 */ 5 81 "guar", /* 4 */ 5 82 "anon", /* 5 */ 5 83 "", "", /* 6 - 7 */ 5 84 "dial", /* 8 */ 5 85 "multi_login", /* 9 */ 5 86 "preempting", /* 10 */ 5 87 "", /* 11 */ 5 88 "v_process_overseer", /* 12 */ 5 89 "v_home_dir", /* 13 */ 5 90 "no_start_up", /* 14 */ 5 91 "no_sec", /* 15 */ 5 92 "no_primary", /* 16 */ 5 93 "no_edit_only", /* 17 */ 5 94 "op_login", /* 18 */ 5 95 "", /* 19 */ 5 96 "nowarn", /* 20 */ 5 97 "", "", "", /* 21 - 23 */ 5 98 "save"); /* 24 */ 5 99 5 100 dcl USER_ATTRIBUTES_always_allowed bit (36) aligned int static 5 101 options(constant) init("000000000010000000010000000000000000"b); 5 102 /* SAT/PDT attributes not needed for user to give (brief, no_warning) */ 5 103 5 104 dcl USER_ATTRIBUTES_default_in_pdt bit (36) aligned int static 5 105 options(constant) init("000000000010000000010000000000000000"b); 5 106 /* PDT value for (brief, no_warning) is default */ 5 107 5 108 dcl USER_ATTRIBUTES_settable_by_user bit (36) aligned int static 5 109 options(constant) init("000100000110010000010000000000000000"b); 5 110 /* user MIGHT set (bump, ns, brief, guar, no_warning) */ 5 111 6 1 /* BEGIN INCLUDE FILE ... user_abs_attributes.incl.pl1 */ 6 2 6 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 6 4 /* */ 6 5 /* This include file describes the attributes of an absentee job. It is */ 6 6 /* used by user_table_entry.incl.pl1, abs_message_format.incl.pl1 */ 6 7 /* and PIT.incl.pl1. */ 6 8 /* */ 6 9 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 6 10 6 11 /****^ HISTORY COMMENTS: 6 12* 1) change(86-12-08,GDixon), approve(87-07-13,MCR7741), 6 13* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 6 14* Separated abs_attributes from the request structure 6 15* (abs_message_format.incl.pl1) so that the identical structure could be 6 16* used in the ute structure (user_table_entry.incl.pl1). 6 17* 2) change(87-04-19,GDixon), approve(87-07-13,MCR7741), 6 18* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 6 19* Added ABS_ATTRIBUTE_NAMES array. 6 20* 3) change(87-11-11,Parisek), approve(88-02-11,MCR7849), 6 21* audit(88-03-22,Lippard), install(88-07-13,MR12.2-1047): 6 22* Added the no_start_up flag. SCP6367 6 23* END HISTORY COMMENTS */ 6 24 6 25 dcl 1 user_abs_attributes aligned based, 6 26 2 restartable bit (1) unaligned, /* 1 if request may be started over from the beginning */ 6 27 2 user_deferred_until_time bit (1) unaligned, /* 1 if request was specified as deferred */ 6 28 2 proxy bit (1) unaligned, /* 1 if request submitted for someone else */ 6 29 2 set_bit_cnt bit (1) unaligned, /* 1 if should set bit count after every write call */ 6 30 2 time_in_gmt bit (1) unaligned, /* 1 if deferred_time is in GMT */ 6 31 2 user_deferred_indefinitely bit (1) unaligned, /* 1 if operator is to say when to run it */ 6 32 2 secondary_ok bit (1) unaligned, /* 1 if ok to log in as secondary foreground user */ 6 33 2 truncate_absout bit (1) unaligned, /* 1 if .absout is to be truncated */ 6 34 2 restarted bit (1) unaligned, /* 1 if job is restarted */ 6 35 2 no_start_up bit (1) unaligned, /* 1 if requested -ns */ 6 36 2 attributes_pad bit (26) unaligned; 6 37 6 38 dcl ABS_ATTRIBUTE_NAMES (10) char (28) varying int static options(constant) init( 6 39 "restartable", 6 40 "user_deferred_until_time", 6 41 "proxy", 6 42 "set_bit_cnt", 6 43 "time_in_gmt", 6 44 "user_deferred_indefinitely", 6 45 "secondary_ok", 6 46 "truncate_absout", 6 47 "restarted", 6 48 "no_start_up"); 6 49 6 50 /* END INCLUDE FILE ... user_abs_attributes.incl.pl1 */ 6 51 5 112 5 113 5 114 /* END INCLUDE FILE ... user_attributes.incl.pl1 */ 68 7 1 /* BEGIN INCLUDE FILE ... terminate_file.incl.pl1 */ 7 2 /* format: style2,^inddcls,idind32 */ 7 3 7 4 declare 1 terminate_file_switches based, 7 5 2 truncate bit (1) unaligned, 7 6 2 set_bc bit (1) unaligned, 7 7 2 terminate bit (1) unaligned, 7 8 2 force_write bit (1) unaligned, 7 9 2 delete bit (1) unaligned; 7 10 7 11 declare TERM_FILE_TRUNC bit (1) internal static options (constant) initial ("1"b); 7 12 declare TERM_FILE_BC bit (2) internal static options (constant) initial ("01"b); 7 13 declare TERM_FILE_TRUNC_BC bit (2) internal static options (constant) initial ("11"b); 7 14 declare TERM_FILE_TERM bit (3) internal static options (constant) initial ("001"b); 7 15 declare TERM_FILE_TRUNC_BC_TERM bit (3) internal static options (constant) initial ("111"b); 7 16 declare TERM_FILE_FORCE_WRITE bit (4) internal static options (constant) initial ("0001"b); 7 17 declare TERM_FILE_DELETE bit (5) internal static options (constant) initial ("00001"b); 7 18 7 19 /* END INCLUDE FILE ... terminate_file.incl.pl1 */ 69 70 71 72 /* program */ 73 74 call cu_$arg_list_ptr (alp); 75 call do_work (alp, "convert_MR10_2_pdts", format_pdt); 76 return; 77 78 reset_MR10_2_pdts: 79 entry options (variable); 80 81 call cu_$arg_list_ptr (alp); 82 call do_work (alp, "reset_MR10_2_pdts", reset_pdt); 83 return; 84 85 86 do_work: 87 procedure (arg_list_ptr, me, worker_proc); 88 89 declare arg_list_ptr pointer; 90 declare me char (*); 91 declare worker_proc entry variable; 92 93 call cu_$arg_count_rel (arg_count, arg_list_ptr, code); 94 if code ^= 0 95 then do; 96 call com_err_ (code, me); 97 return; 98 end; 99 100 if arg_count ^= 1 101 then do; 102 call com_err_ (0, me, "Usage: ^a PDT_DIR_PATHNAME", me); 103 return; 104 end; 105 106 call cu_$arg_ptr_rel (1, ap, al, (0), arg_list_ptr); 107 call absolute_pathname_ (argument, pdt_directory, code); 108 if code ^= 0 109 then do; 110 call com_err_ (code, me, "^a", argument); 111 return; 112 end; 113 114 call get_system_free_area_ (area_ptr); 115 call map_over_pdts (pdt_directory, worker_proc); 116 return; 117 118 /* Internal procedure to format all pdts in a given directory */ 119 120 map_over_pdts: 121 procedure (bv_pdt_dir, formatter); 122 123 /* parameters */ 124 125 dcl bv_pdt_dir char (*) parameter; 126 dcl formatter entry (char (*), char (*), char (*)) variable; 127 128 /* program */ 129 130 call hcs_$star_ (bv_pdt_dir, "**.pdt", 3, area_ptr, star_entry_count, star_entry_ptr, star_names_ptr, code); 131 if code ^= 0 132 then do; 133 call com_err_ (code, "convert_MR10_2_pdts", "^a", bv_pdt_dir); 134 return; 135 end; 136 137 do namex = 1 to star_entry_count; 138 name = star_names (star_entries.nindex (namex)); 139 call formatter (me, bv_pdt_dir, name); 140 end; 141 142 free star_names in (system_area); 143 free star_entries in (system_area); 144 return; 145 146 147 148 /* This internal procedure initializes a single PDT. All PDT entries 149* which have ever been used are modified; not just those which are presently 150* active. For MR11, initialize authorization ranges. */ 151 152 153 end map_over_pdts; 154 end do_work; 155 156 157 format_pdt: 158 proc (me, bv_pdt_dirname, bv_pdt_name); 159 160 /* parameters */ 161 162 dcl me char (*); 163 dcl (bv_pdt_dirname, bv_pdt_name) 164 char (*) parameter; 165 166 167 168 /* program */ 169 170 call initiate_file_ (bv_pdt_dirname, bv_pdt_name, RW_ACCESS, pdtp, bit_count, code); 171 if code ^= 0 172 then do; 173 call com_err_ (code, "convert_MR10_2_pdts", "^a>^a", bv_pdt_dirname, bv_pdt_name); 174 return; 175 end; 176 177 if pdt.version = PDT_version 178 then go to TERM_RETURN; /* already done */ 179 pdt.version = -1; /* broken while in transition */ 180 do i = 1 to pdt.current_size; 181 pdtep = addr (pdt.user (i)); 182 user.user_authorization (1) = ""b; /* system_low */ 183 user.user_authorization (2) = user.pad_was_authorization; 184 user.pad_was_authorization = ""b; 185 end; 186 pdt.version = PDT_version; 187 TERM_RETURN: 188 call terminate_file_ (pdtp, (0), TERM_FILE_TERM, code); 189 190 return; 191 192 end format_pdt; 193 194 reset_pdt: 195 proc (me, bv_pdt_dirname, bv_pdt_name); 196 197 /* parameters */ 198 199 dcl me char (*); 200 dcl (bv_pdt_dirname, bv_pdt_name) 201 char (*) parameter; 202 203 204 205 /* program */ 206 207 call initiate_file_ (bv_pdt_dirname, bv_pdt_name, RW_ACCESS, pdtp, bit_count, code); 208 if code ^= 0 209 then do; 210 call com_err_ (code, me, "^a>^a", bv_pdt_dirname, bv_pdt_name); 211 return; 212 end; 213 214 if pdt.version = PDT_version - 1 /* already reset */ 215 then go to TERM_RETURN; 216 pdt.version = -1; /* broken while in transition */ 217 do i = 1 to pdt.current_size; 218 pdtep = addr (pdt.user (i)); 219 user.pad_was_authorization = user.user_authorization (2); 220 user.user_authorization (*) = ""b; 221 end; 222 pdt.version = PDT_version - 1; 223 TERM_RETURN: 224 call terminate_file_ (pdtp, (0), TERM_FILE_TERM, code); 225 226 return; 227 228 end reset_pdt; 229 end convert_MR10_2_pdts; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 07/13/88 0943.1 convert_MR10_2_pdts.pl1 >special_ldd>install>MR12.2-1047>convert_MR10_2_pdts.pl1 65 1 04/11/85 1452.6 access_mode_values.incl.pl1 >ldd>include>access_mode_values.incl.pl1 66 2 09/13/84 0921.6 pdt.incl.pl1 >ldd>include>pdt.incl.pl1 2-29 3 04/21/82 1211.8 author.incl.pl1 >ldd>include>author.incl.pl1 67 4 06/10/82 1045.5 star_structures.incl.pl1 >ldd>include>star_structures.incl.pl1 68 5 08/06/87 0913.6 user_attributes.incl.pl1 >ldd>include>user_attributes.incl.pl1 5-112 6 07/13/88 0900.1 user_abs_attributes.incl.pl1 >special_ldd>install>MR12.2-1047>user_abs_attributes.incl.pl1 69 7 04/06/83 1239.4 terminate_file.incl.pl1 >ldd>include>terminate_file.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. PDT_version constant fixed bin(17,0) initial dcl 2-19 ref 177 186 214 222 RW_ACCESS 000017 constant bit(3) initial packed unaligned dcl 1-11 set ref 170* 207* TERM_FILE_TERM 000000 constant bit(3) initial packed unaligned dcl 7-14 set ref 187* 223* absolute_pathname_ 000010 constant entry external dcl 48 ref 107 addr builtin function dcl 44 ref 181 218 al 000106 automatic fixed bin(21,0) dcl 29 set ref 106* 107 107 110 110 alp 000102 automatic pointer dcl 27 set ref 74* 75* 81* 82* ap 000104 automatic pointer dcl 28 set ref 106* 107 110 area_ptr 000202 automatic pointer dcl 36 set ref 114* 130* 142 143 arg_count 000100 automatic fixed bin(17,0) dcl 26 set ref 93* 100 arg_list_ptr parameter pointer dcl 89 set ref 86 93* 106* argument based char packed unaligned dcl 40 set ref 107* 110* bit_count 000127 automatic fixed bin(24,0) dcl 34 set ref 170* 207* bv_pdt_dir parameter char packed unaligned dcl 125 set ref 120 130* 133* 139* bv_pdt_dirname parameter char packed unaligned dcl 200 in procedure "reset_pdt" set ref 194 207* 210* bv_pdt_dirname parameter char packed unaligned dcl 163 in procedure "format_pdt" set ref 157 170* 173* bv_pdt_name parameter char packed unaligned dcl 200 in procedure "reset_pdt" set ref 194 207* 210* bv_pdt_name parameter char packed unaligned dcl 163 in procedure "format_pdt" set ref 157 170* 173* code 000126 automatic fixed bin(35,0) dcl 33 set ref 93* 94 96* 107* 108 110* 130* 131 133* 170* 171 173* 187* 207* 208 210* 223* com_err_ 000030 constant entry external dcl 57 ref 96 102 110 133 173 210 cu_$arg_count_rel 000014 constant entry external dcl 50 ref 93 cu_$arg_list_ptr 000012 constant entry external dcl 49 ref 74 81 cu_$arg_ptr_rel 000016 constant entry external dcl 51 ref 106 current_size 36 based fixed bin(17,0) level 2 dcl 2-27 ref 180 217 formatter parameter entry variable dcl 126 ref 120 139 get_system_free_area_ 000026 constant entry external dcl 56 ref 114 hcs_$star_ 000020 constant entry external dcl 52 ref 130 i 000115 automatic fixed bin(17,0) dcl 31 set ref 180* 181* 217* 218* initiate_file_ 000022 constant entry external dcl 53 ref 170 207 me parameter char packed unaligned dcl 199 in procedure "reset_pdt" set ref 194 210* me parameter char packed unaligned dcl 162 in procedure "format_pdt" ref 157 me parameter char packed unaligned dcl 90 in procedure "do_work" set ref 86 96* 102* 102* 110* 139* name 000116 automatic char(32) packed unaligned dcl 32 set ref 138* 139* namex 000114 automatic fixed bin(17,0) dcl 31 set ref 137* 138* nindex 0(18) based fixed bin(18,0) array level 2 packed packed unsigned unaligned dcl 4-27 ref 138 nnames 0(02) based fixed bin(16,0) array level 2 packed packed unsigned unaligned dcl 4-27 ref 142 pad_was_authorization 353 based bit(72) level 2 dcl 2-58 set ref 183 184* 219* pdt based structure level 1 dcl 2-27 pdt_directory 000130 automatic char(168) packed unaligned dcl 35 set ref 107* 115* pdtep 000112 automatic pointer dcl 30 set ref 181* 182 183 183 184 218* 219 219 220 pdtp 000110 automatic pointer dcl 30 set ref 170* 177 179 180 181 186 187* 207* 214 216 217 218 222 223* star_entries based structure array level 1 dcl 4-27 ref 143 star_entry_count 000204 automatic fixed bin(17,0) dcl 4-14 set ref 130* 137 142 143 star_entry_ptr 000206 automatic pointer dcl 4-15 set ref 130* 138 142 143 star_names based char(32) array packed unaligned dcl 4-37 ref 138 142 star_names_ptr 000210 automatic pointer dcl 4-19 set ref 130* 138 142 sum builtin function dcl 44 ref 142 system_area based area(65560) dcl 61 ref 142 143 terminate_file_ 000024 constant entry external dcl 55 ref 187 223 user based structure level 1 dcl 2-58 in procedure "convert_MR10_2_pdts" user 400 based structure array level 2 in structure "pdt" dcl 2-27 in procedure "convert_MR10_2_pdts" set ref 181 218 user_attributes based structure level 1 dcl 5-21 user_authorization 365 based bit(72) array level 2 dcl 2-58 set ref 182* 183* 219 220* version 37 based fixed bin(17,0) level 2 dcl 2-27 set ref 177 179* 186* 214 216* 222* worker_proc parameter entry variable dcl 91 set ref 86 115* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ABS_ATTRIBUTE_NAMES internal static varying char(28) initial array dcl 6-38 ALT_USER_ATTRIBUTE_NAMES internal static char(20) initial array packed unaligned dcl 5-77 A_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 A_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 DIR_ACCESS_MODE_NAMES internal static char(4) initial array packed unaligned dcl 1-33 E_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 E_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 M_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 M_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 N_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 N_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 PDT_entry_lth internal static fixed bin(17,0) initial dcl 2-19 PDT_header_lth internal static fixed bin(17,0) initial dcl 2-19 PDT_person_id_length internal static fixed bin(17,0) initial dcl 2-19 PDT_project_name_length internal static fixed bin(17,0) initial dcl 2-19 REW_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 REW_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 RE_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 RE_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 RW_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 R_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 R_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 SA_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 SA_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 SEG_ACCESS_MODE_NAMES internal static char(4) initial array packed unaligned dcl 1-30 SMA_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 SMA_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 SM_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 SM_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 S_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 S_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 TERM_FILE_BC internal static bit(2) initial packed unaligned dcl 7-12 TERM_FILE_DELETE internal static bit(5) initial packed unaligned dcl 7-17 TERM_FILE_FORCE_WRITE internal static bit(4) initial packed unaligned dcl 7-16 TERM_FILE_TRUNC internal static bit(1) initial packed unaligned dcl 7-11 TERM_FILE_TRUNC_BC internal static bit(2) initial packed unaligned dcl 7-13 TERM_FILE_TRUNC_BC_TERM internal static bit(3) initial packed unaligned dcl 7-15 USER_ATTRIBUTES_always_allowed internal static bit(36) initial dcl 5-100 USER_ATTRIBUTES_default_in_pdt internal static bit(36) initial dcl 5-104 USER_ATTRIBUTES_settable_by_user internal static bit(36) initial dcl 5-108 USER_ATTRIBUTE_NAMES internal static char(20) initial array packed unaligned dcl 5-50 W_ACCESS internal static bit(3) initial packed unaligned dcl 1-11 W_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 null builtin function dcl 44 star_ALL_ENTRIES internal static fixed bin(2,0) initial dcl 4-111 star_ALL_ENTRIES_WITH_LINK_PATHS internal static fixed bin(3,0) initial dcl 4-114 star_BRANCHES_ONLY internal static fixed bin(2,0) initial dcl 4-110 star_DIRECTORY internal static fixed bin(2,0) initial unsigned dcl 4-121 star_LINK internal static fixed bin(2,0) initial unsigned dcl 4-119 star_LINKS_ONLY internal static fixed bin(2,0) initial dcl 4-109 star_LINKS_ONLY_WITH_LINK_PATHS internal static fixed bin(3,0) initial dcl 4-112 star_SEGMENT internal static fixed bin(2,0) initial unsigned dcl 4-120 star_branch_count automatic fixed bin(17,0) dcl 4-13 star_dir_list_branch based structure array level 1 dcl 4-59 star_link_count automatic fixed bin(17,0) dcl 4-17 star_link_pathname based char packed unaligned dcl 4-102 star_links based structure array level 1 dcl 4-76 star_linkx automatic fixed bin(17,0) dcl 4-18 star_list_branch based structure array level 1 dcl 4-41 star_list_branch_ptr automatic pointer dcl 4-16 star_list_names based char(32) array packed unaligned dcl 4-92 star_list_names_ptr automatic pointer dcl 4-20 star_select_sw automatic fixed bin(3,0) dcl 4-21 terminate_file_switches based structure level 1 packed packed unaligned dcl 7-4 user_abs_attributes based structure level 1 dcl 6-25 NAMES DECLARED BY EXPLICIT CONTEXT. TERM_RETURN 001002 constant label dcl 187 in procedure "format_pdt" ref 177 TERM_RETURN 001227 constant label dcl 223 in procedure "reset_pdt" ref 214 convert_MR10_2_pdts 000052 constant entry external dcl 20 do_work 000131 constant entry internal dcl 86 ref 75 82 format_pdt 000612 constant entry internal dcl 157 ref 75 75 map_over_pdts 000372 constant entry internal dcl 120 ref 115 reset_MR10_2_pdts 000100 constant entry external dcl 78 reset_pdt 001032 constant entry internal dcl 194 ref 82 82 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1466 1520 1312 1476 Length 2060 1312 32 324 153 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME convert_MR10_2_pdts 260 external procedure is an external procedure. do_work internal procedure shares stack frame of external procedure convert_MR10_2_pdts. map_over_pdts internal procedure shares stack frame of external procedure convert_MR10_2_pdts. format_pdt 119 internal procedure is assigned to an entry variable. reset_pdt 98 internal procedure is assigned to an entry variable. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME convert_MR10_2_pdts 000100 arg_count convert_MR10_2_pdts 000102 alp convert_MR10_2_pdts 000104 ap convert_MR10_2_pdts 000106 al convert_MR10_2_pdts 000110 pdtp convert_MR10_2_pdts 000112 pdtep convert_MR10_2_pdts 000114 namex convert_MR10_2_pdts 000115 i convert_MR10_2_pdts 000116 name convert_MR10_2_pdts 000126 code convert_MR10_2_pdts 000127 bit_count convert_MR10_2_pdts 000130 pdt_directory convert_MR10_2_pdts 000202 area_ptr convert_MR10_2_pdts 000204 star_entry_count convert_MR10_2_pdts 000206 star_entry_ptr convert_MR10_2_pdts 000210 star_names_ptr convert_MR10_2_pdts THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ent_var_desc call_ext_out_desc call_ext_out return_mac mpfx2 ext_entry int_entry_desc op_freen_ THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. absolute_pathname_ com_err_ cu_$arg_count_rel cu_$arg_list_ptr cu_$arg_ptr_rel get_system_free_area_ hcs_$star_ initiate_file_ terminate_file_ NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 20 000051 74 000057 75 000065 76 000076 78 000077 81 000105 82 000114 83 000130 86 000131 93 000142 94 000156 96 000160 97 000177 100 000200 102 000203 103 000236 106 000237 107 000262 108 000306 110 000310 111 000344 114 000345 115 000354 116 000371 120 000372 130 000403 131 000453 133 000455 134 000511 137 000512 138 000521 139 000532 140 000556 142 000560 143 000606 144 000610 157 000611 170 000637 171 000675 173 000700 174 000740 177 000741 179 000745 180 000747 181 000760 182 000763 183 000766 184 000772 185 000775 186 000777 187 001002 190 001030 194 001031 207 001057 208 001115 210 001120 211 001155 214 001156 216 001162 217 001164 218 001174 219 001177 220 001203 221 001222 222 001224 223 001227 226 001255 ----------------------------------------------------------- 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