COMPILATION LISTING OF SEGMENT upd_describe_task_ Compiled by: Multics PL/I Compiler, Release 27d, of October 11, 1982 Compiled at: Honeywell LISD Phoenix, System M Compiled on: 11/15/82 1725.7 mst Mon 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 12 /* This first generation MIS task is similar in function to upd_install_task_. And, */ 13 /* like upd_install_task_$init, this task is allocated only once per installation. */ 14 /* When executed, it sets up a subtask, upd_doc_task_$write_prose, which is */ 15 /* responsible for adding a description of the installation to Installations.log */ 16 /* and Installations.info, the documentation segments. */ 17 /* Currently, the entries upd_doc_task_$write_tree and upd_doc_task_$write_prose */ 18 /* are responsible for locking and unlocking the documentation segments while */ 19 /* adding information. If the need ever arises to have two or more online */ 20 /* Installers performing installations concurrently, then it is suggested that */ 21 /* the lock and unlock tasks be generated by this program to guarantee */ 22 /* consistency within the documentation segments. */ 23 /* */ 24 /* P. B. Kelley */ 25 26 upd_describe_task_: proc ( ctlw, areap, parentp, acode, asev, taskp, seqno, temp, log_directory, descp, install_date ) 27 28 options ( rename (( alloc_, smart_alloc_)) ); 29 30 dcl 31 ctlw bit (36) aligned, /* control word */ 32 areap ptr, /* ptr to Area */ 33 parentp ptr, /* ptr to parent */ 34 acode fixed bin(35), /* error code */ 35 asev fixed bin, /* error severity */ 36 taskp ptr, /* task ptr */ 37 seqno fixed bin, /* sequence number */ 38 temp ptr, /* ptr to temporaries */ 39 log_directory char (168) aligned, /* documentation directory */ 40 descp ptr, /* ptr to description structure */ 41 install_date fixed bin(35); /* date of installation */ 42 43 dcl 1 c aligned based (addr(ctlw)), /* definition of ctlw bits */ 44 (2 reverse_sw bit (1), 45 2 task_sw bit (1), 46 2 compile_sw bit (1), 47 2 run_sw bit (1), 48 2 task_run_sw bit (1), 49 2 log_sw bit (1), 50 2 error_sw bit (1), 51 2 brief_sw bit (1), 52 2 detail_sw bit (1), 53 2 clear_code_sw bit (1), 54 2 clear_uid_sw bit (1) )unal; 55 /* */ 56 dcl 57 addr builtin, 58 argp ptr, 59 control bit(36) aligned, 60 entry char(32) init ("upd_describe_task_"), 61 null builtin, 62 tp ptr; 63 dcl 64 cu_$arg_list_ptr entry (ptr), 65 ioa_$ioa_stream entry options (variable), 66 upd_add_task_ entry (char(*), ptr), 67 upd_doc_task_$write_prose entry (bit(36) aligned, ptr, ptr, fixed bin(35), fixed bin, ptr, fixed bin, 68 char (168) aligned, ptr, fixed bin(35), bit(1) aligned, fixed bin); 69 70 dcl 1 t aligned based (tp), /* internal temps */ 71 2 argp ptr, /* arglist pointer */ 72 2 taskp ptr init (null), /* task pointer for subtasks */ 73 2 seqno fixed bin init (34), /* sequence number for subtask */ 74 2 code fixed bin (35) init (0), /* subtask status code */ 75 2 sev fixed bin init (0), /* subtask severity */ 76 2 log_directory char (168) aligned, /* documentation directory */ 77 2 descp ptr, /* ptr to description structure */ 78 2 max_line_size fixed bin init (65), /* max. line size */ 79 2 fwd_done_sw bit (1) aligned init ("0"b); /* "on" if description already documented */ 80 81 dcl Area area based (areap); /* area */ 82 83 /* */ 84 85 call cu_$arg_list_ptr (argp); /* get the arg. list ptr */ 86 if c.reverse_sw then /* can't run in reverse */ 87 return; 88 if c.task_sw then 89 call upd_add_task_ (entry, argp); /* allocate task into 1st generation */ 90 /* task list */ 91 control = (ctlw & "00100111100"b); /* allow only "cpmpile" or "print" */ 92 if c.log_sw then /* if we're logging... */ 93 control = control & "00000111100"b; /* mask all but the print bits */ 94 if c.compile_sw then 95 control = "01"b; /* if compiling, then set tasksw for subtasks */ 96 97 if control = "0"b then 98 return; /* nothing to do */ 99 100 if temp = null then /* if temps don't exist yet */ 101 if (control & "01"b) then do; /* and we're setting up subtasks */ 102 allocate t in (Area); /* allocate temps */ 103 t.argp = argp; 104 t.log_directory = log_directory; 105 t.descp = descp; 106 temp = tp; 107 end; 108 109 tp = temp; /* just get it back again */ 110 111 if (control & "00000000100"b) then /* if printing detail */ 112 call ioa_$ioa_stream ( "installation_list_", "^|"); /* start on a NEW PAGE */ 113 114 if temp ^= null then /* if temps have been allocated */ 115 call upd_doc_task_$write_prose (control, areap, t.argp, t.code, t.sev, t.taskp, t.seqno, 116 t.log_directory, t.descp, install_date, t.fwd_done_sw, t.max_line_size); 117 else /* I guess we're only printing */ 118 call upd_doc_task_$write_prose (control, null, null, 0, 0, null, 0, 119 log_directory, descp, install_date, "0"b, 65); 120 121 return; 122 123 end upd_describe_task_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 11/15/82 1515.4 upd_describe_task_.pl1 >dumps>old>recomp>upd_describe_task_.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. Area based area(1024) dcl 81 ref 102 acode parameter fixed bin(35,0) dcl 30 ref 26 addr builtin function dcl 56 ref 86 88 92 94 areap parameter pointer dcl 30 set ref 26 102 114* argp 000100 automatic pointer dcl 56 in procedure "upd_describe_task_" set ref 85* 88* 103 argp based pointer level 2 in structure "t" dcl 70 in procedure "upd_describe_task_" set ref 103* 114* asev parameter fixed bin(17,0) dcl 30 ref 26 c based structure level 1 dcl 43 code 5 based fixed bin(35,0) initial level 2 dcl 70 set ref 102* 114* compile_sw 0(02) based bit(1) level 2 packed unaligned dcl 43 ref 94 control 000102 automatic bit(36) dcl 56 set ref 91* 92* 92 94* 97 100 111 114* 117* ctlw parameter bit(36) dcl 30 set ref 26 86 88 91 92 94 cu_$arg_list_ptr 000012 constant entry external dcl 63 ref 85 descp 62 based pointer level 2 in structure "t" dcl 70 in procedure "upd_describe_task_" set ref 105* 114* descp parameter pointer dcl 30 in procedure "upd_describe_task_" set ref 26 105 117* entry 000103 automatic char(32) initial unaligned dcl 56 set ref 56* 88* fwd_done_sw 65 based bit(1) initial level 2 dcl 70 set ref 102* 114* install_date parameter fixed bin(35,0) dcl 30 set ref 26 114* 117* ioa_$ioa_stream 000014 constant entry external dcl 63 ref 111 log_directory parameter char(168) dcl 30 in procedure "upd_describe_task_" set ref 26 104 117* log_directory 7 based char(168) level 2 in structure "t" dcl 70 in procedure "upd_describe_task_" set ref 104* 114* log_sw 0(05) based bit(1) level 2 packed unaligned dcl 43 ref 92 max_line_size 64 based fixed bin(17,0) initial level 2 dcl 70 set ref 102* 114* null builtin function dcl 56 ref 100 102 114 117 117 117 117 117 117 parentp parameter pointer dcl 30 ref 26 reverse_sw based bit(1) level 2 packed unaligned dcl 43 ref 86 seqno 4 based fixed bin(17,0) initial level 2 in structure "t" dcl 70 in procedure "upd_describe_task_" set ref 102* 114* seqno parameter fixed bin(17,0) dcl 30 in procedure "upd_describe_task_" ref 26 sev 6 based fixed bin(17,0) initial level 2 dcl 70 set ref 102* 114* t based structure level 1 dcl 70 set ref 102 task_sw 0(01) based bit(1) level 2 packed unaligned dcl 43 ref 88 taskp parameter pointer dcl 30 in procedure "upd_describe_task_" ref 26 taskp 2 based pointer initial level 2 in structure "t" dcl 70 in procedure "upd_describe_task_" set ref 102* 114* temp parameter pointer dcl 30 set ref 26 100 106* 109 114 tp 000114 automatic pointer dcl 56 set ref 102* 103 104 105 106 109* 114 114 114 114 114 114 114 114 114 upd_add_task_ 000016 constant entry external dcl 63 ref 88 upd_doc_task_$write_prose 000020 constant entry external dcl 63 ref 114 117 NAME DECLARED BY EXPLICIT CONTEXT. upd_describe_task_ 000034 constant entry external dcl 26 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 440 462 341 450 Length 636 341 22 140 76 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME upd_describe_task_ 139 external procedure is an external procedure. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME upd_describe_task_ 000100 argp upd_describe_task_ 000102 control upd_describe_task_ 000103 entry upd_describe_task_ 000114 tp upd_describe_task_ 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. cu_$arg_list_ptr ioa_$ioa_stream smart_alloc_ upd_add_task_ upd_doc_task_$write_prose NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 26 000024 56 000041 85 000044 86 000052 88 000056 91 000076 92 000102 94 000111 97 000116 100 000120 102 000127 103 000157 104 000161 105 000166 106 000171 109 000172 111 000176 114 000223 117 000267 121 000337 ----------------------------------------------------------- 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