COMPILATION LISTING OF SEGMENT fst_info_ Compiled by: Multics PL/I Compiler, Release 30, of February 16, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 07/13/88 1039.2 mst Wed Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 6* * * 7* * Copyright (c) 1972 by Massachusetts Institute of * 8* * Technology and Honeywell Information Systems, Inc. * 9* * * 10* *********************************************************** */ 11 12 13 14 15 /****^ HISTORY COMMENTS: 16* 1) change(87-12-03,TLNguyen), approve(87-12-03,MCR7806), 17* audit(87-12-10,Lippard), install(88-01-19,MR12.2-1015): 18* - Remove com_err_, get_group_id_, get_wdir_, ioa_$nnl, ioa_$rs, 19* ioa_$rsnnl from the source because they are not referenced anywhere 20* within it. 21* - Declare the fixed, max, verify as builtin type because they are 22* referenced but they are not defined anywhere within the source. 23* END HISTORY COMMENTS */ 24 25 26 fst_info_: proc (edit_ptr); 27 28 /* This procedure prints accounting information, the user's name and project, and the default name (which may be null 29* 30* "program name" HHH.M mst DDD User_id.Project_id 31* $XX.XX speXt/ XX.XX limit XXX records used / XXX limit 32* 33* Written 3/76 by S.E. Barr 34* Modified 1984-08-24 BIM for pit instead of pitmsg. 35**/ 36 /* parameters */ 37 38 dcl edit_ptr ptr; /* prt to edit structure */ 39 dcl path char (*) var; 40 41 /* automatic */ 42 43 dcl code fixed bin (35); 44 dcl quota fixed bin (18); 45 dcl quota_used fixed bin (18); 46 dcl pp ptr; 47 dcl date_string char (24) aligned; 48 dcl name char (168) var; 49 50 dcl (fixed, max, null, substr, length, index, verify) builtin; 51 52 dcl 1 f aligned based (edit_ptr) like fst_edit_info; 53 54 /* external */ 55 56 dcl dfast_error_ entry (fixed bin (35), char (*), char (*)); 57 dcl clock_ entry () returns (fixed bin (71)); 58 dcl date_time_ entry (fixed bin (71), char (*) aligned); 59 dcl get_pdir_ entry () returns (char (168) aligned); 60 dcl hcs_$initiate entry (char (*) aligned, char (*) aligned, char (*) aligned, fixed bin (1), fixed bin (2), ptr, fixed bin (35)); 61 dcl hcs_$quota_read entry (char (*), fixed bin (18), fixed bin (71), bit (36)aligned, fixed bin, fixed bin (1), fixed bin (18), fixed bin (35)); 62 dcl hcs_$terminate_noname entry (ptr, fixed bin (35)); 63 dcl ioa_$ioa_switch entry options (variable); 64 dcl iox_$user_output ptr ext; 65 66 /* */ 1 1 /* BEGIN INCLUDE FILE ... user_attributes.incl.pl1 TAC 10/79 */ 1 2 1 3 1 4 /****^ HISTORY COMMENTS: 1 5* 1) change(86-12-11,Brunelle), approve(87-07-13,MCR7741), 1 6* audit(87-04-19,GDixon), install(87-08-04,MR12.1-1056): 1 7* Add incl for abs_attributes.incl.pl1 to automatically include absentee 1 8* attribute switches. 1 9* 2) change(87-04-19,GDixon), approve(87-07-13,MCR7741), 1 10* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 1 11* A) Add USER_ATTRIBUTE_NAMES arrays. attribute_names.incl.pl1 can thereby 1 12* be deleted. 1 13* B) Add constants identifying attributes that can be changed by user at 1 14* login, etc. 1 15* END HISTORY COMMENTS */ 1 16 1 17 1 18 /* Modified 82-01-03 E. N. Kittlitz. to declare a complete level-1 structure */ 1 19 1 20 /* format: style4 */ 1 21 dcl 1 user_attributes aligned based, /* the user user_attributes */ 1 22 (2 administrator bit (1), /* 1 system administrator privileges */ 1 23 2 primary_line bit (1), /* 2 user has primary-line privileges */ 1 24 2 nobump bit (1), /* 2 user cannot be bumped */ 1 25 2 guaranteed_login bit (1), /* 4 user has guaranteed login privileges */ 1 26 2 anonymous bit (1), /* 5 used only in SAT. project may have anon.users */ 1 27 2 nopreempt bit (1), /* 6 used only in PDT. user not preemptable by others 1 28* . of same project (distinct from "nobump") */ 1 29 2 nolist bit (1), /* 7 don't list user on "who" */ 1 30 2 dialok bit (1), /* 8 user may have multiple consoles */ 1 31 2 multip bit (1), /* 9 user may have several processes */ 1 32 2 bumping bit (1), /* 10 in SAT. Can users in project bump each other? */ 1 33 2 brief bit (1), /* 11 no login or logout message */ 1 34 2 vinitproc bit (1), /* 12 user may change initial procedure */ 1 35 2 vhomedir bit (1), /* 13 user may change homedir */ 1 36 2 nostartup bit (1), /* 14 user does not want start_up.ec */ 1 37 2 sb_ok bit (1), /* 15 user may be standby */ 1 38 2 pm_ok bit (1), /* 16 user may be primary */ 1 39 2 eo_ok bit (1), /* 17 user may be edit_only */ 1 40 2 daemon bit (1), /* 18 user may login as daemon */ 1 41 2 vdim bit (1), /* 19 * OBSOLETE * user may change outer mdle */ 1 42 2 no_warning bit (1), /* 20 no warning message */ 1 43 2 igroup bit (1), /* 21 in SAT: this project may give its users individual groups 1 44* . in PDT: this user has an individual load control group */ 1 45 2 save_pdir bit (1), /* 22 save pdir after fatal process error */ 1 46 2 disconnect_ok bit (1), /* 23 ok to save user's disconnected processes */ 1 47 2 save_on_disconnect bit (1), /* 24 save them unless -nosave login arg is given */ 1 48 2 pad bit (12)) unaligned; 1 49 1 50 dcl USER_ATTRIBUTE_NAMES (0:24) char (20) int static options (constant) init 1 51 ("none", /* 0 */ 1 52 "administrator", /* 1 */ 1 53 "primary_line", /* 2 */ 1 54 "nobump", /* 3 */ 1 55 "guaranteed_login", /* 4 */ 1 56 "anonymous", /* 5 */ 1 57 "nopreempt", /* 6 */ 1 58 "nolist", /* 7 */ 1 59 "dialok", /* 8 */ 1 60 "multip", /* 9 */ 1 61 "bumping", /* 10 */ 1 62 "brief", /* 11 */ 1 63 "vinitproc", /* 12 */ 1 64 "vhomedir", /* 13 */ 1 65 "nostartup", /* 14 */ 1 66 "no_secondary", /* 15 */ 1 67 "no_prime", /* 16 */ 1 68 "no_eo", /* 17 */ 1 69 "daemon", /* 18 */ 1 70 "", /* 19 vdim OBSOLETE */ 1 71 "no_warning", /* 20 */ 1 72 "igroup", /* 21 */ 1 73 "save_pdir", /* 22 */ 1 74 "disconnect_ok", /* 23 */ 1 75 "save_on_disconnect"); /* 24 */ 1 76 1 77 dcl ALT_USER_ATTRIBUTE_NAMES (0:24) char (20) int static options (constant) init 1 78 ("null", /* 0 */ 1 79 "admin", /* 1 */ 1 80 "", "", /* 2 - 3 */ 1 81 "guar", /* 4 */ 1 82 "anon", /* 5 */ 1 83 "", "", /* 6 - 7 */ 1 84 "dial", /* 8 */ 1 85 "multi_login", /* 9 */ 1 86 "preempting", /* 10 */ 1 87 "", /* 11 */ 1 88 "v_process_overseer", /* 12 */ 1 89 "v_home_dir", /* 13 */ 1 90 "no_start_up", /* 14 */ 1 91 "no_sec", /* 15 */ 1 92 "no_primary", /* 16 */ 1 93 "no_edit_only", /* 17 */ 1 94 "op_login", /* 18 */ 1 95 "", /* 19 */ 1 96 "nowarn", /* 20 */ 1 97 "", "", "", /* 21 - 23 */ 1 98 "save"); /* 24 */ 1 99 1 100 dcl USER_ATTRIBUTES_always_allowed bit (36) aligned int static 1 101 options(constant) init("000000000010000000010000000000000000"b); 1 102 /* SAT/PDT attributes not needed for user to give (brief, no_warning) */ 1 103 1 104 dcl USER_ATTRIBUTES_default_in_pdt bit (36) aligned int static 1 105 options(constant) init("000000000010000000010000000000000000"b); 1 106 /* PDT value for (brief, no_warning) is default */ 1 107 1 108 dcl USER_ATTRIBUTES_settable_by_user bit (36) aligned int static 1 109 options(constant) init("000100000110010000010000000000000000"b); 1 110 /* user MIGHT set (bump, ns, brief, guar, no_warning) */ 1 111 2 1 /* BEGIN INCLUDE FILE ... user_abs_attributes.incl.pl1 */ 2 2 2 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 2 4 /* */ 2 5 /* This include file describes the attributes of an absentee job. It is */ 2 6 /* used by user_table_entry.incl.pl1, abs_message_format.incl.pl1 */ 2 7 /* and PIT.incl.pl1. */ 2 8 /* */ 2 9 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 2 10 2 11 /****^ HISTORY COMMENTS: 2 12* 1) change(86-12-08,GDixon), approve(87-07-13,MCR7741), 2 13* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 2 14* Separated abs_attributes from the request structure 2 15* (abs_message_format.incl.pl1) so that the identical structure could be 2 16* used in the ute structure (user_table_entry.incl.pl1). 2 17* 2) change(87-04-19,GDixon), approve(87-07-13,MCR7741), 2 18* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 2 19* Added ABS_ATTRIBUTE_NAMES array. 2 20* 3) change(87-11-11,Parisek), approve(88-02-11,MCR7849), 2 21* audit(88-03-22,Lippard), install(88-07-13,MR12.2-1047): 2 22* Added the no_start_up flag. SCP6367 2 23* END HISTORY COMMENTS */ 2 24 2 25 dcl 1 user_abs_attributes aligned based, 2 26 2 restartable bit (1) unaligned, /* 1 if request may be started over from the beginning */ 2 27 2 user_deferred_until_time bit (1) unaligned, /* 1 if request was specified as deferred */ 2 28 2 proxy bit (1) unaligned, /* 1 if request submitted for someone else */ 2 29 2 set_bit_cnt bit (1) unaligned, /* 1 if should set bit count after every write call */ 2 30 2 time_in_gmt bit (1) unaligned, /* 1 if deferred_time is in GMT */ 2 31 2 user_deferred_indefinitely bit (1) unaligned, /* 1 if operator is to say when to run it */ 2 32 2 secondary_ok bit (1) unaligned, /* 1 if ok to log in as secondary foreground user */ 2 33 2 truncate_absout bit (1) unaligned, /* 1 if .absout is to be truncated */ 2 34 2 restarted bit (1) unaligned, /* 1 if job is restarted */ 2 35 2 no_start_up bit (1) unaligned, /* 1 if requested -ns */ 2 36 2 attributes_pad bit (26) unaligned; 2 37 2 38 dcl ABS_ATTRIBUTE_NAMES (10) char (28) varying int static options(constant) init( 2 39 "restartable", 2 40 "user_deferred_until_time", 2 41 "proxy", 2 42 "set_bit_cnt", 2 43 "time_in_gmt", 2 44 "user_deferred_indefinitely", 2 45 "secondary_ok", 2 46 "truncate_absout", 2 47 "restarted", 2 48 "no_start_up"); 2 49 2 50 /* END INCLUDE FILE ... user_abs_attributes.incl.pl1 */ 2 51 1 112 1 113 1 114 /* END INCLUDE FILE ... user_attributes.incl.pl1 */ 67 3 1 /* BEGIN INCLUDE FILE ... fst_edit_info.incl.pl1 */ 3 2 3 3 dcl 1 fst_edit_info aligned based (edit_ptr), 3 4 2 pathname char (168) var, /* path last used with new, old, save command */ 3 5 2 text_ptr ptr, /* ptr to text being edited */ 3 6 2 alt_ptr ptr, /* ptr to text additions not yet included */ 3 7 2 text_length fixed bin (21), /* number of characters in text */ 3 8 2 alt_length fixed bin (21), /* number of characters in pending changes */ 3 9 2 max_seg_size fixed bin (21), /* max. number of characters per segment */ 3 10 2 working_dir char (168) var, /* path of the working directory */ 3 11 2 end_line_number fixed bin, /* value of line number of the last line */ 3 12 2 flags aligned, 3 13 3 subsystem bit (1) unal, /* ON if entered as subsystem, OFF if command */ 3 14 3 text_modified bit (1) unal, /* ON if changes since last save */ 3 15 3 basic_source bit (1) unal, /* ON if name ends with .basic */ 3 16 3 prompt bit (1) unal, /* ON if should prompt after commands */ 3 17 3 pad bit (32) unal; 3 18 3 19 /* END INCLUDE FILE ... fst_edit_info.incl.pl1 */ 68 4 1 /* BEGIN INCLUDE FILE ... pit.incl.pl1 */ 4 2 4 3 /****^ ******************************************** 4 4* * * 4 5* * Copyright, (C) Honeywell Bull Inc., 1988 * 4 6* * * 4 7* ******************************************** */ 4 8 4 9 /* Requires user_attributes.incl.pl1 */ 4 10 /* Declaration of the Process Inititalization Table (PIT) */ 4 11 4 12 /****^ HISTORY COMMENTS: 4 13* 1) change(86-03-01,Gilcrease), approve(86-03-27,MCR7370), 4 14* audit(86-06-25,Lippard), install(86-06-30,MR12.0-1082): 4 15* First comment for hcom. Modified 750430 by PG to add terminal_access_class 4 16* Modified 6/20/77 by J. Stern to add term_type_name Modified Feb 1980 by M. 4 17* B. Armstrong to implement multiple rate structures. (UNCA) Modified by R. 4 18* McDonald May 1980 to include page charges, replaces cpu in iod (UNCA) 4 19* Modified by Benson I. Margulies November 1981 do declare pit_$, pit_ptr, 4 20* and unaligned character strings. Modified by E. N. Kittlitz January 1982 4 21* for user_attributes.incl.pl1 changes Modified by E. N. Kittlitz October 4 22* 1982 for request_id. Modified by BIM 1984-09-12 for auth range. The max 4 23* copies the pds, but this is the only home of the min. 4 24* 2) change(86-03-01,Gilcrease), approve(86-03-27,MCR7370), 4 25* audit(86-06-25,Lippard), install(86-06-30,MR12.0-1082): 4 26* Add the truncate_absout and restarted bits for the 4 27* -truncate .absout SCP 6297, version 3. 4 28* 3) change(86-12-11,GDixon), approve(87-07-16,MCR7741), 4 29* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 4 30* Changed structure under pit.abs_attributes to use like structure in 4 31* abs_attributes.incl.pl1. This allows the same attributes to be used 4 32* in abs_message_format.incl.pl1 and user_table_entry.incl.pl1 as well as 4 33* this include file. 4 34* 4) change(88-06-03,Parisek), approve(88-06-10,MCR7920), 4 35* audit(88-06-23,Hunter), install(87-07-05,MR12.2-1053): 4 36* Remove "pitmsg" in END comment string. pitmsg.incl.pl1 is no longer a 4 37* name of pit.incl.pl1. 4 38* 5) change(88-07-11,Parisek), approve(88-07-11,MCR7849), 4 39* audit(88-07-03,Lippard), install(88-07-13,MR12.2-1047): 4 40* Removed the ringpad element and added the min_ring & max_ring elements so 4 41* users may access their lowest and/or highest possible login ring value. 4 42* SCP6367. 4 43* END HISTORY COMMENTS */ 4 44 4 45 4 46 /* format: style4 */ 4 47 declare pit_$ bit (36) aligned external static; 4 48 declare pit_ptr pointer; 4 49 4 50 dcl 1 pit aligned based (pit_ptr), 4 51 2 version fixed bin, /* indicates which version of the pit */ 4 52 2 process_type fixed bin, /* initializer, interactive, or absentee process */ 4 53 2 login_responder char (64) unal, /* path name of login responder */ 4 54 4 55 /* All of these are going to be word aligned whether or not they are declared aligned, 4 56* and unaligning them cleans up code in many places */ 4 57 4 58 2 homedir char (64) unal, /* path name of home directory */ 4 59 2 project char (28) unal, /* name of this process' project affiliation */ 4 60 2 account char (32) unal, /* name of account to which this process is charged */ 4 61 2 n_processes fixed bin, /* number of previous processes for this session */ 4 62 2 login_time fixed bin (71), /* clock time at login */ 4 63 2 proc_creation_time fixed bin (71), /* clock time at creation of this process */ 4 64 2 old_proc_cpu fixed bin (71), /* cpu time used by previous processes in this session */ 4 65 2 user_weight fixed bin, /* weight of this process */ 4 66 2 anonymous fixed bin, /* 1 if anonymous user */ 4 67 2 login_name char (28) unal, /* name of user given at login */ 4 68 2 logout_pid bit (36), /* process id of answering service */ 4 69 2 logout_channel fixed bin (71), /* channel for signalling logouts to answering service */ 4 70 2 group char (8) unal, /* party group */ 4 71 2 min_ring fixed bin, /* min ring */ 4 72 2 max_ring fixed bin, /* max ring */ 4 73 2 at like user_attributes aligned, /* include user_attributes.incl.pl1 */ 4 74 2 whox fixed bin, /* this process's index in whotab (or 0) */ 4 75 2 outer_module char (32) unaligned, 4 76 2 pad (2) fixed bin, 4 77 2 dont_call_init_admin bit (1) aligned, /* Call process_overseer_ directly */ 4 78 2 terminal_access_class bit (72) aligned, /* access class of user's terminal */ 4 79 2 dollar_charge float bin, /* Month-to-date expenditure */ 4 80 2 dollar_limit float bin, /* Limit stop on usage */ 4 81 2 shift_limit (0:7) float bin, /* Stops on each shift's usage */ 4 82 2 logins fixed bin, /* Number of logins this month */ 4 83 2 crashes fixed bin, /* Number of sessions crashed */ 4 84 2 interactive (0:7), /* interactive usage by shift */ 4 85 3 charge float bin, /* Total charge */ 4 86 3 xxx fixed bin, 4 87 3 cpu fixed bin (71), /* CPU usage in microseconds */ 4 88 3 core fixed bin (71), /* Memory usage in page-microseconds */ 4 89 3 connect fixed bin (71), /* Connect time in microseconds */ 4 90 3 io_ops fixed bin (71), /* Terminal I/O operations */ 4 91 2 absentee (4), /* Absentee usage by queue */ 4 92 3 charge float bin, /* Total absentee charge */ 4 93 3 jobs fixed bin, /* Number of jobs */ 4 94 3 cpu fixed bin (71), /* CPU usage in microseconds */ 4 95 3 memory fixed bin (71), /* Memory usage in mu */ 4 96 2 iod (4), /* IO Daemon usage, by queue */ 4 97 3 charge float bin, /* Total charge */ 4 98 3 pieces fixed bin, /* Number of requests */ 4 99 3 pad fixed bin (35), 4 100 3 pages fixed bin (35), /* number of pages output */ 4 101 3 lines fixed bin (71), /* Record count */ 4 102 2 devices (16) float bin, /* Usage of attached devices */ 4 103 2 time_last_reset fixed bin (71), /* time last updated the PDT */ 4 104 2 absolute_limit float bin, /* Limit, not reset monthly */ 4 105 2 absolute_spent float bin, /* Spending against this */ 4 106 2 absolute_cutoff fixed bin (71), /* Spending will be reset on this date */ 4 107 2 absolute_increm fixed bin, /* .. time increment code. 0 = don't reset */ 4 108 2 rs_number fixed bin (9) unsigned unaligned, /* rate structure number (0= default rates) */ 4 109 2 pad1a fixed bin (27) unsigned unaligned, /* remainder of word */ 4 110 2 request_id fixed bin (71), /* absentee request id */ 4 111 2 authorization_range (2) bit (72) aligned, 4 112 2 pad1 (73) fixed bin, /* extra space */ 4 113 2 charge_type fixed bin, /* device charge type of console */ 4 114 2 term_type_name char (32) unal, /* terminal type name */ 4 115 2 line_type fixed bin, /* line type of user's console */ 4 116 2 tty_type fixed bin, /* old terminal type (obsolete, kept for compatibility) */ 4 117 2 service_type fixed bin, /* type of service console is performing */ 4 118 2 tty_answerback char (4) unaligned, /* original answerback of user's console */ 4 119 2 old_tty char (6), /* (obsolete) attachment name of user's console */ 4 120 2 standby fixed bin, /* 1 if standby user */ 4 121 2 login_line char (120) unal, /* line typed at login */ 4 122 2 cant_bump_until fixed bin (71), /* cannot be preempted until this time (0 for abs) */ 4 123 2 input_seg char (168) unal, /* path name of absentee input file */ 4 124 2 output_seg char (168) unal, /* path name of absentee output file */ 4 125 2 max_cpu_time fixed bin, /* max number of seconds allowed to this absentee proc */ 4 126 2 abs_queue fixed bin, /* absentee queue if absentee, else -1 */ 4 127 2 abs_attributes aligned like user_abs_attributes, /* include abs_attributes.incl.pl1 */ 4 128 2 arg_info_ptr fixed bin (18) unsigned, /* Relative pointer to information on absentee args. */ 4 129 2 old_proc_core fixed bin (71), /* Memory usage by previous processes in this session */ 4 130 2 old_proc_io_ops fixed bin (71), /* I/O operations from previous processes in this session */ 4 131 2 tty char (32) unaligned, /* Attachment name of users channel */ 4 132 2 start_arg_info fixed bin; /* Put absentee args information here. */ 4 133 4 134 4 135 /* Structure to contain information on absentee arguments */ 4 136 dcl 1 arg_info aligned based, 4 137 2 arg_count fixed bin, /* Number of arguments for replacement in absentee segment */ 4 138 2 ln_args fixed bin, /* Length of string containing arguments. */ 4 139 2 arg_lengths (25 refer (arg_info.arg_count)) fixed bin, /* Array of argument lengths */ 4 140 2 args char (128 refer (arg_info.ln_args)) unal; 4 141 /* Args used for replacement in absentee control segment. */ 4 142 4 143 declare PIT_version_3 fixed bin int static options (constant) init (3); 4 144 4 145 /* END INCLUDE FILE ... pit.incl.pl1 */ 69 70 71 72 call hcs_$initiate ((get_pdir_ ()), "pit", "", 0, 1, pp, code); 73 if pp ^= null then do; 74 call set_name_date (f.pathname); 75 76 call hcs_$quota_read ((f.working_dir), quota, (0), ("0"b), (0), (0), quota_used, code); 77 78 call ioa_$ioa_switch (iox_$user_output, 79 """^a"" ^a ^a.^a^/$^7.2f spent/^a limit ^d records used / ^d limit", name, date_string, 80 pp -> pit.login_name, pp -> pit.project, 81 pp -> pit.dollar_charge, (cv_limit (pp -> pit.dollar_limit)), quota_used, quota); 82 call hcs_$terminate_noname (pp, code); 83 end; 84 else call dfast_error_ (code, "info", ""); 85 86 return; 87 88 header: entry (edit_ptr, path); 89 90 call set_name_date (path); 91 call ioa_$ioa_switch (iox_$user_output, "^/""^a"" ^a^/", name, date_string); 92 93 return; 94 95 /* */ 96 cv_limit: procedure (limit) returns (char (9) aligned); 97 98 /* procedure to convert a float bin $limit into either the string, "open", if $limit is >= 1e37, 99* or to convert a float bin $limit into an integer $limit */ 100 101 dcl limit float bin; 102 dcl lim_pic pic "zzzzz9v.99"; 103 104 if limit >= 1e36 then return ("open"); 105 lim_pic = fixed (limit); 106 return (substr (lim_pic, max (verify (lim_pic, " "), 1))); 107 108 end cv_limit; 109 110 111 112 /* This procedure sets path: if the entry is in the working directory only the entry name will be printed; 113* otherwise the entire path will be printed. It is possible for the entryname to be null. 114**/ 115 set_name_date: proc (path); 116 117 dcl path char (*) var; 118 119 if index (path, f.working_dir) = 1 then name = substr (path, length (f.working_dir) + 2); 120 else name = path; 121 call date_time_ (clock_ (), date_string); 122 123 return; 124 125 end set_name_date; 126 end fst_info_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 07/13/88 0935.7 fst_info_.pl1 >special_ldd>install>MR12.2-1047>fst_info_.pl1 67 1 08/06/87 0913.6 user_attributes.incl.pl1 >ldd>include>user_attributes.incl.pl1 1-112 2 07/13/88 0900.1 user_abs_attributes.incl.pl1 >special_ldd>install>MR12.2-1047>user_abs_attributes.incl.pl1 68 3 12/03/76 1658.6 fst_edit_info.incl.pl1 >ldd>include>fst_edit_info.incl.pl1 69 4 07/13/88 0930.5 pit.incl.pl1 >special_ldd>install>MR12.2-1047>pit.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. clock_ 000012 constant entry external dcl 57 ref 121 121 code 000100 automatic fixed bin(35,0) dcl 43 set ref 72* 76* 82* 84* date_string 000106 automatic char(24) dcl 47 set ref 78* 91* 121* date_time_ 000014 constant entry external dcl 58 ref 121 dfast_error_ 000010 constant entry external dcl 56 ref 84 dollar_charge 127 based float bin(27) level 2 dcl 4-50 set ref 78* dollar_limit 130 based float bin(27) level 2 dcl 4-50 set ref 78* edit_ptr parameter pointer dcl 38 ref 26 74 76 88 119 119 f based structure level 1 dcl 52 fixed builtin function dcl 50 ref 105 fst_edit_info based structure level 1 dcl 3-3 get_pdir_ 000016 constant entry external dcl 59 ref 72 hcs_$initiate 000020 constant entry external dcl 60 ref 72 hcs_$quota_read 000022 constant entry external dcl 61 ref 76 hcs_$terminate_noname 000024 constant entry external dcl 62 ref 82 index builtin function dcl 50 ref 119 ioa_$ioa_switch 000026 constant entry external dcl 63 ref 78 91 iox_$user_output 000030 external static pointer dcl 64 set ref 78* 91* length builtin function dcl 50 ref 119 lim_pic 000176 automatic picture(9) packed unaligned dcl 102 set ref 105* 106 106 limit parameter float bin(27) dcl 101 ref 96 104 105 login_name 72 based char(28) level 2 packed packed unaligned dcl 4-50 set ref 78* max builtin function dcl 50 ref 106 name 000114 automatic varying char(168) dcl 48 set ref 78* 91* 119* 120* null builtin function dcl 50 ref 73 path parameter varying char dcl 39 in procedure "fst_info_" set ref 88 90* path parameter varying char dcl 117 in procedure "set_name_date" ref 115 119 119 120 pathname based varying char(168) level 2 dcl 52 set ref 74* pit based structure level 1 dcl 4-50 pp 000104 automatic pointer dcl 46 set ref 72* 73 78 78 78 78 82* project 42 based char(28) level 2 packed packed unaligned dcl 4-50 set ref 78* quota 000101 automatic fixed bin(18,0) dcl 44 set ref 76* 78* quota_used 000102 automatic fixed bin(18,0) dcl 45 set ref 76* 78* substr builtin function dcl 50 ref 106 119 user_abs_attributes based structure level 1 dcl 2-25 user_attributes based structure level 1 dcl 1-21 verify builtin function dcl 50 ref 106 working_dir 63 based varying char(168) level 2 dcl 52 ref 76 119 119 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ABS_ATTRIBUTE_NAMES internal static varying char(28) initial array dcl 2-38 ALT_USER_ATTRIBUTE_NAMES internal static char(20) initial array packed unaligned dcl 1-77 PIT_version_3 internal static fixed bin(17,0) initial dcl 4-143 USER_ATTRIBUTES_always_allowed internal static bit(36) initial dcl 1-100 USER_ATTRIBUTES_default_in_pdt internal static bit(36) initial dcl 1-104 USER_ATTRIBUTES_settable_by_user internal static bit(36) initial dcl 1-108 USER_ATTRIBUTE_NAMES internal static char(20) initial array packed unaligned dcl 1-50 arg_info based structure level 1 dcl 4-136 pit_$ external static bit(36) dcl 4-47 pit_ptr automatic pointer dcl 4-48 NAMES DECLARED BY EXPLICIT CONTEXT. cv_limit 000462 constant entry internal dcl 96 ref 78 fst_info_ 000063 constant entry external dcl 26 header 000403 constant entry external dcl 88 set_name_date 000537 constant entry internal dcl 115 ref 74 90 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 772 1024 642 1002 Length 1306 642 32 246 127 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME fst_info_ 248 external procedure is an external procedure. cv_limit internal procedure shares stack frame of external procedure fst_info_. set_name_date internal procedure shares stack frame of external procedure fst_info_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME fst_info_ 000100 code fst_info_ 000101 quota fst_info_ 000102 quota_used fst_info_ 000104 pp fst_info_ 000106 date_string fst_info_ 000114 name fst_info_ 000176 lim_pic cv_limit THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_char_temp call_ext_out_desc call_ext_out return_mac fl2_to_fx1 shorten_stack ext_entry ext_entry_desc set_chars_eis index_chars_eis THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. clock_ date_time_ dfast_error_ get_pdir_ hcs_$initiate hcs_$quota_read hcs_$terminate_noname ioa_$ioa_switch THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. iox_$user_output LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 26 000060 72 000070 73 000144 74 000150 76 000163 78 000250 82 000341 83 000352 84 000353 86 000376 88 000377 90 000416 91 000430 93 000461 96 000462 104 000464 105 000474 106 000510 115 000537 119 000550 120 000603 121 000613 123 000637 ----------------------------------------------------------- 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