COMPILATION LISTING OF SEGMENT forum_misc_requests_ Compiled by: Multics PL/I Compiler, Release 33d, of April 24, 1992 Compiled at: ACTC Technologies Inc. Compiled on: 92-09-28_1714.04_Mon_mdt Options: optimize map 1 /****^ *************************************************************** 2* * * 3* * Copyright, (C) BULL HN Information Systems Inc., 1992 * 4* * * 5* * Copyright, (C) Massachusetts Institute of Technology, 1986 * 6* * * 7* * Copyright (c) 1982 by Massachusetts Institute of Technology * 8* * * 9* *************************************************************** */ 10 11 12 13 14 /****^ HISTORY COMMENTS: 15* 1) change(86-07-29,Pattin), approve(86-07-29,MCR7356), 16* audit(86-08-07,Margolin), install(86-08-16,MR12.0-1128): 17* Added rechain and unchain requests. 18* 2) change(86-07-29,Pattin), approve(86-07-29,MCR7354), 19* audit(86-08-07,Margolin), install(86-08-16,MR12.0-1128): 20* Note adjourned switch in . request. Speed up chairman request and don't 21* return .* in cm name. 22* 3) change(91-08-29,Huen), approve(91-08-29,MCR8248), 23* audit(92-01-08,Zimmerman), install(92-04-27,MR12.5-1014): 24* Fix several TRs (phx21375, 21376, 21377) related to the current trans. 25* 4) change(92-09-10,Zimmerman), approve(92-09-10,MCR8258), 26* audit(92-09-22,WAAnderson), install(92-09-28,MR12.5-1020): 27* Problem with current being set to deleted txn., or being set to -1. 28* END HISTORY COMMENTS */ 29 30 31 forum_misc_requests_$dot_request: 32 procedure (P_ssu_ptr, P_passport_info_ptr); 33 34 /* Miscellaneous requests of the forum subsystem as follows: 35* 36* dot: print forum version number, and info about current forum, if any. 37* forum_dir: print/return pathname of master directory. 38* chairman: print/return chairman of current (or specified) forum. 39* current_meeting: print/return pathname of current forum. 40* switch_(off on) set/reset arbitrary switches. 41* (delete retrieve)_participant 42* expunge: garbage collect meetings 43* rechain/unchain: modify transaction chains. 44* 45* Initial coding: 10 March 1980 by M. Auerbach 46* rewritten for version 4 06/21/81 Jay Pattin 47* modified for ssu_ 08/21/81 Jay Pattin 48* renamed forum_misc_requests_ 01/21/82 Jay Pattin 49* modified for chairman gate 4/28/82 Jay Pattin 50* added switch_(on off) 5/21/82 Jay Pattin 51* added (delete retrieve)_participant and expunge 6/24/82 Jay Pattin */ 52 53 dcl (P_ssu_ptr, P_passport_info_ptr) 54 pointer parameter; 55 56 declare active_fnc_err_$af_suppress_name 57 entry options (variable), 58 command_query_ entry options (variable), 59 com_err_ entry options (variable), 60 com_err_$suppress_name entry options (variable), 61 forum_$change_chairman entry (char (*), char (*), char (*), fixed bin (35)), 62 forum_$change_chairman_idx entry (fixed bin, char (*), fixed bin (35)), 63 forum_$v1_expunge entry (fixed bin, bit (36) aligned, fixed bin, fixed bin, fixed bin, fixed bin, 64 fixed bin (35)), 65 forum_$expunge entry (fixed bin, bit (36) aligned, fixed bin, fixed bin, fixed bin (35)), 66 forum_$forum_limits entry (fixed bin, fixed bin, fixed bin, fixed bin, fixed bin, fixed bin, bit (36) aligned, 67 fixed bin (35)), 68 forum_$forum_info entry (char (*), char (*), char (*), fixed bin (71), ptr, fixed bin (35)), 69 forum_$forum_info_idx entry (fixed bin, char (*), fixed bin (71), ptr, fixed bin (35)), 70 forum_$rechain entry (fixed bin, fixed bin, fixed bin, char (*), fixed bin (35)), 71 forum_$set_seen_switch entry (fixed bin, char (*), fixed bin, bit (1) aligned, fixed bin (35)), 72 forum_$set_switch entry (char (*), char (*), char (*), char (*), bit (1) aligned, fixed bin (35)), 73 forum_$set_switch_idx entry (fixed bin, char (*), char (*), bit (1) aligned, fixed bin (35)), 74 forum_requests_$find_forum entry (char (*), char (*), char (*), fixed bin, fixed bin (35)), 75 forum_trans_specs_$parse_specs 76 entry (ptr, fixed bin, bit (36) aligned, entry, fixed bin, char (*), char (*), ptr), 77 forum_trans_util_$clear_cache entry (ptr), 78 forum_trans_util_$read_trans entry (ptr, fixed bin, fixed bin, ptr, fixed bin (35)), 79 cu_$af_return_arg_rel entry (fixed bin, ptr, fixed bin (21), fixed bin (35), ptr), 80 cu_$arg_list_ptr entry returns (ptr), 81 (ioa_, ioa_$rsnnl) entry () options (variable), 82 ssu_$abort_line entry () options (variable), 83 ssu_$arg_list_ptr entry (ptr) returns (ptr), 84 ssu_$arg_ptr entry (ptr, fixed bin, ptr, fixed bin (21)), 85 ssu_$get_abbrev_info entry (ptr, ptr, ptr, bit (1) aligned), 86 ssu_$get_invocation_count entry (ptr, fixed bin, fixed bin), 87 ssu_$get_subsystem_name entry (ptr) returns (char (32)), 88 ssu_$get_subsystem_and_request_name 89 entry (ptr) returns (char (72) varying), 90 ssu_$print_message entry options (variable), 91 ssu_$return_arg entry (ptr, fixed bin, bit (1) aligned, ptr, fixed bin (21)); 92 93 declare arg char (arg_len) based (arg_ptr), 94 new_subject char (new_subject_len) based (new_subject_ptr), 95 ret_arg char (ret_len) varying based (ret_ptr); 96 97 declare (addr, after, char, index, null, rtrim, substr) 98 builtin, 99 cleanup condition, 100 absolute bit (1) aligned, 101 answer char (168), 102 arg_count fixed bin, 103 arg_idx fixed bin, 104 arg_len fixed bin (21), 105 (arg_list_ptr, arg_ptr, new_subject_ptr, ssu_ptr) 106 ptr, 107 brief bit (1) aligned, 108 delete bit (1) aligned, 109 force_switch bit (1) aligned, 110 me char (72) varying, 111 forum_idx fixed bin, 112 forum_dir char (168), 113 (forum_name, full_forum_name) char (32), 114 name char (32) varying, 115 (first, last, last_seen, new_count, level, pref, chain_idx) 116 fixed bin, 117 (users_deleted, trans_deleted) 118 fixed bin, 119 no_lines fixed bin, 120 (command, active_function, temp_forum, have_unproc) 121 bit (1) aligned init ("0"b), 122 new_subject_len fixed bin (21), 123 rechain_switch bit (1) aligned, 124 ret_len fixed bin (21), 125 ret_ptr ptr, 126 string char (256), 127 switch bit (1) aligned, 128 switch_name char (32), 129 to_trans_list_ptr ptr, 130 user_name char (22), 131 (users, transactions) bit (1) aligned, 132 code fixed bin (35); 133 134 declare 1 auto_forum_info aligned like forum_info; 135 declare NL char (1) static options (constant) init (" 136 "); 137 138 declare (error_table_$not_act_fnc, 139 error_table_$noarg, 140 error_table_$badopt, 141 forum_et_$no_forum, 142 forum_et_$not_eligible, 143 forum_et_$switch_not_changed 144 ) fixed bin (35) external; 145 1 1 /* START OF: forum_passport.incl.pl1 * * * * * * * * * * * * * * * * */ 1 2 1 3 1 4 1 5 /****^ HISTORY COMMENTS: 1 6* 1) change(86-07-30,Pattin), approve(86-07-30,MCR7354), 1 7* audit(86-08-03,Margolin), install(86-08-16,MR12.0-1128): 1 8* Added trailer_format. 1 9* END HISTORY COMMENTS */ 1 10 1 11 1 12 declare passport_info_ptr ptr; 1 13 1 14 declare 1 passport aligned based (passport_info_ptr), 1 15 2 version fixed bin, /* 2 */ 1 16 2 forum_idx fixed bin, /* current forum */ 1 17 2 forum_dir char (168) unal, /* where forum lives */ 1 18 2 forum_name char (32) unal, /* Current forum I'm at */ 1 19 2 forum_name_len fixed bin, /* length of forum_name without suffix */ 1 20 2 flags unal, 1 21 3 brief_sw bit (1) unal, /* specified at invocation */ 1 22 3 talk_fill bit (1) unal, /* God knows */ 1 23 3 print_fill bit (1) unal, /* God doesn't know */ 1 24 3 read_only bit (1) unal, 1 25 3 print_message bit (1) unal, /* Print chairman message on talk/reply */ 1 26 3 auto_write bit (1) unal, 1 27 3 mbz bit (30) unal, /* Future expansion */ 1 28 2 current_trans fixed bin, /* current transaction number */ 1 29 2 input_fill_width fixed bin, /* line length used for input filling */ 1 30 2 output_fill_width fixed bin, /* line length used for output filling */ 1 31 2 public_channel fixed bin (71), /* My transaction wakeup channel. */ 1 32 2 area_ptr ptr, /* used for random temporary storage */ 1 33 2 first_trans_ptr ptr, /* ptrs to linked list of transactions copied to */ 1 34 2 last_trans_ptr ptr, /* user ring */ 1 35 2 unprocessed_trans_ptr ptr, /* If this isn't null, we got one pending. */ 1 36 2 unprocessed_reply_trans fixed bin, /* If nonzero, unprocessed trans is a reply. */ 1 37 2 unprocessed_forum_dir char (168), /* Directory containing meeting unproc is for. */ 1 38 2 unprocessed_forum_name char (32), /* Name of meeting unproc is for */ 1 39 2 unprocessed_name_len fixed bin, /* length (w/o suffix) of Name of meeting unproc is for */ 1 40 2 ssu_ptr ptr, /* Department of Redundancy Department. */ 1 41 2 next_passport_ptr ptr, /* list of all invocations */ 1 42 2 trailer_format fixed bin; 1 43 1 44 declare passport_version_2 fixed bin static options (constant) initial (2); 1 45 1 46 declare forum_area area based (passport.area_ptr), 1 47 no_suffix_name char (passport.forum_name_len) based (addr (passport.forum_name)); 1 48 1 49 declare forum_data_$version_string character (8) external, 1 50 forum_data_$central_directory 1 51 character (168) unaligned external, 1 52 forum_data_$info_directory character (168) unaligned external; 1 53 1 54 declare (TFMT_none init (0), 1 55 TFMT_number init (1), 1 56 TFMT_more init (2), 1 57 TFMT_reference init (3)) 1 58 fixed bin static options (constant); 1 59 1 60 /* END OF: forum_passport.incl.pl1 * * * * * * * * * * * * * * * * */ 146 147 2 1 /* START OF: forum_info.incl.pl1 * * * * * * * * * * * * * * * * * * * */ 2 2 2 3 2 4 2 5 /****^ HISTORY COMMENTS: 2 6* 1) change(86-07-30,Pattin), approve(86-07-30,MCR7354), 2 7* audit(86-08-03,Margolin), install(86-08-16,MR12.0-1128): 2 8* Changed to version 2, speed up call by not calculating remove count. 2 9* END HISTORY COMMENTS */ 2 10 2 11 2 12 declare forum_info_ptr ptr; 2 13 2 14 declare 1 forum_info aligned based (forum_info_ptr), 2 15 2 version fixed bin, /* Must be 1 or 2 */ 2 16 2 forum_uid bit (36), 2 17 2 chairman unaligned, 2 18 3 username char (20), 2 19 3 project char (9), 2 20 3 pad char (3), 2 21 2 attendee_count fixed bin, 2 22 2 removal_count fixed bin, /* always 0 in version 2 */ 2 23 2 transaction_count fixed bin, 2 24 2 deletion_count fixed bin, 2 25 2 last_seen_trans_idx fixed bin, 2 26 2 last_time_changed fixed bin (71), 2 27 2 last_time_attended fixed bin (71), 2 28 2 changes_count fixed bin, 2 29 2 flags unaligned, 2 30 3 eligible bit (1), 2 31 3 mbz1 bit (1), 2 32 3 removed bit (1), 2 33 3 notify bit (1), 2 34 3 attending bit (1), 2 35 3 mbz2 bit (2), 2 36 3 read_only bit (1), 2 37 3 adjourned bit (1), 2 38 3 mbz3 bit (27); 2 39 2 40 declare forum_info_version_1 fixed bin static options (constant) initial (1), 2 41 forum_info_version_2 fixed bin static options (constant) initial (2); 2 42 2 43 /* END OF: forum_info.incl.pl1 * * * * * * * * * * * * * * * * * * * */ 148 149 3 1 /* BEGIN INCLUDE FILE: forum_user_trans.incl.pl1 */ 3 2 3 3 dcl alloc_text_length fixed bin (21); /* length of text area to allocate */ 3 4 dcl alloc_subject_length fixed bin (21); /* length of subject area to allocate */ 3 5 dcl forum_user_trans_ptr ptr; /* pointer to below structure */ 3 6 3 7 dcl 1 forum_user_trans based (forum_user_trans_ptr) aligned, 3 8 2 type fixed bin, /* type of transaction */ 3 9 2 person_id char (22), /* person_id of author of this transaction */ 3 10 2 project_id char (9), /* project_id of author of this transaction */ 3 11 2 time fixed bin (71), /* time transaction was entered */ 3 12 2 trans_no fixed bin, /* number of this transaction */ 3 13 2 next_trans_ptr ptr, /* pointer (in user ring) of next transaction */ 3 14 2 prev_trans_ptr ptr, /* pointer (in user ring) of previous transaction */ 3 15 2 subject_length fixed bin (21), /* length of subject field of transaction */ 3 16 2 text_length fixed bin (21), /* length of text field of transaction */ 3 17 2 unfilled bit (1) aligned, /* set if transaction is NOT stored filled */ 3 18 2 subject char (alloc_subject_length refer (forum_user_trans.subject_length)) unaligned, /* subject of transaction */ 3 19 2 text char (alloc_text_length refer (forum_user_trans.text_length)) unaligned; /* text of transaction */ 3 20 3 21 declare user_trans_type fixed bin static options (constant) initial (1); 3 22 declare message_type fixed bin static options (constant) initial (2); 3 23 3 24 declare (ONLY_UNDELETED init (0), 3 25 INCLUDE_DELETED init (1), 3 26 ONLY_DELETED init (2)) 3 27 fixed bin static options (constant); 3 28 3 29 /* END INCLUDE FILE: forum_user_trans.incl.pl1 */ 150 151 4 1 /* ... BEGIN INCLUDE FILE forum_flags.incl.pl1 ... */ 4 2 4 3 /* Flags returned by forum_$forum_limits 4 4* Jay Pattin 5/5/82 */ 4 5 4 6 dcl forum_flags_word bit (36) aligned; 4 7 4 8 dcl 1 forum_flags aligned based (addr (forum_flags_word)), 4 9 2 chairman bit (1) unaligned, 4 10 2 read_only bit (1) unaligned, 4 11 2 print_cm_message bit (1) unaligned, 4 12 2 print_acl_message bit (1) unaligned, 4 13 2 acl_has_changed bit (1) unaligned, 4 14 2 adjourned bit (1) unaligned, 4 15 2 mbz bit (30) unaligned; 4 16 4 17 /* END INCLUDE FILE forum_flags.incl.pl1 */ 152 153 5 1 /* ... BEGIN INCLUDE FILE forum_trans_list.incl.pl1 ... */ 5 2 5 3 5 4 5 5 /****^ HISTORY COMMENTS: 5 6* 1) change(86-07-30,Pattin), approve(86-07-30,MCR7354), 5 7* audit(86-08-07,Margolin), install(86-08-16,MR12.0-1128): 5 8* Added deleted switch. 5 9* 2) change(91-09-05,Huen), approve(91-09-05,MCR8249), 5 10* audit(92-01-08,Zimmerman), install(92-04-27,MR12.5-1014): 5 11* phx20579: Added parse_flags.default_to_unproc & CREATE_UNPROC 5 12* END HISTORY COMMENTS */ 5 13 5 14 5 15 dcl forum_trans_list_ptr ptr; 5 16 dcl alloc_trans_list_size fixed bin; 5 17 5 18 dcl 1 forum_trans_list aligned based (forum_trans_list_ptr), 5 19 2 max_size fixed bin, 5 20 2 size fixed bin, 5 21 2 max_personid_len fixed bin, 5 22 2 list (alloc_trans_list_size refer (forum_trans_list.max_size)), 5 23 3 trans_num fixed bin (17), /* must be aligned */ 5 24 3 nref fixed bin (17) unaligned, 5 25 3 pref fixed bin (17) unaligned, 5 26 3 flags unaligned, 5 27 4 deleted bit (1) unaligned, 5 28 4 pad bit (35) unaligned; 5 29 5 30 dcl parse_flags_word bit (36) aligned; 5 31 5 32 dcl 1 parse_flags aligned based (addr (parse_flags_word)), 5 33 2 non_null bit (1) unal, /* on if trans_spec cannot be empty */ 5 34 2 only_one bit (1) unal, /* on if only one transaction may be specified */ 5 35 2 allow_deleted bit (1) unal, /* on if deleted transactions may be specified */ 5 36 2 must_be_deleted bit (1) unal, /* on if must be deleted */ 5 37 2 disallow_unproc bit (1) unal, /* on if unprocessed transaction not valid */ 5 38 2 disallow_meeting bit (1) unal, /* on if -meeting not allowed */ 5 39 2 disallow_reverse bit (1) unal, /* on if -reverse not allowed */ 5 40 2 disallow_idl bit (1) unal, /* on if -include_deleted not allowed */ 5 41 2 dont_read bit (1) unal, /* on if regexps, -sj, -text, userids, time not allowed */ 5 42 2 disallow_initial bit (1) unal, /* on if -initial not allowed */ 5 43 2 default_to_all bit (1) unal, /* on if defaults to all rather than current */ 5 44 2 default_to_unproc bit (1) unal, /* on if defaults to unproc, not current */ 5 45 2 disallow_cmsg bit (1) unal, /* no chairman_message */ 5 46 2 disallow_by_chain bit (1) unal, /* no -by_chain */ 5 47 2 allow_inhibit_error bit (1) unal, /* don't complain if none selected and -ihe given */ 5 48 2 call_on_non_ctl_arg bit (1) unal, /* call request on bad arguments even if not ctl args */ 5 49 2 default_to_none bit (1) unal, /* allow no transactions to be selected */ 5 50 2 create_unproc bit (1) unal, /* allow unproc even if there isn't one */ 5 51 2 padding bit (18) unal; 5 52 5 53 dcl ANY bit (36) aligned init (""b); 5 54 dcl (NON_NULL init ("100000000000000000"b), 5 55 ONLY_ONE init ("010000000000000000"b), 5 56 ALLOW_DELETED init ("001000000000000000"b), 5 57 MUST_BE_DELETED init ("001100000000000000"b), 5 58 DISALLOW_UNPROC init ("000010000000000000"b), 5 59 DISALLOW_MTG init ("000001000000000000"b), 5 60 DISALLOW_REV init ("000000100000000000"b), 5 61 DISALLOW_IDL init ("000000010000000000"b), 5 62 DONT_READ init ("000000001000000000"b), 5 63 DISALLOW_INITIAL init ("000000000100000000"b), 5 64 DEFAULT_TO_ALL init ("000000000010000000"b), 5 65 DEFAULT_TO_UNPROC init ("000000000001000000"b), 5 66 DISALLOW_CMSG init ("000000000000100000"b), 5 67 DISALLOW_BYCHAIN init ("000000000000010000"b), 5 68 ALLOW_IHE init ("000000000000001000"b), 5 69 CALL_ON_BAD_ARGS init ("000000000000000100"b), 5 70 DEFAULT_TO_NONE init ("000000000000000010"b), 5 71 CREATE_UNPROC init ("000000000000000001"b) 5 72 ) bit (18) aligned internal static options (constant); 5 73 5 74 /* ... END INCLUDE FILE forum_trans_list.incl.pl1 ... */ 154 155 6 1 /* BEGIN INCLUDE FILE query_info.incl.pl1 TAC June 1, 1973 */ 6 2 /* Renamed to query_info.incl.pl1 and cp_escape_control added, 08/10/78 WOS */ 6 3 /* version number changed to 4, 08/10/78 WOS */ 6 4 /* Version 5 adds explanation_(ptr len) 05/08/81 S. Herbst */ 6 5 /* Version 6 adds literal_sw, prompt_after_explanation switch 12/15/82 S. Herbst */ 6 6 6 7 dcl 1 query_info aligned, /* argument structure for command_query_ call */ 6 8 2 version fixed bin, /* version of this structure - must be set, see below */ 6 9 2 switches aligned, /* various bit switch values */ 6 10 3 yes_or_no_sw bit (1) unaligned init ("0"b), /* not a yes-or-no question, by default */ 6 11 3 suppress_name_sw bit (1) unaligned init ("0"b), /* do not suppress command name */ 6 12 3 cp_escape_control bit (2) unaligned init ("00"b), /* obey static default value */ 6 13 /* "01" -> invalid, "10" -> don't allow, "11" -> allow */ 6 14 3 suppress_spacing bit (1) unaligned init ("0"b), /* whether to print extra spacing */ 6 15 3 literal_sw bit (1) unaligned init ("0"b), /* ON => do not strip leading/trailing white space */ 6 16 3 prompt_after_explanation bit (1) unaligned init ("0"b), /* ON => repeat question after explanation */ 6 17 3 padding bit (29) unaligned init (""b), /* pads it out to t word */ 6 18 2 status_code fixed bin (35) init (0), /* query not prompted by any error, by default */ 6 19 2 query_code fixed bin (35) init (0), /* currently has no meaning */ 6 20 6 21 /* Limit of data defined for version 2 */ 6 22 6 23 2 question_iocbp ptr init (null ()), /* IO switch to write question */ 6 24 2 answer_iocbp ptr init (null ()), /* IO switch to read answer */ 6 25 2 repeat_time fixed bin (71) init (0), /* repeat question every N seconds if no answer */ 6 26 /* minimum of 30 seconds required for repeat */ 6 27 /* otherwise, no repeat will occur */ 6 28 /* Limit of data defined for version 4 */ 6 29 6 30 2 explanation_ptr ptr init (null ()), /* explanation of question to be printed if */ 6 31 2 explanation_len fixed bin (21) init (0); /* user answers "?" (disabled if ptr=null or len=0) */ 6 32 6 33 dcl query_info_version_3 fixed bin int static options (constant) init (3); 6 34 dcl query_info_version_4 fixed bin int static options (constant) init (4); 6 35 dcl query_info_version_5 fixed bin int static options (constant) init (5); 6 36 dcl query_info_version_6 fixed bin int static options (constant) init (6); /* the current version number */ 6 37 6 38 /* END INCLUDE FILE query_info.incl.pl1 */ 156 157 158 call setup_request (); /* set common variables */ 159 160 if forum_idx ^= 0 then do; /* if we have forum, get stats */ 161 call forum_$forum_limits (forum_idx, (0), last_seen, first, last, new_count, forum_flags_word, code); 162 if code ^= 0 then call ssu_$abort_line (ssu_ptr, code, "Getting meeting limits."); 163 end; 164 165 no_lines = 0; /* find out about unprocessed transactions */ 166 forum_user_trans_ptr = unprocessed_trans_ptr; 167 if forum_user_trans_ptr ^= null () then begin; 168 169 declare text char (forum_user_trans.text_length); 170 have_unproc = "1"b; 171 text = forum_user_trans.text; 172 do no_lines = 0 repeat no_lines + 1 while (text ^= ""); 173 text = after (text, NL); 174 end; 175 end; 176 177 name = ssu_$get_subsystem_name (ssu_ptr); 178 call ssu_$get_invocation_count (ssu_ptr, level, (0)); 179 call ssu_$get_abbrev_info (ssu_ptr, null (), null (), switch); 180 181 if passport.brief_sw then do; 182 if passport.forum_idx ^= 0 then 183 call ioa_ ( 184 "^a ^a^[ (abbrev)^]^[ (level ^i)^;^s^]: ^a^[ (RO)^]^[ (ADJ)^] ^d new, ^d last^[, ^d current^;^s^] ^[(^d line^[s^] unprocessed^[ in ^a^].)^;^4s^]", 185 name, forum_data_$version_string, switch, (level > 1), level, 186 forum_name, forum_flags.read_only, forum_flags.adjourned, new_count, last, 187 (passport.current_trans ^= 0), passport.current_trans, have_unproc, no_lines, (no_lines ^= 1), 188 (passport.unprocessed_forum_name ^= full_forum_name), passport.unprocessed_forum_name); 189 else call ioa_ ("^a ^a^[ (level ^i)^;^s^]^[: (^i line^[s^] unprocessed in ^a)^;^2s^]", name, 190 forum_data_$version_string, (level > 1), 191 level, have_unproc, no_lines, (no_lines ^= 1), passport.unprocessed_forum_name); 192 return; 193 end; 194 195 call ioa_ ("^a ^a^[ (abbrev)^]^[ (level ^d)^;^s^]^[: ^d new, ^d last^[, ^d current^;^s^]^[ (You are the chairman)^]^[ (Read-only)^]^[ (Adjourned)^].^/Attending the ^a>^a meeting.^]", 196 name, forum_data_$version_string, switch, (level > 1), 197 level, (forum_idx ^= 0), new_count, last, (passport.current_trans ^= 0), passport.current_trans, 198 forum_flags.chairman, forum_flags.read_only, forum_flags.adjourned, forum_dir, forum_name); 199 200 if have_unproc then call ioa_ ("^d line^[s^] unprocessed^[ in the ^a meeting^;^s^].^/Subject: ^a", 201 no_lines, (no_lines ^= 1), (passport.unprocessed_forum_name ^= full_forum_name), 202 substr (passport.unprocessed_forum_name, 1, passport.unprocessed_name_len), forum_user_trans.subject); 203 204 return; 205 206 chairman_request: /* Entry to print out chairman name */ 207 entry (P_ssu_ptr, P_passport_info_ptr); 208 209 call setup_request (); 210 211 user_name = ""; 212 force_switch = "0"b; 213 214 do arg_idx = 1 to arg_count; 215 call ssu_$arg_ptr (ssu_ptr, arg_idx, arg_ptr, arg_len); 216 if index (arg, "-") = 1 then do; 217 if ^active_function & arg = "-set" then do; 218 if arg_idx = arg_count then call ssu_$abort_line (ssu_ptr, error_table_$noarg, "Following -set."); 219 arg_idx = arg_idx + 1; 220 call ssu_$arg_ptr (ssu_ptr, arg_idx, arg_ptr, arg_len); 221 user_name = arg; 222 if index (user_name, ".") = 0 then 223 call ssu_$abort_line (ssu_ptr, 0, "User name must be Person.Project. ^a", user_name); 224 end; 225 else if ^active_function & (arg = "-force" | arg = "-fc") then force_switch = "1"b; 226 else call ssu_$abort_line (ssu_ptr, error_table_$badopt, "^a", arg); 227 end; 228 else if ^temp_forum & user_name = "" then call get_forum (arg); 229 else 230 CM_USAGE: call ssu_$abort_line (ssu_ptr, 0, "Usage: cm {meeting_name} {-control_args}"); 231 end; 232 233 if forum_idx = 0 & ^temp_forum then 234 call ssu_$abort_line (ssu_ptr, forum_et_$no_forum); 235 236 if temp_forum & user_name ^= "" then 237 call ssu_$abort_line (ssu_ptr, 0, "A meeting_name may not be specified with -set."); 238 239 if user_name = "" then do; /* return current name */ 240 forum_info_ptr = addr (auto_forum_info); 241 forum_info.version = forum_info_version_2; 242 243 /* forum_info goes faster if you pass in name of non-attendee, hence XYZZY.QUUX */ 244 if temp_forum then 245 call forum_$forum_info (forum_dir, full_forum_name, "XYZZY.QUUX.*", (0), forum_info_ptr, code); 246 else call forum_$forum_info_idx (forum_idx, "XYZZY.QUUX.*", (0), forum_info_ptr, code); /* get his name */ 247 if code ^= 0 & code ^= forum_et_$not_eligible then call ssu_$abort_line (ssu_ptr, code); 248 249 if active_function then do; 250 if forum_info.chairman.project = "*" then ret_arg = forum_info.chairman.username; 251 else ret_arg = rtrim (forum_info.chairman.username) || "." || rtrim (forum_info.chairman.project); 252 return; 253 end; 254 255 call ioa_ ("^a.^a", forum_info.chairman.username, forum_info.chairman.project); 256 end; 257 258 else do; /* change the chairman */ 259 query_info.version = query_info_version_5; 260 query_info.yes_or_no_sw = "1"b; 261 if ^force_switch then do; 262 call command_query_ (addr (query_info), answer, me, 263 "Do you really want to change the chairman of the ^a meeting to ^a ?", forum_name, user_name); 264 if substr (answer, 1, 2) = "no" then return; 265 end; 266 267 if temp_forum then 268 call forum_$change_chairman (forum_dir, full_forum_name, user_name, code); 269 else call forum_$change_chairman_idx (forum_idx, user_name, code); 270 if code ^= 0 then call ssu_$abort_line (ssu_ptr, code, "Changing chairman."); 271 end; 272 ABORT: 273 return; 274 275 forum_misc_requests_$switch_off: 276 entry (P_ssu_ptr, P_passport_info_ptr); 277 278 switch = "0"b; 279 goto SWITCH_COMMON; 280 281 forum_misc_requests_$switch_on: 282 entry (P_ssu_ptr, P_passport_info_ptr); 283 284 switch = "1"b; 285 286 SWITCH_COMMON: 287 user_name = ""; /* defaults to this user */ 288 brief = "0"b; 289 call setup_request (); 290 291 arg_idx = 1; 292 293 if arg_count = 0 then 294 call ssu_$abort_line (ssu_ptr, 0, "Usage: sw^[n^;f^] switch_name {-control_args}", switch); 295 call ssu_$arg_ptr (ssu_ptr, 1, arg_ptr, arg_len); 296 switch_name = arg; 297 298 if switch_name = "seen" then do; 299 call seen_switch (); 300 return; 301 end; 302 303 do arg_idx = 2 to arg_count; 304 call switch_arg (arg_idx); 305 end; 306 307 if forum_idx = 0 & ^temp_forum then call ssu_$abort_line (ssu_ptr, forum_et_$no_forum); 308 309 if (switch_name = "meeting_eligibility_messages" | switch_name = "mtg_emsg" | 310 switch_name = "in_session" | switch_name = "ins") & user_name ^= "" then 311 call ssu_$abort_line (ssu_ptr, 0, 312 "The -user control argument may not be used with the ""^a"" switch.", switch_name); 313 314 if temp_forum then 315 call forum_$set_switch (forum_dir, full_forum_name, user_name, switch_name, switch, code); 316 else call forum_$set_switch_idx (forum_idx, user_name, switch_name, switch, code); 317 if code ^= 0 then do; 318 if code = forum_et_$switch_not_changed then 319 if ^passport.brief_sw & ^brief then 320 call ssu_$print_message (ssu_ptr, code, """^a"" switch^[ for user ^a^;^s^] in the ^a meeting.", 321 switch_name, (user_name ^= ""), user_name, forum_name); 322 else ; 323 else call ssu_$abort_line (ssu_ptr, code, """^a"" switch^[ for user ^a^;^s^] in the ^a meeting.", 324 switch_name, (user_name ^= ""), user_name, forum_name); 325 end; 326 327 return; 328 329 seen_switch: 330 proc (); 331 332 forum_trans_list_ptr = null (); 333 on cleanup begin; 334 if forum_trans_list_ptr ^= null () then free forum_trans_list; 335 end; 336 337 parse_flags_word = NON_NULL | DISALLOW_UNPROC | DISALLOW_MTG | DISALLOW_REV | DISALLOW_INITIAL | 338 DISALLOW_CMSG | DISALLOW_BYCHAIN; 339 340 call forum_trans_specs_$parse_specs (passport_info_ptr, 2, parse_flags_word, switch_arg, 0, "", "", 341 forum_trans_list_ptr); 342 343 do arg_idx = 1 to forum_trans_list.size; 344 call forum_$set_seen_switch (forum_idx, user_name, forum_trans_list.trans_num (arg_idx), switch, code); 345 if code ^= 0 then do; 346 if code = forum_et_$switch_not_changed then 347 if ^passport.brief_sw & ^brief then 348 call ssu_$print_message (ssu_ptr, code, "Seen switch for transaction ^d^[ for user ^a^;^s^].", 349 forum_trans_list.trans_num (arg_idx), (user_name ^= ""), user_name); 350 else ; 351 else call ssu_$abort_line (ssu_ptr, code, "Seen switch for transaction ^d^[ for user ^a^;^s^].", 352 forum_trans_list.trans_num (arg_idx), (user_name ^= ""), user_name); 353 end; 354 end; 355 356 free forum_trans_list; 357 return; 358 end seen_switch; 359 360 switch_arg: 361 proc (P_arg_idx); 362 363 declare P_arg_idx fixed bin; 364 365 call ssu_$arg_ptr (ssu_ptr, P_arg_idx, arg_ptr, arg_len); 366 if char (arg, 1) ^= "-" then 367 call ssu_$abort_line (ssu_ptr, 0, "Usage: sw^[n^;f^] switch_name {-control_args}", switch); 368 369 if arg = "-brief" | arg = "-bf" then brief = "1"b; 370 else if arg = "-user" then do; 371 if user_name ^= "" then 372 call ssu_$abort_line (ssu_ptr, 0, "Only one user name may be given."); 373 if P_arg_idx = arg_count then 374 NOARG: call ssu_$abort_line (ssu_ptr, error_table_$noarg, "Following ^a.", arg); 375 P_arg_idx = P_arg_idx + 1; 376 call ssu_$arg_ptr (ssu_ptr, P_arg_idx, arg_ptr, arg_len); 377 user_name = arg; 378 if index (user_name, "*") > 0 | index (user_name, ".") > 0 then 379 call ssu_$abort_line (ssu_ptr, 0, "User names may not contain ""."" or ""*""."); 380 end; 381 else if arg = "-meeting" | arg = "-mtg" then do; 382 if switch_name = "seen" then 383 call ssu_$abort_line (ssu_ptr, 0, "-meeting may not be used with the seen switch."); 384 if temp_forum then call ssu_$abort_line (ssu_ptr, 0, "Only one meeting name may be given."); 385 if P_arg_idx = arg_count then goto NOARG; 386 P_arg_idx = P_arg_idx + 1; 387 call ssu_$arg_ptr (ssu_ptr, P_arg_idx, arg_ptr, arg_len); 388 call get_forum (arg); 389 end; 390 else call ssu_$abort_line (ssu_ptr, error_table_$badopt, arg); 391 392 return; 393 end switch_arg; 394 395 forum_misc_requests_$delete_participant: 396 entry (P_ssu_ptr, P_passport_info_ptr); 397 398 delete = "1"b; 399 goto DLRT_COMMON; 400 401 forum_misc_requests_$retrieve_participant: 402 entry (P_ssu_ptr, P_passport_info_ptr); 403 404 delete = "0"b; 405 DLRT_COMMON: 406 call setup_request (); 407 408 if arg_count = 0 then call ssu_$abort_line (ssu_ptr, 0, "Usage: ^[dl^;rt^]pt user_names {-control_args}", delete); 409 if forum_idx = 0 then call ssu_$abort_line (ssu_ptr, forum_et_$no_forum); 410 411 brief = passport.brief_sw; 412 do arg_idx = 1 to arg_count; 413 call ssu_$arg_ptr (ssu_ptr, arg_idx, arg_ptr, arg_len); 414 if index (arg, "-") = 1 then do; 415 if arg = "-brief" | arg = "-bf" then brief = "1"b; 416 else if arg = "-long" | arg = "-lg" then brief = "0"b; 417 else call ssu_$abort_line (ssu_ptr, error_table_$badopt, "^a", arg); 418 end; 419 end; 420 421 do arg_idx = 1 to arg_count; 422 call ssu_$arg_ptr (ssu_ptr, arg_idx, arg_ptr, arg_len); 423 if index (arg, "-") ^= 1 then do; 424 if index (arg, ".") > 0 then 425 call ssu_$abort_line (ssu_ptr, 0, "A user id may not contain a ""."". ""^a""", arg); 426 427 call forum_$set_switch_idx (forum_idx, arg, "deleted", delete, code); 428 if code ^= 0 then 429 if ^brief | code ^= forum_et_$switch_not_changed then 430 call ssu_$print_message (ssu_ptr, code, "^[Res^;S^]etting deleted switch for ^a.", ^delete, arg); 431 end; 432 end; 433 return; 434 435 forum_misc_requests_$expunge: 436 entry (P_ssu_ptr, P_passport_info_ptr); 437 438 call setup_request (); 439 brief = passport.brief_sw; 440 force_switch, users, transactions = "0"b; 441 442 do arg_idx = 1 to arg_count; 443 call ssu_$arg_ptr (ssu_ptr, arg_idx, arg_ptr, arg_len); 444 if index (arg, "-") = 1 then do; 445 if arg = "-brief" | arg = "-bf" then brief = "1"b; 446 else if arg = "-force" | arg = "-fc" then force_switch = "1"b; 447 else if arg = "-long" | arg = "-lg" then brief = "0"b; 448 else if arg = "-participants" | arg = "-part" then users = "1"b; 449 else if arg = "-transactions" | arg = "-trans" then transactions = "1"b; 450 else call ssu_$abort_line (ssu_ptr, error_table_$badopt, "^a", arg); 451 end; 452 else call ssu_$abort_line (ssu_ptr, 0, "Usage: expunge {-control_args}"); 453 end; 454 455 if ^(users | transactions) then users, transactions = "1"b; 456 457 if ^force_switch then do; 458 call ioa_$rsnnl ("Expunging the meeting will destroy all records of deleted^[ transactions^]^[ and^]^[ participants^].^/Do you really want to expunge the ^a meeting?", 459 string, arg_len, transactions, users & transactions, users, forum_name); 460 query_info.version = query_info_version_5; 461 query_info.yes_or_no_sw = "1"b; 462 query_info.explanation_ptr = addr (string); 463 query_info.explanation_len = arg_len; 464 call command_query_ (addr (query_info), answer, me, substr (string, 1, arg_len)); 465 if substr (answer, 1, 2) = "no" then return; 466 end; 467 468 if forum_idx < 0 then 469 call forum_$expunge (forum_idx, transactions || users, users_deleted, trans_deleted, code); 470 else call forum_$v1_expunge (forum_idx, transactions || users, users_deleted, trans_deleted, (0), (0), 471 code); 472 if code ^= 0 then call ssu_$abort_line (ssu_ptr, code, "Expunging ^a meeting.", forum_name); 473 if brief then return; 474 475 if users then do; 476 if users_deleted = 0 then call ioa_ ("There were no deleted participants to expunge."); 477 else call ioa_ ("^d participant^[s^] expunged.", users_deleted, users_deleted ^= 1); 478 end; 479 480 if transactions then do; 481 if trans_deleted = 0 then call ioa_ ("There were no deleted transactions to expunge."); 482 else call ioa_ ("^d transaction^[s^] expunged.", trans_deleted, trans_deleted ^= 1); 483 end; 484 485 return; 486 487 forum_misc_requests_$forum_dir_request: /* Entry to print/return pathname of forum central dir */ 488 entry (P_ssu_ptr, P_passport_info_ptr); 489 490 call setup_request (); 491 arg_list_ptr = ssu_$arg_list_ptr (ssu_ptr); 492 goto cmd_common; 493 494 forum_dir: /* This is also externally available */ 495 fd: entry options (variable); 496 497 arg_list_ptr = cu_$arg_list_ptr (); 498 command = "1"b; 499 500 cmd_common: 501 me = "forum_dir"; 502 call cu_$af_return_arg_rel (arg_count, ret_ptr, ret_len, code, arg_list_ptr); 503 if code = 0 then active_function = "1"b; 504 else if code ^= error_table_$not_act_fnc then do; 505 if command then call com_err_ (code, me); 506 else call ssu_$abort_line (code, me); 507 return; 508 end; 509 510 if arg_count ^= 0 then do; 511 if ^command then call ssu_$abort_line (ssu_ptr, 0, "Usage: ^[[^]fd^[]^]", active_function, active_function); 512 else if active_function then call active_fnc_err_$af_suppress_name (0, me, "Usage: [fd]"); 513 else call com_err_$suppress_name (0, me, "Usage: fd"); 514 return; 515 end; 516 517 if active_function then 518 ret_arg = forum_data_$central_directory; 519 else call ioa_ ("The central forum directory is ^a.", forum_data_$central_directory); 520 521 return; 522 523 current_meeting: 524 entry (P_ssu_ptr, P_passport_info_ptr); 525 526 call setup_request (); 527 528 absolute = "0"b; 529 do arg_idx = 1 to arg_count; 530 call ssu_$arg_ptr (ssu_ptr, arg_idx, arg_ptr, arg_len); 531 if arg = "-absolute_pathname" | arg = "-absp" then absolute = "1"b; 532 else if arg = "-entry" | arg = "-et" then absolute = "0"b; 533 else call ssu_$abort_line (ssu_ptr, error_table_$badopt, arg); 534 end; 535 536 if passport.forum_idx = 0 then call ssu_$abort_line (ssu_ptr, forum_et_$no_forum); 537 538 if active_function then do; 539 if absolute then ret_arg = rtrim (forum_dir) || ">" || rtrim (full_forum_name); 540 else ret_arg = rtrim (no_suffix_name); 541 end; 542 else call ioa_ ("The current meeting is ^[^a>^a^;^2s^a^].", absolute, forum_dir, full_forum_name, 543 no_suffix_name); 544 545 return; 546 547 forum_misc_requests_$rechain: 548 entry (P_ssu_ptr, P_passport_info_ptr); 549 550 rechain_switch = "1"b; 551 goto CHAIN_COMMON; 552 553 forum_misc_requests_$unchain: 554 entry (P_ssu_ptr, P_passport_info_ptr); 555 556 rechain_switch = "0"b; 557 CHAIN_COMMON: 558 call setup_request (); 559 560 forum_trans_list_ptr, to_trans_list_ptr = null (); 561 on cleanup begin; 562 if forum_trans_list_ptr ^= null () then free forum_trans_list; 563 if to_trans_list_ptr ^= null () then free to_trans_list_ptr -> forum_trans_list; 564 end; 565 566 chain_idx, pref, new_subject_len = 0; 567 new_subject_ptr = addr (new_subject_len); /* keep from faulting in call. Ignored if newsj_len = 0 */ 568 569 parse_flags_word = DISALLOW_MTG | DISALLOW_UNPROC | DISALLOW_REV | DISALLOW_CMSG | DISALLOW_BYCHAIN; 570 call forum_trans_specs_$parse_specs (passport_info_ptr, 1, parse_flags_word, chain_args, 0, "", "", 571 forum_trans_list_ptr); 572 573 if rechain_switch then do; 574 if chain_idx = 0 then 575 call ssu_$abort_line (ssu_ptr, error_table_$noarg, "The -to control argument is required."); 576 parse_flags_word = parse_flags_word | ONLY_ONE | NON_NULL; 577 call forum_trans_specs_$parse_specs (passport_info_ptr, chain_idx, parse_flags_word, chain_args, 0, 578 "", "", to_trans_list_ptr); 579 pref = to_trans_list_ptr -> forum_trans_list.trans_num (1); 580 free to_trans_list_ptr -> forum_trans_list; 581 end; 582 583 if new_subject_ptr = null () then do; 584 call forum_trans_util_$read_trans (passport_info_ptr, 0, pref, forum_user_trans_ptr, code); 585 if code ^= 0 then call ssu_$abort_line (ssu_ptr, code, "Transaction #^d.", pref); 586 587 new_subject_ptr = addr (forum_user_trans.subject); 588 new_subject_len = forum_user_trans.subject_length; 589 end; 590 591 do first = 1 to forum_trans_list.size; 592 call forum_$rechain (forum_idx, forum_trans_list.trans_num (first), pref, new_subject, code); 593 if code ^= 0 then 594 call ssu_$abort_line (ssu_ptr, code, "Chaining ^d to ^d.", forum_trans_list.trans_num (first), pref); 595 end; 596 597 if new_subject_len > 0 then call forum_trans_util_$clear_cache (passport_info_ptr); 598 free forum_trans_list; 599 return; 600 601 chain_args: 602 procedure (P_arg_idx); 603 604 declare P_arg_idx fixed bin parameter; 605 606 call ssu_$arg_ptr (ssu_ptr, P_arg_idx, arg_ptr, arg_len); 607 if arg = "-new_subject" | arg = "-newsj" then do; 608 new_subject_ptr = null (); 609 if P_arg_idx = arg_count then 610 if rechain_switch then return; 611 else goto NOARG; 612 P_arg_idx = P_arg_idx + 1; 613 call ssu_$arg_ptr (ssu_ptr, P_arg_idx, new_subject_ptr, new_subject_len); 614 if rechain_switch & index (new_subject, "-") = 1 then do; 615 new_subject_ptr = null (); 616 P_arg_idx = P_arg_idx - 1; 617 end; 618 end; 619 else if rechain_switch & arg = "-to" then do; 620 if chain_idx > 0 then 621 call ssu_$abort_line (ssu_ptr, 0, "-to may only be specified once."); 622 if P_arg_idx = arg_count then 623 NOARG: call ssu_$abort_line (ssu_ptr, error_table_$noarg, "Following ^a.", arg); 624 chain_idx = P_arg_idx + 1; 625 P_arg_idx = arg_count + 1; 626 end; 627 else call ssu_$abort_line (ssu_ptr, error_table_$badopt, "^a", arg); 628 end chain_args; 629 630 /* This internal procedure sets up to execute a request */ 631 632 setup_request: 633 procedure (); 634 635 ssu_ptr = P_ssu_ptr; 636 passport_info_ptr = P_passport_info_ptr; 637 forum_idx = passport.forum_idx; 638 forum_dir = passport.forum_dir; 639 full_forum_name = passport.forum_name; 640 forum_name = no_suffix_name; 641 call ssu_$return_arg (ssu_ptr, arg_count, active_function, ret_ptr, ret_len); 642 me = ssu_$get_subsystem_and_request_name (ssu_ptr); 643 return; 644 645 end setup_request; 646 647 get_forum: 648 proc (forum); 649 650 declare forum char (*), 651 name_len fixed bin; 652 653 temp_forum = "1"b; 654 655 call forum_requests_$find_forum (forum, forum_dir, full_forum_name, name_len, code); 656 if code ^= 0 then call ssu_$abort_line (ssu_ptr, code, "Getting meeting path."); 657 forum_name = substr (full_forum_name, 1, name_len); 658 659 return; 660 end get_forum; 661 662 end forum_misc_requests_$dot_request; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 09/28/92 1714.0 forum_misc_requests_.pl1 >spec>inst>1020>forum_misc_requests_.pl1 146 1 08/16/86 1638.0 forum_passport.incl.pl1 >ldd>incl>forum_passport.incl.pl1 148 2 08/16/86 1638.0 forum_info.incl.pl1 >ldd>incl>forum_info.incl.pl1 150 3 10/31/84 1215.4 forum_user_trans.incl.pl1 >ldd>incl>forum_user_trans.incl.pl1 152 4 10/31/84 1215.3 forum_flags.incl.pl1 >ldd>incl>forum_flags.incl.pl1 154 5 04/27/92 1104.7 forum_trans_list.incl.pl1 >ldd>incl>forum_trans_list.incl.pl1 156 6 03/11/83 1304.3 query_info.incl.pl1 >ldd>incl>query_info.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. ANY 000541 automatic bit(36) initial dcl 5-53 set ref 5-53* DISALLOW_BYCHAIN constant bit(18) initial dcl 5-54 ref 337 569 DISALLOW_CMSG constant bit(18) initial dcl 5-54 ref 337 569 DISALLOW_INITIAL constant bit(18) initial dcl 5-54 ref 337 DISALLOW_MTG constant bit(18) initial dcl 5-54 ref 337 569 DISALLOW_REV constant bit(18) initial dcl 5-54 ref 337 569 DISALLOW_UNPROC constant bit(18) initial dcl 5-54 ref 337 569 NL constant char(1) initial packed unaligned dcl 135 ref 173 NON_NULL constant bit(18) initial dcl 5-54 ref 337 576 ONLY_ONE constant bit(18) initial dcl 5-54 ref 576 P_arg_idx parameter fixed bin(17,0) dcl 604 in procedure "chain_args" set ref 601 606* 609 612* 612 613* 616* 616 622 624 625* P_arg_idx parameter fixed bin(17,0) dcl 363 in procedure "switch_arg" set ref 360 365* 373 375* 375 376* 385 386* 386 387* P_passport_info_ptr parameter pointer dcl 53 ref 31 206 275 281 395 401 435 487 523 547 553 636 P_ssu_ptr parameter pointer dcl 53 ref 31 206 275 281 395 401 435 487 523 547 553 635 absolute 000106 automatic bit(1) dcl 97 set ref 528* 531* 532* 539 542* active_fnc_err_$af_suppress_name 000010 constant entry external dcl 56 ref 512 active_function 000341 automatic bit(1) initial dcl 97 set ref 97* 217 225 249 503* 511* 511* 512 517 538 641* addr builtin function dcl 97 ref 182 182 195 195 195 240 262 262 462 464 464 540 542 567 587 640 adjourned 0(05) based bit(1) level 2 packed packed unaligned dcl 4-8 set ref 182* 195* after builtin function dcl 97 ref 173 answer 000107 automatic char(168) packed unaligned dcl 97 set ref 262* 264 464* 465 answer_iocbp 6 000542 automatic pointer initial level 2 dcl 6-7 set ref 6-7* arg based char packed unaligned dcl 93 set ref 216 217 221 225 225 226* 228* 296 366 369 369 370 373* 377 381 381 388* 390* 414 415 415 416 416 417* 423 424 424* 427* 428* 444 445 445 446 446 447 447 448 448 449 449 450* 531 531 532 532 533* 607 607 619 622* 627* arg_count 000161 automatic fixed bin(17,0) dcl 97 set ref 214 218 293 303 373 385 408 412 421 442 502* 510 529 609 622 625 641* arg_idx 000162 automatic fixed bin(17,0) dcl 97 set ref 214* 215* 218 219* 219 220* 291* 303* 304* 343* 344 346 351* 412* 413* 421* 422* 442* 443* 529* 530* arg_len 000163 automatic fixed bin(21,0) dcl 97 set ref 215* 216 217 220* 221 225 225 226 226 228 228 295* 296 365* 366 369 369 370 373 373 376* 377 381 381 387* 388 388 390 390 413* 414 415 415 416 416 417 417 422* 423 424 424 424 427 427 428 428 443* 444 445 445 446 446 447 447 448 448 449 449 450 450 458* 463 464 464 530* 531 531 532 532 533 533 606* 607 607 619 622 622 627 627 arg_list_ptr 000164 automatic pointer dcl 97 set ref 491* 497* 502* arg_ptr 000166 automatic pointer dcl 97 set ref 215* 216 217 220* 221 225 225 226 228 295* 296 365* 366 369 369 370 373 376* 377 381 381 387* 388 390 413* 414 415 415 416 416 417 422* 423 424 424 427 428 443* 444 445 445 446 446 447 447 448 448 449 449 450 530* 531 531 532 532 533 606* 607 607 619 622 627 auto_forum_info 000500 automatic structure level 1 dcl 134 set ref 240 brief 000174 automatic bit(1) dcl 97 set ref 288* 318 346 369* 411* 415* 416* 428 439* 445* 447* 473 brief_sw 65 based bit(1) level 3 packed packed unaligned dcl 1-14 ref 181 318 346 411 439 chain_idx 000334 automatic fixed bin(17,0) dcl 97 set ref 566* 574 577* 620 624* chairman 2 based structure level 2 in structure "forum_info" packed packed unaligned dcl 2-14 in procedure "forum_misc_requests_$dot_request" chairman based bit(1) level 2 in structure "forum_flags" packed packed unaligned dcl 4-8 in procedure "forum_misc_requests_$dot_request" set ref 195* char builtin function dcl 97 ref 366 cleanup 000100 stack reference condition dcl 97 ref 333 561 code 000476 automatic fixed bin(35,0) dcl 97 set ref 161* 162 162* 244* 246* 247 247 247* 267* 269* 270 270* 314* 316* 317 318 318* 323* 344* 345 346 346* 351* 427* 428 428 428* 468* 470* 472 472* 502* 503 504 505* 506* 584* 585 585* 592* 593 593* 655* 656 656* com_err_ 000014 constant entry external dcl 56 ref 505 com_err_$suppress_name 000016 constant entry external dcl 56 ref 513 command 000340 automatic bit(1) initial dcl 97 set ref 97* 498* 505 511 command_query_ 000012 constant entry external dcl 56 ref 262 464 cp_escape_control 1(02) 000542 automatic bit(2) initial level 3 packed packed unaligned dcl 6-7 set ref 6-7* cu_$af_return_arg_rel 000056 constant entry external dcl 56 ref 502 cu_$arg_list_ptr 000060 constant entry external dcl 56 ref 497 current_trans 66 based fixed bin(17,0) level 2 dcl 1-14 set ref 182 182* 195 195* delete 000175 automatic bit(1) dcl 97 set ref 398* 404* 408* 427* 428 error_table_$badopt 000114 external static fixed bin(35,0) dcl 138 set ref 226* 390* 417* 450* 533* 627* error_table_$noarg 000112 external static fixed bin(35,0) dcl 138 set ref 218* 373* 574* 622* error_table_$not_act_fnc 000110 external static fixed bin(35,0) dcl 138 ref 504 explanation_len 14 000542 automatic fixed bin(21,0) initial level 2 dcl 6-7 set ref 463* 6-7* explanation_ptr 12 000542 automatic pointer initial level 2 dcl 6-7 set ref 462* 6-7* first 000326 automatic fixed bin(17,0) dcl 97 set ref 161* 591* 592 593* flags 65 based structure level 2 packed packed unaligned dcl 1-14 force_switch 000176 automatic bit(1) dcl 97 set ref 212* 225* 261 440* 446* 457 forum parameter char packed unaligned dcl 650 set ref 647 655* forum_$change_chairman 000020 constant entry external dcl 56 ref 267 forum_$change_chairman_idx 000022 constant entry external dcl 56 ref 269 forum_$expunge 000026 constant entry external dcl 56 ref 468 forum_$forum_info 000032 constant entry external dcl 56 ref 244 forum_$forum_info_idx 000034 constant entry external dcl 56 ref 246 forum_$forum_limits 000030 constant entry external dcl 56 ref 161 forum_$rechain 000036 constant entry external dcl 56 ref 592 forum_$set_seen_switch 000040 constant entry external dcl 56 ref 344 forum_$set_switch 000042 constant entry external dcl 56 ref 314 forum_$set_switch_idx 000044 constant entry external dcl 56 ref 316 427 forum_$v1_expunge 000024 constant entry external dcl 56 ref 470 forum_data_$central_directory 000126 external static char(168) packed unaligned dcl 1-49 set ref 517 519* forum_data_$version_string 000124 external static char(8) packed unaligned dcl 1-49 set ref 182* 189* 195* forum_dir 000223 automatic char(168) packed unaligned dcl 97 in procedure "forum_misc_requests_$dot_request" set ref 195* 244* 267* 314* 539 542* 638* 655* forum_dir 2 based char(168) level 2 in structure "passport" packed packed unaligned dcl 1-14 in procedure "forum_misc_requests_$dot_request" ref 638 forum_et_$no_forum 000116 external static fixed bin(35,0) dcl 138 set ref 233* 307* 409* 536* forum_et_$not_eligible 000120 external static fixed bin(35,0) dcl 138 ref 247 forum_et_$switch_not_changed 000122 external static fixed bin(35,0) dcl 138 ref 318 346 428 forum_flags based structure level 1 dcl 4-8 forum_flags_word 000534 automatic bit(36) dcl 4-6 set ref 161* 182 182 195 195 195 forum_idx 1 based fixed bin(17,0) level 2 in structure "passport" dcl 1-14 in procedure "forum_misc_requests_$dot_request" ref 182 536 637 forum_idx 000222 automatic fixed bin(17,0) dcl 97 in procedure "forum_misc_requests_$dot_request" set ref 160 161* 195 233 246* 269* 307 316* 344* 409 427* 468 468* 470* 592* 637* forum_info based structure level 1 dcl 2-14 forum_info_ptr 000530 automatic pointer dcl 2-12 set ref 240* 241 244* 246* 250 250 251 251 255 255 forum_info_version_2 constant fixed bin(17,0) initial dcl 2-40 ref 241 forum_name 54 based char(32) level 2 in structure "passport" packed packed unaligned dcl 1-14 in procedure "forum_misc_requests_$dot_request" set ref 540 542 639 640 forum_name 000275 automatic char(32) packed unaligned dcl 97 in procedure "forum_misc_requests_$dot_request" set ref 182* 195* 262* 318* 323* 458* 472* 640* 657* forum_name_len 64 based fixed bin(17,0) level 2 dcl 1-14 ref 540 542 542 640 forum_requests_$find_forum 000046 constant entry external dcl 56 ref 655 forum_trans_list based structure level 1 dcl 5-18 set ref 334 356 562 563 580 598 forum_trans_list_ptr 000536 automatic pointer dcl 5-15 set ref 332* 334 334 340* 343 344 346 351 356 560* 562 562 570* 591 592 593 598 forum_trans_specs_$parse_specs 000050 constant entry external dcl 56 ref 340 570 577 forum_trans_util_$clear_cache 000052 constant entry external dcl 56 ref 597 forum_trans_util_$read_trans 000054 constant entry external dcl 56 ref 584 forum_user_trans based structure level 1 dcl 3-7 forum_user_trans_ptr 000532 automatic pointer dcl 3-5 set ref 166* 167 169 171 200 584* 587 588 full_forum_name 000305 automatic char(32) packed unaligned dcl 97 set ref 182 200 244* 267* 314* 539 542* 639* 655* 657 have_unproc 000343 automatic bit(1) initial dcl 97 set ref 97* 170* 182* 189* 200 index builtin function dcl 97 ref 216 222 378 378 414 423 424 444 614 ioa_ 000062 constant entry external dcl 56 ref 182 189 195 200 255 476 477 481 482 519 542 ioa_$rsnnl 000064 constant entry external dcl 56 ref 458 last 000327 automatic fixed bin(17,0) dcl 97 set ref 161* 182* 195* last_seen 000330 automatic fixed bin(17,0) dcl 97 set ref 161* level 000332 automatic fixed bin(17,0) dcl 97 set ref 178* 182 182* 189 189* 195 195* list 3 based structure array level 2 dcl 5-18 literal_sw 1(05) 000542 automatic bit(1) initial level 3 packed packed unaligned dcl 6-7 set ref 6-7* max_size based fixed bin(17,0) level 2 dcl 5-18 ref 334 356 562 563 580 598 me 000177 automatic varying char(72) dcl 97 set ref 262* 464* 500* 505* 506* 512* 513* 642* name 000315 automatic varying char(32) dcl 97 set ref 177* 182* 189* 195* name_len 000100 automatic fixed bin(17,0) dcl 650 set ref 655* 657 new_count 000331 automatic fixed bin(17,0) dcl 97 set ref 161* 182* 195* new_subject based char packed unaligned dcl 93 set ref 592* 614 new_subject_len 000344 automatic fixed bin(21,0) dcl 97 set ref 566* 567 588* 592 592 597 613* 614 new_subject_ptr 000170 automatic pointer dcl 97 set ref 567* 583 587* 592 608* 613* 614 615* no_lines 000337 automatic fixed bin(17,0) dcl 97 set ref 165* 172* 174* 182* 182 189* 189 200* 200 no_suffix_name based char packed unaligned dcl 1-46 set ref 540 542* 640 null builtin function dcl 97 ref 167 179 179 179 179 560 583 6-7 6-7 6-7 332 334 562 563 608 615 padding 1(07) 000542 automatic bit(29) initial level 3 packed packed unaligned dcl 6-7 set ref 6-7* parse_flags_word 000540 automatic bit(36) dcl 5-30 set ref 337* 340* 569* 570* 576* 576 577* passport based structure level 1 dcl 1-14 passport_info_ptr 000526 automatic pointer dcl 1-12 set ref 166 181 182 182 182 182 182 189 195 195 200 200 200 200 200 318 340* 346 411 439 536 540 540 542 542 542 570* 577* 584* 597* 636* 637 638 639 640 640 pref 000333 automatic fixed bin(17,0) dcl 97 set ref 566* 579* 584* 585* 592* 593* project 7 based char(9) level 3 packed packed unaligned dcl 2-14 set ref 250 251 255* prompt_after_explanation 1(06) 000542 automatic bit(1) initial level 3 packed packed unaligned dcl 6-7 set ref 6-7* query_code 3 000542 automatic fixed bin(35,0) initial level 2 dcl 6-7 set ref 6-7* query_info 000542 automatic structure level 1 dcl 6-7 set ref 262 262 464 464 query_info_version_5 constant fixed bin(17,0) initial dcl 6-35 ref 259 460 question_iocbp 4 000542 automatic pointer initial level 2 dcl 6-7 set ref 6-7* read_only 0(01) based bit(1) level 2 packed packed unaligned dcl 4-8 set ref 182* 195* rechain_switch 000345 automatic bit(1) dcl 97 set ref 550* 556* 573 609 614 619 repeat_time 10 000542 automatic fixed bin(71,0) initial level 2 dcl 6-7 set ref 6-7* ret_arg based varying char dcl 93 set ref 250* 251* 517* 539* 540* ret_len 000346 automatic fixed bin(21,0) dcl 97 set ref 250 251 502* 517 539 540 641* ret_ptr 000350 automatic pointer dcl 97 set ref 250 251 502* 517 539 540 641* rtrim builtin function dcl 97 ref 251 251 539 539 540 size 1 based fixed bin(17,0) level 2 dcl 5-18 ref 343 591 ssu_$abort_line 000066 constant entry external dcl 56 ref 162 218 222 226 229 233 236 247 270 293 307 309 323 351 366 371 373 378 382 384 390 408 409 417 424 450 452 472 506 511 533 536 574 585 593 620 622 627 656 ssu_$arg_list_ptr 000070 constant entry external dcl 56 ref 491 ssu_$arg_ptr 000072 constant entry external dcl 56 ref 215 220 295 365 376 387 413 422 443 530 606 613 ssu_$get_abbrev_info 000074 constant entry external dcl 56 ref 179 ssu_$get_invocation_count 000076 constant entry external dcl 56 ref 178 ssu_$get_subsystem_and_request_name 000102 constant entry external dcl 56 ref 642 ssu_$get_subsystem_name 000100 constant entry external dcl 56 ref 177 ssu_$print_message 000104 constant entry external dcl 56 ref 318 346 428 ssu_$return_arg 000106 constant entry external dcl 56 ref 641 ssu_ptr 000172 automatic pointer dcl 97 set ref 162* 177* 178* 179* 215* 218* 220* 222* 226* 229* 233* 236* 247* 270* 293* 295* 307* 309* 318* 323* 346* 351* 365* 366* 371* 373* 376* 378* 382* 384* 387* 390* 408* 409* 413* 417* 422* 424* 428* 443* 450* 452* 472* 491* 511* 530* 533* 536* 574* 585* 593* 606* 613* 620* 622* 627* 635* 641* 642* 656* status_code 2 000542 automatic fixed bin(35,0) initial level 2 dcl 6-7 set ref 6-7* string 000352 automatic char(256) packed unaligned dcl 97 set ref 458* 462 464 464 subject 25 based char level 2 packed packed unaligned dcl 3-7 set ref 200* 587 subject_length 22 based fixed bin(21,0) level 2 dcl 3-7 ref 171 200 200 587 588 substr builtin function dcl 97 ref 200 200 264 464 464 465 657 suppress_name_sw 1(01) 000542 automatic bit(1) initial level 3 packed packed unaligned dcl 6-7 set ref 6-7* suppress_spacing 1(04) 000542 automatic bit(1) initial level 3 packed packed unaligned dcl 6-7 set ref 6-7* switch 000452 automatic bit(1) dcl 97 set ref 179* 182* 195* 278* 284* 293* 314* 316* 344* 366* switch_name 000453 automatic char(32) packed unaligned dcl 97 set ref 296* 298 309 309 309 309 309* 314* 316* 318* 323* 382 switches 1 000542 automatic structure level 2 dcl 6-7 temp_forum 000342 automatic bit(1) initial dcl 97 set ref 97* 228 233 236 244 267 307 314 384 653* text 000100 automatic char packed unaligned dcl 169 in begin block on line 167 set ref 171* 172 173* 173 text based char level 2 in structure "forum_user_trans" packed packed unaligned dcl 3-7 in procedure "forum_misc_requests_$dot_request" ref 171 text_length 23 based fixed bin(21,0) level 2 dcl 3-7 ref 169 171 to_trans_list_ptr 000464 automatic pointer dcl 97 set ref 560* 563 563 577* 579 580 trans_deleted 000336 automatic fixed bin(17,0) dcl 97 set ref 468* 470* 481 482* 482 trans_num 3 based fixed bin(17,0) array level 3 dcl 5-18 set ref 344* 346* 351* 579 592* 593* transactions 000475 automatic bit(1) dcl 97 set ref 440* 449* 455 455* 458* 458 468 470 480 unprocessed_forum_name 157 based char(32) level 2 dcl 1-14 set ref 182 182* 189* 200 200 200 unprocessed_name_len 167 based fixed bin(17,0) level 2 dcl 1-14 ref 200 200 unprocessed_trans_ptr 102 based pointer level 2 dcl 1-14 ref 166 user_name 000466 automatic char(22) packed unaligned dcl 97 set ref 211* 221* 222 222* 228 236 239 262* 267* 269* 286* 309 314* 316* 318 318* 323 323* 344* 346 346* 351 351* 371 377* 378 378 username 2 based char(20) level 3 packed packed unaligned dcl 2-14 set ref 250 251 255* users 000474 automatic bit(1) dcl 97 set ref 440* 448* 455 455* 458 458* 468 470 475 users_deleted 000335 automatic fixed bin(17,0) dcl 97 set ref 468* 470* 476 477* 477 version based fixed bin(17,0) level 2 in structure "forum_info" dcl 2-14 in procedure "forum_misc_requests_$dot_request" set ref 241* version 000542 automatic fixed bin(17,0) level 2 in structure "query_info" dcl 6-7 in procedure "forum_misc_requests_$dot_request" set ref 259* 460* yes_or_no_sw 1 000542 automatic bit(1) initial level 3 packed packed unaligned dcl 6-7 set ref 260* 461* 6-7* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ALLOW_DELETED internal static bit(18) initial dcl 5-54 ALLOW_IHE internal static bit(18) initial dcl 5-54 CALL_ON_BAD_ARGS internal static bit(18) initial dcl 5-54 CREATE_UNPROC internal static bit(18) initial dcl 5-54 DEFAULT_TO_ALL internal static bit(18) initial dcl 5-54 DEFAULT_TO_NONE internal static bit(18) initial dcl 5-54 DEFAULT_TO_UNPROC internal static bit(18) initial dcl 5-54 DISALLOW_IDL internal static bit(18) initial dcl 5-54 DONT_READ internal static bit(18) initial dcl 5-54 INCLUDE_DELETED internal static fixed bin(17,0) initial dcl 3-24 MUST_BE_DELETED internal static bit(18) initial dcl 5-54 ONLY_DELETED internal static fixed bin(17,0) initial dcl 3-24 ONLY_UNDELETED internal static fixed bin(17,0) initial dcl 3-24 TFMT_more internal static fixed bin(17,0) initial dcl 1-54 TFMT_none internal static fixed bin(17,0) initial dcl 1-54 TFMT_number internal static fixed bin(17,0) initial dcl 1-54 TFMT_reference internal static fixed bin(17,0) initial dcl 1-54 alloc_subject_length automatic fixed bin(21,0) dcl 3-4 alloc_text_length automatic fixed bin(21,0) dcl 3-3 alloc_trans_list_size automatic fixed bin(17,0) dcl 5-16 forum_area based area(1024) dcl 1-46 forum_data_$info_directory external static char(168) packed unaligned dcl 1-49 forum_info_version_1 internal static fixed bin(17,0) initial dcl 2-40 message_type internal static fixed bin(17,0) initial dcl 3-22 parse_flags based structure level 1 dcl 5-32 passport_version_2 internal static fixed bin(17,0) initial dcl 1-44 query_info_version_3 internal static fixed bin(17,0) initial dcl 6-33 query_info_version_4 internal static fixed bin(17,0) initial dcl 6-34 query_info_version_6 internal static fixed bin(17,0) initial dcl 6-36 user_trans_type internal static fixed bin(17,0) initial dcl 3-21 NAMES DECLARED BY EXPLICIT CONTEXT. ABORT 003115 constant label dcl 272 CHAIN_COMMON 005773 constant label dcl 557 ref 551 CM_USAGE 002347 constant label dcl 229 DLRT_COMMON 003626 constant label dcl 405 ref 399 NOARG 007660 constant label dcl 622 in procedure "chain_args" ref 609 NOARG 007170 constant label dcl 373 in procedure "switch_arg" ref 385 SWITCH_COMMON 003142 constant label dcl 286 ref 279 chain_args 007503 constant entry internal dcl 601 ref 570 570 577 577 chairman_request 002051 constant entry external dcl 206 cmd_common 005162 constant label dcl 500 ref 492 current_meeting 005441 constant entry external dcl 523 fd 005133 constant entry external dcl 494 forum_dir 005143 constant entry external dcl 494 forum_misc_requests_$delete_participant 003604 constant entry external dcl 395 forum_misc_requests_$dot_request 001157 constant entry external dcl 31 forum_misc_requests_$expunge 004252 constant entry external dcl 435 forum_misc_requests_$forum_dir_request 005111 constant entry external dcl 487 forum_misc_requests_$rechain 005751 constant entry external dcl 547 forum_misc_requests_$retrieve_participant 003617 constant entry external dcl 401 forum_misc_requests_$switch_off 003120 constant entry external dcl 275 forum_misc_requests_$switch_on 003132 constant entry external dcl 281 forum_misc_requests_$unchain 005764 constant entry external dcl 553 get_forum 010037 constant entry internal dcl 647 ref 228 388 seen_switch 006461 constant entry internal dcl 329 ref 299 setup_request 007761 constant entry internal dcl 632 ref 158 209 289 405 438 490 526 557 switch_arg 007022 constant entry internal dcl 360 ref 304 340 340 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 11210 11340 10157 11220 Length 12036 10157 130 462 1031 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME forum_misc_requests_$dot_request 610 external procedure is an external procedure. begin block on line 167 70 begin block uses auto adjustable storage. seen_switch 140 internal procedure enables or reverts conditions. on unit on line 333 64 on unit switch_arg 106 internal procedure is assigned to an entry variable. on unit on line 561 64 on unit chain_args 108 internal procedure is assigned to an entry variable. setup_request internal procedure shares stack frame of external procedure forum_misc_requests_$dot_requ get_forum 102 internal procedure is called by several nonquick procedures. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME begin block on line 167 000100 text begin block on line 167 forum_misc_requests_$dot_request 000106 absolute forum_misc_requests_$dot_request 000107 answer forum_misc_requests_$dot_request 000161 arg_count forum_misc_requests_$dot_request 000162 arg_idx forum_misc_requests_$dot_request 000163 arg_len forum_misc_requests_$dot_request 000164 arg_list_ptr forum_misc_requests_$dot_request 000166 arg_ptr forum_misc_requests_$dot_request 000170 new_subject_ptr forum_misc_requests_$dot_request 000172 ssu_ptr forum_misc_requests_$dot_request 000174 brief forum_misc_requests_$dot_request 000175 delete forum_misc_requests_$dot_request 000176 force_switch forum_misc_requests_$dot_request 000177 me forum_misc_requests_$dot_request 000222 forum_idx forum_misc_requests_$dot_request 000223 forum_dir forum_misc_requests_$dot_request 000275 forum_name forum_misc_requests_$dot_request 000305 full_forum_name forum_misc_requests_$dot_request 000315 name forum_misc_requests_$dot_request 000326 first forum_misc_requests_$dot_request 000327 last forum_misc_requests_$dot_request 000330 last_seen forum_misc_requests_$dot_request 000331 new_count forum_misc_requests_$dot_request 000332 level forum_misc_requests_$dot_request 000333 pref forum_misc_requests_$dot_request 000334 chain_idx forum_misc_requests_$dot_request 000335 users_deleted forum_misc_requests_$dot_request 000336 trans_deleted forum_misc_requests_$dot_request 000337 no_lines forum_misc_requests_$dot_request 000340 command forum_misc_requests_$dot_request 000341 active_function forum_misc_requests_$dot_request 000342 temp_forum forum_misc_requests_$dot_request 000343 have_unproc forum_misc_requests_$dot_request 000344 new_subject_len forum_misc_requests_$dot_request 000345 rechain_switch forum_misc_requests_$dot_request 000346 ret_len forum_misc_requests_$dot_request 000350 ret_ptr forum_misc_requests_$dot_request 000352 string forum_misc_requests_$dot_request 000452 switch forum_misc_requests_$dot_request 000453 switch_name forum_misc_requests_$dot_request 000464 to_trans_list_ptr forum_misc_requests_$dot_request 000466 user_name forum_misc_requests_$dot_request 000474 users forum_misc_requests_$dot_request 000475 transactions forum_misc_requests_$dot_request 000476 code forum_misc_requests_$dot_request 000500 auto_forum_info forum_misc_requests_$dot_request 000526 passport_info_ptr forum_misc_requests_$dot_request 000530 forum_info_ptr forum_misc_requests_$dot_request 000532 forum_user_trans_ptr forum_misc_requests_$dot_request 000534 forum_flags_word forum_misc_requests_$dot_request 000536 forum_trans_list_ptr forum_misc_requests_$dot_request 000540 parse_flags_word forum_misc_requests_$dot_request 000541 ANY forum_misc_requests_$dot_request 000542 query_info forum_misc_requests_$dot_request get_forum 000100 name_len get_forum THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_g_a r_ne_as alloc_char_temp cat_realloc_chars enter_begin_block leave_begin_block call_ext_out_desc call_ext_out call_int_this_desc call_int_this call_int_other_desc return_mac move_label_var make_label_var alloc_auto_adj enable_op shorten_stack ext_entry int_entry int_entry_desc op_freen_ THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. active_fnc_err_$af_suppress_name com_err_ com_err_$suppress_name command_query_ cu_$af_return_arg_rel cu_$arg_list_ptr forum_$change_chairman forum_$change_chairman_idx forum_$expunge forum_$forum_info forum_$forum_info_idx forum_$forum_limits forum_$rechain forum_$set_seen_switch forum_$set_switch forum_$set_switch_idx forum_$v1_expunge forum_requests_$find_forum forum_trans_specs_$parse_specs forum_trans_util_$clear_cache forum_trans_util_$read_trans ioa_ ioa_$rsnnl ssu_$abort_line ssu_$arg_list_ptr ssu_$arg_ptr ssu_$get_abbrev_info ssu_$get_invocation_count ssu_$get_subsystem_and_request_name ssu_$get_subsystem_name ssu_$print_message ssu_$return_arg THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$badopt error_table_$noarg error_table_$not_act_fnc forum_data_$central_directory forum_data_$version_string forum_et_$no_forum forum_et_$not_eligible forum_et_$switch_not_changed LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 97 001114 5 53 001120 6 7 001121 31 001153 158 001165 160 001166 161 001170 162 001216 165 001247 166 001250 167 001253 169 001262 170 001273 171 001275 172 001305 173 001314 174 001337 175 001342 177 001343 178 001361 179 001375 181 001415 182 001421 189 001556 192 001637 195 001640 200 001756 204 002045 206 002047 209 002057 211 002060 212 002063 214 002064 215 002073 216 002110 217 002124 218 002136 219 002166 220 002167 221 002204 222 002211 224 002253 225 002254 226 002272 227 002324 228 002325 229 002347 231 002374 233 002376 236 002417 239 002452 240 002456 241 002460 244 002462 246 002531 247 002571 249 002612 250 002615 251 002634 252 002713 255 002715 256 002741 259 002742 260 002744 261 002746 262 002750 264 003012 267 003016 269 003046 270 003067 272 003115 275 003116 278 003126 279 003127 281 003130 284 003140 286 003142 288 003145 289 003146 291 003147 293 003151 295 003204 296 003223 298 003230 299 003234 300 003240 303 003241 304 003251 305 003257 307 003261 309 003302 314 003357 316 003416 317 003447 318 003451 322 003531 323 003532 327 003601 395 003602 398 003612 399 003614 401 003615 404 003625 405 003626 408 003627 409 003662 411 003701 412 003705 413 003715 414 003732 415 003746 416 003761 417 003773 419 004025 421 004027 422 004037 423 004054 424 004070 427 004135 428 004173 432 004245 433 004247 435 004250 438 004260 439 004261 440 004265 442 004270 443 004277 444 004314 445 004330 446 004343 447 004356 448 004370 449 004403 450 004416 451 004450 452 004451 453 004476 455 004500 457 004511 458 004513 460 004564 461 004566 462 004570 463 004572 464 004574 465 004631 468 004636 470 004670 472 004725 473 004762 475 004764 476 004767 477 005006 480 005035 481 005040 482 005057 485 005106 487 005107 490 005117 491 005120 492 005131 494 005132 497 005151 498 005160 500 005162 502 005167 503 005206 504 005213 505 005216 506 005235 507 005251 510 005252 511 005254 512 005315 513 005347 514 005376 517 005377 519 005416 521 005436 523 005437 526 005447 528 005450 529 005451 530 005461 531 005476 532 005513 533 005525 534 005551 536 005553 538 005573 539 005576 540 005661 541 005705 542 005706 545 005746 547 005747 550 005757 551 005761 553 005762 556 005772 557 005773 560 005774 561 005777 562 006013 563 006025 564 006037 566 006040 567 006043 569 006045 570 006053 573 006123 574 006125 576 006153 577 006157 579 006225 580 006230 583 006235 584 006241 585 006261 587 006314 588 006317 591 006322 592 006333 593 006372 595 006437 597 006441 598 006452 599 006457 329 006460 332 006466 333 006471 334 006505 335 006520 337 006521 340 006532 343 006604 344 006616 345 006653 346 006656 350 006737 351 006740 354 007010 356 007013 357 007020 360 007021 365 007027 366 007045 369 007110 370 007126 371 007132 373 007163 375 007225 376 007227 377 007245 378 007253 380 007322 381 007323 382 007333 384 007364 385 007414 386 007421 387 007422 388 007437 389 007454 390 007455 392 007501 601 007502 606 007510 607 007526 608 007541 609 007543 612 007552 613 007553 614 007570 615 007607 616 007611 618 007614 619 007615 620 007624 622 007653 624 007715 625 007722 626 007725 627 007726 628 007760 632 007761 635 007762 636 007766 637 007771 638 007773 639 007776 640 010001 641 010005 642 010024 643 010035 647 010036 653 010052 655 010055 656 010106 657 010140 659 010145 ----------------------------------------------------------- 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