COMPILATION LISTING OF SEGMENT xforum_sub_attend_mtg_menu Compiled by: Multics PL/I Compiler, Release 29, of July 28, 1986 Compiled at: Honeywell Bull, Phx. Az., Sys-M Compiled on: 08/06/87 1021.4 mst Thu Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1985 * 6* * * 7* *********************************************************** */ 8 9 10 /****^ HISTORY COMMENTS: 11* 1) change(85-02-19,Davids), approve(86-02-04,MCR7350), 12* audit(86-04-24,Gilcrease), install(86-04-24,MR12.0-1048): 13* Created by copying the xforum_ent_attend_mtg_menu module. 14* 15* 85-03-19 Davids: Fixed the next_subject procedure so that if no 16* unread subject is found it will still update the status 17* information. this requires re-reading the old current message to 18* get the status. This is needed so that deleted and expunged 19* transactions found during the search for a new subject are removed 20* from unread count displayed in the status line. Also fixed a 21* problem with referencing the last seen transaction when the user 22* has just entered a meeting. The user's current transaction is set 23* to his last seen transaction. The transaction is read, the 24* subject recorded and the transaction freed. If the last seen 25* transaction was deleted an error will occur when the transaction 26* is freed - the error code returned from the read was not checked. 27* Now if the last seen transaction cannot be read the current 28* transaction is set to the first transaction (first 29* undeleted/unreaped). If an attempt to read the first transaction 30* fails an error is reported and the procedured is exited. 31* 2) change(85-03-25,Davids), approve(86-02-07,MCR7350), 32* audit(86-04-24,Gilcrease), install(86-04-24,MR12.0-1048): 33* Added code to options 6 and 9 so that enter_trans is only called 34* if the read_only flag for the meeting is off. If its on an error 35* message is output. This saves the user from having to enter a 36* comment only to find out that he cannot do anything with it. 37* 38* 85-03-27 Davids: Replaced code in attend_a_meeting that now is in 39* the set_up_meeting entry of xforum_attend_mtg_utilities with a 40* call to that entry. Also modified the code handling the help 41* function to reset the title line of the status window and 42* redisplay the status and help line windows. This is needed if the 43* user had the general topics menu display. 44* 45* 85-04-04 Davids: Implemented the select_subject procedure and 46* added the transactions_processed_message procedure which is used 47* by the select_subject procedure. 48* 49* 85-05-06 Davids: Added a test of aam_fidx after the call to 50* set_up_meeting in attend_a_meeting. If aam_fidx is 0 the meeting 51* was not opened so a return is done. Any error message was output 52* by set_up_meeting. 53* 3) change(85-06-05,Davids), approve(86-02-04,MCR7350), 54* audit(86-04-24,Gilcrease), install(86-04-24,MR12.0-1048): 55* In the select_comment procedure, moved the call to 56* xforum_help_line_$push so that it occurs before the ioa call which 57* outputs the prompt. It was after the prompt which caused it to be 58* executed after every invalid entry in which case the prompt was 59* reissued. This would cause the help_line stack to fill up. Also 60* added a call to clear the window before an error message is 61* output. 62* 63* 85-06-20 Davids: Changed calling sequence of xforum_format_$append 64* so that the bit_count parameter which is input/output comes after 65* all the input parameters (i.e. the bit (1) switch). 66* 4) change(86-02-18,LJAdams), approve(86-02-18,MCR7350), 67* audit(86-04-24,Gilcrease), install(86-04-24,MR12.0-1048): 68* Setting xforum_meeting_info.current to 0 prior to closing meeting or quit. 69* 5) change(87-04-15,LJAdams), approve(87-04-22,MCR7684), 70* audit(87-07-30,Blair), install(87-08-06,MR12.1-1065): 71* Changed to allow_command_processor_ escapes. Used constants for screen 72* options to get rid of magic numbers. 73* END HISTORY COMMENTS */ 74 75 xforum_sub_attend_mtg_menu: proc (xsamm_curr_meeting_index, xsamm_match_bits, xsamm_spy_ptr); 76 77 /* 78* BEGIN DESCRIPTION 79* 80* function: 81* This module creates, displays and destroys the subject oriented attend 82* meeting menu. It also implements all the functions related to the options 83* in the menu. 84* 85* description of entry points: 86* xforum_sub_attend_mtg_menu: This entry is a simple loop that calls 87* the internal procedure attend_a_meeting and then gets the next meeting 88* index and calls attend_a_meeting again. The loop is broken when the 89* user exits a meeting and indicates that he does not want to go to another 90* meeting (attend_a_meeting returns xsamm_more as false) or 91* attend_a_meeting is given an invalid meeting index (which will happen if 92* there is no next meeting, xsamm_more is again returned as false). 93* 94* description of internal procedures: 95* attend_a_meeting: This procedure is used to attend a meeting. It first 96* checks to be sure that the input meeting index is valid, if not it 97* returns (the more flag is false). If it is a valid index it sets up 98* condition handlers, initializes the meeting_info structure, gets all 99* the forum info on the meeting, and creates the menu. It then displays 100* the menu and loops getting user selections and calling procedures to 101* execute those selections. When the user stops attending the meeting 102* the meeting is closed and the menu destroyed. 103* 104* display_trans: This procedure is used to display transaction. The bottom 105* window is first cleared. A loop is entered which calls 106* xforum_get_selected_trans to get a pointer to a selected transaction, 107* the transaction number is used to update the status window and the 108* transaction displayed via xforum_format_. The loop continues until 109* a invalid_trans_idx error code is returned. Other error codes are 110* ignored. The loop is initialized via a call to xforum_get_selected_trans. 111* Xforum_get_selected_trans handles all the details of determining what 112* transactions have been selected and how to get them in sequential order. 113* 114* enter_trans: This procedure is called when replying to a transaction or 115* when entering a new transaction. An input flag indicates which operation 116* the user is performing. The emacs extension is found by absolute pathname 117* passed into emacs_. The absolute pathname is determined by finding the 118* absolute pathname of the current module and then changing the entry name. 119* This is done via the calls to hcs_$make_ptr and hcs_$fs_get_path_name 120* after the here label. A special segment is created in the process dir for 121* storing the users transaction. If the user is replying then another 122* segment is created for storing the transaction the user is replying to. 123* The pointers to these transactions are stored as internal static so the 124* segments can be reused. The user's comemnt is added to the forum meeting 125* via a call to forum_$enter_trans. 126* 127* next_trans: This procedure selects the next transaction as the current 128* transaction and displays the transaction via a call to xforum_format_. 129* The next transaction is found via a call to xforum_trans_. A subject 130* chain will not be followed. The current transaction must be either a 131* single transaction or a range of transaction, i.e. I:J for there to be 132* a next transaction. 133* 134* prev_trans: This procedure selects the previous transaction as the 135* current transaction and displays the transaction via a call to 136* xforum_format_. The previous transaction is found via a call to 137* xforum_trans_. A subject chain will not be followed. The current 138* transaction must be either a single transaction or a range of 139* transaction, i.e I:J for there to be a previous transaction. 140* 141* list_transaction: This procedure looks remarkably like the display 142* procedure. The only differences are that xforum_format_$list is called 143* instead of xforum_format_$display. 144* 145* select_trans_spec: This procedure prompts the user for a transaction 146* spec. Once the spec has been input a call is made to 147* xforum_validate_trans_spec to check the spec and set the current 148* transactions. The prompting is done via ioa_ instead of via 149* command_query. Help processing is handling by actually checking to see if 150* the input was a "?" character an calling xcforum_help_$display if it was. 151* 152* copy_comments: This procedure uses ioa_ to query the user for a file 153* name. A name of ? is checked for an a help message is output via 154* xforum_help_. A name of ?? is checked for and a message indicating that 155* no menu is available is output. Invalid names are determined 156* For the case of a ?, ??, or invalid name the prompt is repeated. 157* The users ?, ??, invalid file names and valid file names are recorded 158* in the spy structure. invalid file names all have the name "invalid". 159* valid file names are recorded as "name" or "pathname" depending on if 160* they contain a > or <. The actual names are not recorded. 161* For a valid file name the segment is initiated, if it does not exist it 162* is created. If it cannot be created an error is output and the code 163* returns. A message is then output saying that the writting is taking 164* place. The second part of this procedure looks exactly like the display 165* procedure. The only difference is xforum_format_$append is called instead 166* of $display and that the number of comments actually processed is 167* counted. The last thing that this procedure does is clear the bottom 168* window and output a message saying how many transactions were output 169* and giving the file name. 170* 171* next_unread_trans: This procedure set the current transaction to the next 172* unread transaction and then display teh current transaction. The value of 173* the next unread transaction is updated by the call to update_status. 174* 175* meeting_maintenance: This procedure will be used to generate the meeting 176* maintenance menu and respond to selections made from that menu. Currently 177* it just outputs a message saying that it is unimplemented. 178* 179* update_status: This procedure has three functions. First it updates 180* the forum statistics. It sets the seen flag for version 2 forums and 181* the last_seen_idx for version 1 meetings (if of course the input trans 182* idx is larger than the current last seen idx). Second it updates the 183* statistics kept in the meeting list by calling forum_ to get the lastest 184* statistics, these statistics of course reflect the updates just entered. 185* Third it uses the new statistics to output updated totals and new in the 186* status line. NOTE that this procedure is called right BEFORE the 187* transaction is displayed. There is therefore a small window when forum 188* thinks that the user has seen a transaction but it has not yet been 189* displayed. Things were done this way so that the status line could 190* reflect the current transaction and the number of new transaction minus 191* the transaction just selected before the display was started. The 192* alternative would be to have the forum and xforum statics out of sync. 193* 194* collect_spy_data: This is exactly the same as every other 195* collect_spy_data. See xforum_main_options. 196* 197* error: This is exactly the same as every other error. See 198* xforum_main_options. 199* 200* END DESCRIPTION 201**/ 202 203 /* PARAMETERS */ 204 205 dcl xsamm_curr_meeting_index fixed bin; /* (input) */ 206 dcl xsamm_match_bits bit (36) aligned; 207 dcl xsamm_spy_ptr ptr; 208 209 /* GLOBAL */ 210 211 /* EXTERNAL STATIC */ 212 213 dcl forum_error_table_$invalid_trans_idx fixed bin (35) ext static; 214 dcl forum_error_table_$trans_deleted fixed bin (35) ext static; 215 dcl forum_error_table_$trans_reaped fixed bin (35) ext static; 216 dcl iox_$user_io ptr ext static; 217 218 219 /* ENTRIES */ 220 221 dcl com_err_$suppress_name entry () options (variable); 222 dcl get_temp_segments_ entry (char (*), (*) ptr, fixed bin (35)); 223 dcl ioa_ entry () options (variable); 224 dcl ioa_$rsnnl entry () options (variable); 225 dcl iox_$control entry (ptr, char (*), ptr, fixed bin (35)); 226 dcl release_temp_segments_ entry (char (*), (*) ptr, fixed bin (35)); 227 dcl timer_manager_$sleep entry (fixed bin (71), bit (2)); 228 dcl window_$bell entry (ptr, fixed bin (35)); 229 dcl window_$clear_window entry (ptr, fixed bin (35)); 230 dcl window_$overwrite_text entry (ptr, char (*), fixed bin (35)); 231 dcl window_$position_cursor 232 entry (ptr, fixed bin, fixed bin, fixed bin (35)); 233 dcl window_$sync entry (ptr, fixed bin (35)); 234 dcl xforum_attend_mtg_utilities$close_meeting 235 entry (ptr, ptr, fixed bin, fixed bin, ptr); 236 dcl xforum_attend_mtg_utilities$copy_to_name 237 entry (ptr, char (32), ptr, fixed bin (24)); 238 dcl xforum_attend_mtg_utilities$enter_trans 239 entry (ptr, fixed bin, ptr, bit (1) aligned, bit (1) aligned); 240 dcl xforum_attend_mtg_utilities$next_unread_comment 241 entry (ptr, fixed bin, fixed bin, ptr); 242 dcl xforum_attend_mtg_utilities$set_up_meeting 243 entry (ptr, ptr, fixed bin, bit (1) aligned, fixed bin, char (256), char (256)); 244 dcl xforum_attend_mtg_utilities$update_status 245 entry (ptr, fixed bin, char (*), fixed bin, fixed bin); 246 dcl xforum_create_menu_ entry ((*) char (*) var, ptr, ptr, fixed bin (35)); 247 dcl xforum_dyn_menu_$display_and_get_choice 248 entry ((*) char (*), fixed bin, char (*), char (*), char (*), 249 fixed bin, ptr, fixed bin); 250 dcl xforum_dyn_menu_$prompt_instead_of_menu 251 entry (char (*), char (*), char (*), char (*), char (*), fixed bin, 252 ptr, char (*) var); 253 dcl xforum_format_$append entry (ptr, ptr, bit (1) aligned, fixed bin (24), fixed bin (35)); 254 dcl xforum_format_$display entry (ptr, bit (1) aligned, fixed bin (35)); 255 dcl xforum_get_selected_trans$first 256 entry (ptr, ptr, fixed bin (35)); 257 dcl xforum_get_selected_trans$next 258 entry (ptr, ptr, fixed bin (35)); 259 dcl xforum_get_str_ entry (char(*) var, ptr, char(*), char(*), char(*) var, fixed bin(35)); 260 dcl xforum_help_$get_help entry (ptr, char (*), (*) char (*) var, ptr, ptr); 261 dcl xforum_help_line_$change 262 entry (bit (8), char (*), char (*), char (*)); 263 dcl xforum_help_line_$push entry (bit (8), char (*), char (*), char (*)); 264 dcl xforum_help_line_$pop entry options (variable); 265 dcl xforum_main_options$index_of_next_meeting entry (bit (36) aligned, ptr) returns (fixed bin); 266 dcl xforum_multics_mode entry (fixed bin); 267 dcl xforum_redisplay_ entry options (variable); 268 dcl xforum_status_$update_title 269 entry (char (*)); 270 dcl xforum_status_$redisplay 271 entry (fixed bin (35)); 272 dcl xforum_trans_$next_ref entry (fixed bin, ptr, fixed bin (35)); 273 dcl xforum_trans_$prev_ref entry (fixed bin, ptr, fixed bin (35)); 274 dcl xforum_trans_$read entry (fixed bin, ptr, fixed bin (35)); 275 dcl xforum_user_profile$get_menu_always 276 entry () returns (bit (1)); 277 dcl xforum_user_profile$get_multics_mode 278 entry () returns (bit (1)); 279 dcl xforum_window_mgr$check_window_status 280 entry options (variable); 281 dcl xforum_window_mgr$menu_display 282 entry (ptr); 283 dcl xforum_window_mgr$menu_get_choice 284 entry (ptr, bit (1) aligned, fixed bin); 285 dcl xforum_window_mgr$resynch_windows 286 entry (fixed bin, bit (1)); 287 288 /* CONDITIONS */ 289 290 dcl cleanup condition; 291 dcl exit_executive_forum condition; 292 dcl quit condition; 293 dcl xforum_redisplay_menu condition; 294 295 /* INTERNAL AUTOMATIC */ 296 297 dcl xsamm_next_mtg_index fixed bin; 298 dcl xsamm_more bit (1) aligned; 299 300 /* INTERNAL STATIC */ 301 302 303 /* CONSTANTS */ 304 305 dcl ALL bit (36) aligned init ("111111110000000000000000000000000000"b) internal static options (constant); 306 dcl CHANGED bit (36) aligned init ("000000010000000000000000000000000000"b) internal static options (constant); 307 dcl FALSE bit (1) aligned init ("0"b) internal static options (constant); 308 dcl MAX_LEN fixed bin init (256) internal static options (constant); 309 dcl ME char (26) init ("xforum_sub_attend_mtg_menu") 310 internal static options (constant); 311 dcl NL char (1) init (" 312 ") internal static options (constant); 313 dcl ON bit (1) aligned init ("1"b) internal static options (constant); 314 dcl PARTICIPANT bit (36) aligned init ("000100000000000000000000000000000000"b) internal static options (constant); 315 dcl QUERY_USAGE char (69) init ("Press ? and RETURN:help BREAK:To leave current comments unchanged") 316 internal static options (constant); 317 dcl ( /* SUBJECT MTG CHOICES */ 318 DISPLAY_UNREAD fixed bin init (1), 319 DISPLAY_CURRENT fixed bin init (2), 320 DISPLAY_NEXT fixed bin init (3), 321 DISPLAY_PREV fixed bin init (4), 322 DISPLAY_ALL fixed bin init (5), 323 REPLY fixed bin init (6), 324 NEXT_SUBJ_UNREAD fixed bin init (7), 325 GET_SUBJECT fixed bin init (8), 326 TALK fixed bin init (9), 327 COPY_SUBJECT fixed bin init (10), 328 SKIP_REST_SUBJ fixed bin init (11), 329 GET_COMMENT fixed bin init (12), 330 GET_NEXT_MTG fixed bin init (13), 331 MTG_MAINTENANCE fixed bin init (14) 332 ) int static options (constant); 333 334 335 dcl ( /* mtg type */ 336 GET_ATTENDED fixed bin init (2), 337 GET_CHANGED fixed bin init (3), 338 GET_ELIGIBLE fixed bin init (1) 339 ) int static options (constant); 340 341 /* BUILTINS */ 342 343 dcl addr builtin; 344 dcl char builtin; 345 dcl convert builtin; 346 dcl index builtin; 347 dcl length builtin; 348 dcl ltrim builtin; 349 dcl mod builtin; 350 dcl null builtin; 351 dcl rtrim builtin; 352 dcl string builtin; 353 dcl substr builtin; 354 dcl verify builtin; 355 356 /* BASED */ 357 358 359 /* INCLUDE FILES */ 360 1 1 /* BEGIN INCLUDE FILE ... access_mode_values.incl.pl1 1 2* 1 3* Values for the "access mode" argument so often used in hardcore 1 4* James R. Davis 26 Jan 81 MCR 4844 1 5* Added constants for SM access 4/28/82 Jay Pattin 1 6* Added text strings 03/19/85 Chris Jones 1 7**/ 1 8 1 9 1 10 /* format: style4,delnl,insnl,indattr,ifthen,dclind10 */ 1 11 dcl ( 1 12 N_ACCESS init ("000"b), 1 13 R_ACCESS init ("100"b), 1 14 E_ACCESS init ("010"b), 1 15 W_ACCESS init ("001"b), 1 16 RE_ACCESS init ("110"b), 1 17 REW_ACCESS init ("111"b), 1 18 RW_ACCESS init ("101"b), 1 19 S_ACCESS init ("100"b), 1 20 M_ACCESS init ("010"b), 1 21 A_ACCESS init ("001"b), 1 22 SA_ACCESS init ("101"b), 1 23 SM_ACCESS init ("110"b), 1 24 SMA_ACCESS init ("111"b) 1 25 ) bit (3) internal static options (constant); 1 26 1 27 /* The following arrays are meant to be accessed by doing either 1) bin (bit_value) or 1 28* 2) divide (bin_value, 2) to come up with an index into the array. */ 1 29 1 30 dcl SEG_ACCESS_MODE_NAMES (0:7) init ("null", "W", "E", "EW", "R", "RW", "RE", "REW") char (4) internal 1 31 static options (constant); 1 32 1 33 dcl DIR_ACCESS_MODE_NAMES (0:7) init ("null", "A", "M", "MA", "S", "SA", "SM", "SMA") char (4) internal 1 34 static options (constant); 1 35 1 36 dcl ( 1 37 N_ACCESS_BIN init (00000b), 1 38 R_ACCESS_BIN init (01000b), 1 39 E_ACCESS_BIN init (00100b), 1 40 W_ACCESS_BIN init (00010b), 1 41 RW_ACCESS_BIN init (01010b), 1 42 RE_ACCESS_BIN init (01100b), 1 43 REW_ACCESS_BIN init (01110b), 1 44 S_ACCESS_BIN init (01000b), 1 45 M_ACCESS_BIN init (00010b), 1 46 A_ACCESS_BIN init (00001b), 1 47 SA_ACCESS_BIN init (01001b), 1 48 SM_ACCESS_BIN init (01010b), 1 49 SMA_ACCESS_BIN init (01011b) 1 50 ) fixed bin (5) internal static options (constant); 1 51 1 52 /* END INCLUDE FILE ... access_mode_values.incl.pl1 */ 361 362 2 1 /* START OF: forum_dcls.incl.pl1 * * * * * */ 2 2 2 3 dcl forum_$close_forum entry (fixed bin, fixed bin (35)); 2 4 dcl forum_$enter_trans entry (fixed bin, char (*), fixed bin, char (*), 2 5 bit (1) aligned, fixed bin, 2 6 fixed bin (35)); 2 7 dcl forum_$forum_info entry (char (*), char (*), char (*), 2 8 fixed bin (71), ptr, fixed bin (35)); 2 9 dcl forum_$forum_limits entry (fixed bin, fixed bin, fixed bin, 2 10 fixed bin, fixed bin, fixed bin, 2 11 bit(36) aligned, fixed bin (35)); 2 12 dcl forum_$get_forum_path entry (char (*), char (*), char (*), char (*), 2 13 fixed bin (35)); 2 14 dcl forum_$get_forum_path_idx entry (fixed bin, char (*), char (*), 2 15 fixed bin (35)); 2 16 dcl forum_$get_message entry (fixed bin, char (*), fixed bin (35)); 2 17 dcl forum_$get_transaction_map_idx entry (fixed bin, char (*), bit (*), fixed bin (35)); 2 18 dcl forum_$list_users_idx entry (fixed bin, ptr, ptr, fixed bin (35)); 2 19 dcl forum_$open_forum entry (char(*), char(*), fixed bin, 2 20 fixed bin (35)); 2 21 dcl forum_$read_trans entry (fixed bin, fixed bin, ptr, ptr, 2 22 fixed bin (35)); 2 23 dcl forum_$set_last_seen_idx entry (fixed bin, fixed bin, bit (1) aligned, 2 24 fixed bin (35)); 2 25 dcl forum_$set_seen_switch entry (fixed bin, char (*), fixed bin, 2 26 bit (1) aligned, fixed bin (35)); 2 27 dcl forum_$set_message entry (fixed bin, char (*), fixed bin (35)); 2 28 dcl forum_$set_switch entry (char (*), char (*), char (*), char (*), 2 29 bit (1) aligned, fixed bin (35)); 2 30 dcl forum_$set_switch_idx entry (fixed bin, char (*), char (*), 2 31 bit (1) aligned, fixed bin (35)); 2 32 dcl forum_$trans_ref_info entry (fixed bin, fixed bin, fixed bin, 2 33 fixed bin, fixed bin, bit (1) aligned, 2 34 fixed bin (35)); 2 35 2 36 /* END OF: forum_dcls.incl.pl1 * * * * * */ 363 364 3 1 /* ... BEGIN INCLUDE FILE forum_flags.incl.pl1 ... */ 3 2 3 3 /* Flags returned by forum_$forum_limits 3 4* Jay Pattin 5/5/82 */ 3 5 3 6 dcl forum_flags_word bit (36) aligned; 3 7 3 8 dcl 1 forum_flags aligned based (addr (forum_flags_word)), 3 9 2 chairman bit (1) unaligned, 3 10 2 read_only bit (1) unaligned, 3 11 2 print_cm_message bit (1) unaligned, 3 12 2 print_acl_message bit (1) unaligned, 3 13 2 acl_has_changed bit (1) unaligned, 3 14 2 adjourned bit (1) unaligned, 3 15 2 mbz bit (30) unaligned; 3 16 3 17 /* END INCLUDE FILE forum_flags.incl.pl1 */ 365 366 4 1 /* BEGIN INCLUDE FILE: forum_user_trans.incl.pl1 */ 4 2 4 3 dcl alloc_text_length fixed bin (21); /* length of text area to allocate */ 4 4 dcl alloc_subject_length fixed bin (21); /* length of subject area to allocate */ 4 5 dcl forum_user_trans_ptr ptr; /* pointer to below structure */ 4 6 4 7 dcl 1 forum_user_trans based (forum_user_trans_ptr) aligned, 4 8 2 type fixed bin, /* type of transaction */ 4 9 2 person_id char (22), /* person_id of author of this transaction */ 4 10 2 project_id char (9), /* project_id of author of this transaction */ 4 11 2 time fixed bin (71), /* time transaction was entered */ 4 12 2 trans_no fixed bin, /* number of this transaction */ 4 13 2 next_trans_ptr ptr, /* pointer (in user ring) of next transaction */ 4 14 2 prev_trans_ptr ptr, /* pointer (in user ring) of previous transaction */ 4 15 2 subject_length fixed bin (21), /* length of subject field of transaction */ 4 16 2 text_length fixed bin (21), /* length of text field of transaction */ 4 17 2 unfilled bit (1) aligned, /* set if transaction is NOT stored filled */ 4 18 2 subject char (alloc_subject_length refer (forum_user_trans.subject_length)) unaligned, /* subject of transaction */ 4 19 2 text char (alloc_text_length refer (forum_user_trans.text_length)) unaligned; /* text of transaction */ 4 20 4 21 declare user_trans_type fixed bin static options (constant) initial (1); 4 22 declare message_type fixed bin static options (constant) initial (2); 4 23 4 24 declare (ONLY_UNDELETED init (0), 4 25 INCLUDE_DELETED init (1), 4 26 ONLY_DELETED init (2)) 4 27 fixed bin static options (constant); 4 28 4 29 /* END INCLUDE FILE: forum_user_trans.incl.pl1 */ 367 368 5 1 /* BEGIN INCLUDE FILE menu_dcls.incl.pl1 5 2* declarations for the menu_ subroutines MTB 493 5 3* James R. Davis 26 Jan 81 to 20 Februrary 81 5 4**/ 5 5 5 6 /* format: off */ 5 7 5 8 dcl menu_$create entry ( 5 9 (*) char (*) varying, /* input: choices */ 5 10 (*) char (*) varying, /* input: headers */ 5 11 (*) char (*) varying, /* input: trailers */ 5 12 pointer, /* input: to format info */ 5 13 (*) char (1) unal, /* input: keys to use */ 5 14 pointer, /* input: to area */ 5 15 pointer, /* input: to needs str. */ 5 16 pointer, /* to menu: output */ 5 17 fixed bin (35) /* code */ 5 18 ); 5 19 5 20 dcl menu_$display entry ( 5 21 pointer, /* window */ 5 22 pointer, /* menu */ 5 23 fixed bin (35) /* code */ 5 24 ); 5 25 5 26 dcl menu_$get_choice entry ( 5 27 pointer, /* window */ 5 28 pointer, /* menu */ 5 29 pointer, /* to function key info */ 5 30 bit (1) aligned, /* function key hi: output */ 5 31 fixed bin, /* output: selection number */ 5 32 fixed bin (35) /* output: code */ 5 33 ); 5 34 5 35 dcl menu_$describe entry ( 5 36 pointer, /* menu */ 5 37 pointer, /* needs */ 5 38 fixed bin (35) /* code */ 5 39 ); 5 40 5 41 dcl menu_$destroy entry ( 5 42 pointer, /* menu */ 5 43 fixed bin (35) /* code */ 5 44 ); 5 45 5 46 dcl menu_$store entry ( 5 47 character (*), 5 48 character (*), 5 49 character (*), 5 50 bit (1) aligned, 5 51 pointer, 5 52 fixed bin (35)); 5 53 5 54 dcl menu_$retrieve entry ( 5 55 character (*), 5 56 character (*), 5 57 character (*), 5 58 pointer, 5 59 pointer, 5 60 fixed bin (35)); 5 61 dcl menu_$delete entry ( 5 62 character (*), 5 63 character (*), 5 64 character (*), 5 65 fixed binary (35)); 5 66 5 67 dcl menu_$list entry ( 5 68 character (*), 5 69 character (*), 5 70 character (*), 5 71 pointer, 5 72 fixed bin, 5 73 pointer, 5 74 fixed bin (35)); 5 75 5 76 dcl 1 menu_format aligned based (menu_format_ptr), 5 77 2 version fixed bin, 5 78 2 constraints, 5 79 3 max_width fixed bin, 5 80 3 max_height fixed bin, 5 81 2 n_columns fixed bin, 5 82 2 flags, 5 83 3 center_headers bit (1) unal, 5 84 3 center_trailers bit (1) unal, 5 85 3 pad bit (34) unal, 5 86 2 pad_char char (1); 5 87 5 88 dcl 1 menu_requirements aligned based (menu_requirements_ptr), 5 89 2 version fixed bin, 5 90 2 lines_needed fixed bin, 5 91 2 width_needed fixed bin, 5 92 2 n_options fixed bin; 5 93 5 94 dcl menu_format_ptr pointer; 5 95 dcl menu_requirements_ptr pointer; 5 96 5 97 dcl (menu_format_version_1, menu_requirements_version_1) 5 98 fixed bin internal static init (1) options (constant); 5 99 5 100 dcl MENU_OPTION_KEYS (35) char (1) unal internal static 5 101 options (constant) init 5 102 ("1", "2", "3", "4", "5", "6", "7", "8", "9", 5 103 "A", "B", "C", "D", "E", "F", "G", "H", "I", 5 104 "J", "K", "L", "M", "N", "O", "P", "Q", "R", 5 105 "S", "T", "U", "V", "W", "X", "Y", "Z"); 5 106 5 107 /* END INCLUDE FILE ... menu_dcls.incl.pl1 */ 369 370 6 1 /* BEGIN INCLUDE FILE xforum_error_info 84-06-19 Davids */ 6 2 6 3 dcl 01 xforum_error_info based, 6 4 02 name char (32), 6 5 02 entry char (32), 6 6 02 doing char (100), 6 7 02 code fixed bin (35), 6 8 02 reason char (512); 6 9 6 10 /* END INCLUDE FILE xforum_error_info */ 371 372 7 1 /* START OF: xforum_meeting_info.incl.pl1 * * * * * */ 7 2 7 3 7 4 7 5 /****^ HISTORY COMMENTS: 7 6* 1) change(84-05-03,Davids), approve(84-05-03,MCR7350), 7 7* audit(86-04-24,Gilcrease), install(86-04-24,MR12.0-1048): 7 8* Changed the length of name from 20 characters to 32 characters. 7 9* Version 2 forum names can be 26 characters long (forum suffix) - 7 10* and a little extra incase version 3 uses a shorter suffix yet. 7 11* 7 12* 84-10-03 Davids: added the unread_count, next_unread, and 7 13* seen_map_ptr elements. Also the declaration for the 7 14* seen_map_string and seen_map. 7 15* 7 16* 85-01-24 Davids: added the set_array_ptr to the 7 17* xforum_meeting_info structure and the set_array structure and 7 18* SET_ARRAY_SPEC_LEN variable. 7 19* 2) change(86-02-17,LJAdams), approve(86-02-17,MCR7350), 7 20* audit(86-04-24,Gilcrease), install(86-04-24,MR12.0-1048): 7 21* Added restref flag. 7 22* END HISTORY COMMENTS */ 7 23 7 24 declare 1 xforum_meeting_info based (xforum_meeting_info_ptr), 7 25 2 name char (32), 7 26 2 lidx fixed bin, 7 27 2 idx fixed bin, 7 28 2 current fixed bin, 7 29 2 last_seen fixed bin, 7 30 2 first_trans fixed bin, 7 31 2 last_trans fixed bin, 7 32 2 new_trans fixed bin, 7 33 2 flags unal, 7 34 3 all bit (1), 7 35 3 allref bit (1), 7 36 3 restref bit (1), 7 37 3 new bit (1), 7 38 3 range bit (1), 7 39 3 set bit (1), 7 40 2 current_ref fixed bin, 7 41 2 low fixed bin, 7 42 2 high fixed bin, 7 43 2 trans_struct_ptr ptr, 7 44 2 next_unread fixed bin, 7 45 2 unread_count fixed bin, 7 46 2 seen_map_ptr ptr, 7 47 2 set_array_ptr ptr; 7 48 7 49 dcl seen_map_string bit (1000000) based; 7 50 dcl seen_map (1000000) bit (1) unaligned based; 7 51 7 52 dcl 01 set_array based (xforum_meeting_info.set_array_ptr), 7 53 02 number fixed bin, 7 54 02 spec char (80) varying, 7 55 02 index (100000); 7 56 7 57 dcl SET_ARRAY_SPEC_LEN fixed bin init (80) internal static options (constant); 7 58 7 59 /* END OF: xforum_meeting_info.incl.pl1 * * * * * */ 373 374 8 1 /* START OF: xforum_meeting_list.incl.pl1 * * * * * */ 8 2 8 3 /* 8 4* 84-03-27 Davids: added the forum_version element 8 5* 8 6* 84-05-03 Davids: Changed the length of long_name and short_name from 8 7* 24 characters to 32 characters. Version 2 forum names can be 26 characters 8 8* long (forum suffix) - and a little extra incase version 3 uses a shorter 8 9* suffix yet. 8 10* 8 11* 84-09-24 Davids: Added the date_time, npath, and path elements. 8 12**/ 8 13 8 14 declare 1 xforum_meeting_list aligned 8 15 based (xforum_meeting_list_ptr), 8 16 2 date_time fixed bin (71), 8 17 2 no_selected fixed bin, 8 18 2 no_participant fixed bin, 8 19 2 no_changed fixed bin, 8 20 2 current_selected fixed bin, 8 21 2 current_participant fixed bin, 8 22 2 current_changed fixed bin, 8 23 2 forums (0 refer 8 24 (xforum_meeting_list.no_selected)), 8 25 3 long_name char (32) unaligned, 8 26 3 short_name char (32) unaligned, 8 27 3 directory char (168) unaligned, 8 28 3 forum_version fixed bin, 8 29 3 chairman char (32) unaligned, 8 30 3 uid bit (36) aligned, 8 31 3 flags unaligned, 8 32 4 eligible bit (1), 8 33 4 removed bit (1), 8 34 4 notify bit (1), 8 35 4 participant bit (1), 8 36 4 two_names bit (1), 8 37 4 read_only bit (1), 8 38 4 attended bit (1), 8 39 4 changed bit (1), 8 40 4 been_to bit (1), 8 41 4 mbz bit (27), 8 42 2 npaths fixed bin, 8 43 2 paths (0 refer (xforum_meeting_list.npaths)) 8 44 char (168) varying; 8 45 8 46 /* END OF: xforum_meeting_list.incl.pl1 * * * * * */ 375 376 9 1 /* START OF: xforum_ptr_struct_.incl.pl1 * * * * * */ 9 2 9 3 declare 1 xforum_ptr_struct_ external static, 9 4 2 xforum_meeting_list_ptr ptr, 9 5 2 xforum_meeting_info_ptr ptr, 9 6 2 xforum_trans_array_ptr ptr, 9 7 2 xforum_system_area_ptr ptr; 9 8 9 9 /* END OF: xforum_ptr_struct_.incl.pl1 * * * * * */ 377 378 10 1 /* BEGIN INCLUDE FILE xforum_spy 84-06-19 NSDavids */ 10 2 10 3 10 4 10 5 /****^ HISTORY COMMENTS: 10 6* 1) change(85-01-01,Davids), approve(85-01-01,MCR7350), 10 7* audit(86-04-24,Gilcrease), install(86-04-24,MR12.0-1048): 10 8* Modified to include personalization and subject selection. 10 9* END HISTORY COMMENTS */ 10 10 10 11 10 12 dcl 01 spy based (spy_ptr), 10 13 02 version char (8), 10 14 02 user_name char (32), 10 15 02 date_time char (32), 10 16 02 args char (80), 10 17 02 eligible fixed bin, 10 18 02 attending fixed bin, 10 19 02 changed fixed bin, 10 20 02 count fixed bin, 10 21 02 choices (0 refer (count)), 10 22 03 at fixed bin, 10 23 03 choice char (10); 10 24 10 25 10 26 dcl spy_ptr ptr; 10 27 dcl SPY_VERSION_1 char (8) init ("spy_0001"); 10 28 10 29 dcl SPY_AT_1 fixed bin init (1) internal static options (constant); 10 30 /* At Executive Forum Main menu */ 10 31 dcl SPY_AT_2 fixed bin init (2) internal static options (constant); 10 32 /* Requesting Help */ 10 33 dcl SPY_AT_3 fixed bin init (3) internal static options (constant); 10 34 /* At General Help menu */ 10 35 dcl SPY_AT_4 fixed bin init (4) internal static options (constant); 10 36 /* At query for a meeting name to goto */ 10 37 dcl SPY_AT_5 fixed bin init (5) internal static options (constant); 10 38 /* At menu of meeting names */ 10 39 dcl SPY_AT_6 fixed bin init (6) internal static options (constant); 10 40 /* At query for a meeting name to resign from */ 10 41 dcl SPY_AT_7 fixed bin init (7) internal static options (constant); 10 42 /* At Attending Meeting menu */ 10 43 dcl SPY_AT_8 fixed bin init (8) internal static options (constant); 10 44 /* At replying to a transaction */ 10 45 dcl SPY_AT_9 fixed bin init (9) internal static options (constant); 10 46 /* At entering a new transaction */ 10 47 dcl SPY_AT_10 fixed bin init (10) internal static options (constant); 10 48 /* At query for a transaction specifier */ 10 49 dcl SPY_AT_11 fixed bin init (11) internal static options (constant); 10 50 /* At query to check for changed meetings */ 10 51 dcl SPY_AT_12 fixed bin init (12) internal static options (constant); 10 52 /* At Getting Started menu */ 10 53 dcl SPY_AT_13 fixed bin init (13) internal static options (constant); 10 54 /* Meeting list update query, change in number of search paths */ 10 55 dcl SPY_AT_14 fixed bin init (14) internal static options (constant); 10 56 /* Meeting list update query, change in search paths listed */ 10 57 dcl SPY_AT_15 fixed bin init (15) internal static options (constant); 10 58 /* Copy Comments file name query */ 10 59 dcl SPY_AT_16 fixed bin init (16) internal static options (constant); 10 60 /* At Personalization menu */ 10 61 dcl SPY_AT_17 fixed bin init (17) internal static options (constant); 10 62 /* Personalizing an item prompt */ 10 63 dcl SPY_AT_18 fixed bin init (18) internal static options (constant); 10 64 /* string search prompt for comment selection */ 10 65 dcl SPY_AT_19 fixed bin init (19) internal static options (constant); 10 66 /* subject selection */ 10 67 10 68 dcl SPY_LOCATION (19) char (20) varying init ( 10 69 "XForum Main menu", 10 70 "Requesting Help", 10 71 "General Help menu", 10 72 "Meeting to goto?", 10 73 "Meeting names menu", 10 74 "Meeting to resign?", 10 75 "Meeting menu", 10 76 "Repling", 10 77 "Talking", 10 78 "Trans. spec?", 10 79 "Check changed mtgs", 10 80 "Getting Started", 10 81 "List update, num", 10 82 "List update, list", 10 83 "Copy to file name", 10 84 "Personalizing menu", 10 85 "Personalizing prompt", 10 86 "String search prompt", 10 87 "Subject selection") internal static options (constant); 10 88 10 89 /* END INCLUDE FILE xforum_spy */ 379 380 11 1 /* START OF: xforum_windows.incl.pl1 * * * * * */ 11 2 11 3 /* structures for windows used by xforum - Deryk Barker January 1984 */ 11 4 11 5 dcl 1 xforum_windows aligned external static, 11 6 2 (status, menu, bottom, orig_user_io, help_line) aligned like xforum_window_info; 11 7 11 8 dcl 1 xforum_window_info, 11 9 2 iocb ptr, 11 10 2 position aligned like window_position_info; 11 11 12 1 /* BEGIN INCLUDE FILE ... window_control_info.incl.pl1 JRD */ 12 2 /* format: style3 */ 12 3 12 4 /* Modified 26 January 1982 by William York to add the set_more_handler 12 5* and reset_more_handler control orders. */ 12 6 /* Modified October 1982 by WMY to add set and get_token_characters, 12 7* set and get_more_prompt. */ 12 8 /* Modified February 1983 by WMY to add the line_editor_key_binding_info 12 9* structure. */ 12 10 /* Modified 30 September 1983 by Jon A. Rochlis to add the origin.column for 12 11* partial screen width windows. */ 12 12 /* Modified 9 October 1983 by JR to add version 1 window_edit_line_info. 12 13* This should be removed when window_info.incl.pl1 is created. */ 12 14 /* Modified 29 February 1984 by Barmar to add version 1 12 15* get_editor_key_bindings_info. */ 12 16 /* Modified 1 March 1984 by Barmar to add version 1 12 17* set_editor_key_bindings_info. */ 12 18 /* Modified 2 March 1984 by Barmar to upgrade to version 3 12 19* line_editor_key_bindings_info, which includes the name, description, and 12 20* info path */ 12 21 12 22 /* structure for the set_window_info and get_window_info 12 23* control orders. */ 12 24 12 25 dcl 1 window_position_info 12 26 based (window_position_info_ptr), 12 27 2 version fixed bin, 12 28 2 origin, 12 29 3 column fixed bin, 12 30 3 line fixed bin, 12 31 2 extent, 12 32 3 width fixed bin, 12 33 3 height fixed bin; 12 34 12 35 dcl (window_position_info_version, window_position_info_version_1) 12 36 fixed bin internal static init (1) options (constant); 12 37 dcl window_position_info_ptr 12 38 pointer; 12 39 12 40 /* structure for the set_window_status and get_window_status 12 41* control orders */ 12 42 12 43 declare window_status_info_ptr 12 44 pointer; 12 45 declare 1 window_status_info 12 46 aligned based (window_status_info_ptr), 12 47 2 version fixed bin, 12 48 2 status_string bit (36) aligned; /* string (window_status) */ 12 49 /* see window_status.incl.pl1 for the contents of this string */ 12 50 12 51 12 52 declare (window_status_version, window_status_version_1) 12 53 fixed bin internal static init (1) options (constant); 12 54 12 55 /* info structure for the set_more_responses and get_more_responses control 12 56* orders */ 12 57 12 58 12 59 dcl 1 more_responses_info 12 60 aligned based (more_responses_info_ptr), 12 61 2 version fixed bin, 12 62 2 n_yeses fixed bin, /* how many valid characters in the strings below */ 12 63 2 n_noes fixed bin, 12 64 2 yeses char (32) unaligned, 12 65 2 noes char (32) unaligned; 12 66 12 67 dcl (more_responses_info_version_1, more_responses_version) 12 68 fixed bin internal static init (1) options (constant); 12 69 dcl more_responses_info_ptr 12 70 pointer; 12 71 12 72 /* structure for the set_break_table and get_break_table 12 73* control orders */ 12 74 12 75 declare break_table_ptr pointer; 12 76 declare 1 break_table_info aligned based (break_table_ptr), 12 77 2 version fixed bin, 12 78 2 breaks (0:127) bit (1) unaligned; 12 79 12 80 declare (break_table_info_version, break_table_info_version_1) 12 81 fixed bin init (1) internal static options (constant); 12 82 12 83 declare 1 more_handler_info aligned based (more_handler_info_ptr), 12 84 2 version fixed bin, 12 85 2 flags unaligned, 12 86 3 old_handler_valid 12 87 bit(1), 12 88 3 pad bit(35), 12 89 2 more_handler entry (pointer, bit(1) aligned), 12 90 2 old_more_handler entry (pointer, bit(1) aligned); 12 91 12 92 declare more_handler_info_ptr pointer; 12 93 12 94 declare (more_handler_info_version, more_handler_info_version_3) 12 95 fixed bin internal static options (constant) init (3); 12 96 12 97 declare 1 token_characters_info aligned based (token_characters_info_ptr), 12 98 2 version char(8), 12 99 2 token_character_count 12 100 fixed bin, 12 101 2 token_characters 12 102 char (128) unaligned; 12 103 12 104 declare token_characters_info_ptr pointer; 12 105 12 106 declare token_characters_info_version_1 char(8) internal static options (constant) init ("wtci0001"); 12 107 12 108 declare 1 more_prompt_info aligned based (more_prompt_info_ptr), 12 109 2 version char(8), 12 110 2 more_prompt char(80); 12 111 12 112 declare more_prompt_info_ptr pointer; 12 113 12 114 declare more_prompt_info_version_1 char(8) static options (constant) init ("wsmp0001"); 12 115 12 116 /* Line editor stuff ... */ 12 117 12 118 dcl line_editor_key_binding_info_ptr 12 119 pointer; 12 120 12 121 dcl line_editor_binding_count 12 122 fixed bin; 12 123 dcl line_editor_longest_sequence 12 124 fixed bin; 12 125 /* For each binding, action defines what to do for that sequence. Constants 12 126* are defined in window_editor_values.incl.pl1. Only if action is set to 12 127* EXTERNAL_ROUTINE does the editor_routine entry variable get examined. */ 12 128 12 129 dcl 1 line_editor_key_binding_info 12 130 aligned based (line_editor_key_binding_info_ptr), 12 131 2 version char(8), 12 132 2 binding_count fixed bin, 12 133 2 longest_sequence fixed bin, 12 134 2 bindings (line_editor_binding_count refer 12 135 (line_editor_key_binding_info.binding_count)), 12 136 3 sequence char(line_editor_longest_sequence refer 12 137 (line_editor_key_binding_info.longest_sequence)) varying, 12 138 3 action fixed bin, 12 139 3 numarg_action fixed binary, 12 140 3 editor_routine entry (pointer, fixed bin(35)), 12 141 3 name char (64) varying unaligned, 12 142 3 description char (256) varying unaligned, 12 143 3 info_path unaligned, 12 144 4 info_dir char (168), 12 145 4 info_entry char (32); 12 146 12 147 12 148 dcl line_editor_key_binding_info_version_3 12 149 char(8) static options (constant) init ("lekbi003"); 12 150 12 151 dcl 1 get_editor_key_bindings_info aligned based (get_editor_key_bindings_info_ptr), 12 152 2 version char (8), 12 153 2 flags, 12 154 3 entire_state bit (1) unaligned, 12 155 3 mbz bit (35) unaligned, 12 156 2 key_binding_info_ptr ptr, 12 157 2 entire_state_ptr ptr; 12 158 12 159 dcl get_editor_key_bindings_info_ptr ptr; 12 160 dcl get_editor_key_bindings_info_version_1 char (8) int static options (constant) init ("gekbi_01"); 12 161 12 162 dcl 1 set_editor_key_bindings_info aligned 12 163 based (set_editor_key_bindings_info_ptr), 12 164 2 version char (8), 12 165 2 flags, 12 166 3 replace bit (1) unaligned, 12 167 3 update bit (1) unaligned, 12 168 3 mbz bit (34) unaligned, 12 169 2 key_binding_info_ptr ptr; 12 170 12 171 dcl set_editor_key_bindings_info_ptr ptr; 12 172 dcl set_editor_key_bindings_info_version_1 char (8) int static options (constant) init ("sekbi_01"); 12 173 12 174 /* This should be moved to window_info.incl.pl1 when that include file is 12 175* created. JR 2/1/84 */ 12 176 12 177 dcl 1 window_edit_line_info 12 178 based (window_edit_line_info_ptr), 12 179 2 version char (8), 12 180 2 line_ptr ptr, 12 181 2 line_length fixed bin (21); /* later we will hack initial cursor position, key bindings, etc. */ 12 182 12 183 dcl window_edit_line_info_version_1 12 184 char (8) static options (constant) init ("wedl0001"); 12 185 12 186 dcl window_edit_line_info_ptr 12 187 ptr; 12 188 12 189 /* END INCLUDE FILE window_control_info.incl.pl1 */ 11 12 11 13 11 14 /* END OF: xforum_windows.incl.pl1 * * * * * */ 381 382 13 1 /* BEGIN INCLUDE FILE xforum_answers.incl.pl1 */ 13 2 13 3 13 4 /****^ HISTORY COMMENTS: 13 5* 1) change(87-04-13,LJAdams), approve(87-04-30,MCR7684), 13 6* audit(87-07-30,Blair), install(87-08-06,MR12.1-1065): 13 7* Created. 13 8* END HISTORY COMMENTS */ 13 9 13 10 dcl 1 answer_array, 13 11 2 N fixed bin, /* Number of acceptable answers; 0 = all */ 13 12 2 max_length fixed bin, /* max length user reply can be */ 13 13 2 answer (10) char (80) varying; 13 14 13 15 13 16 dcl ZERO fixed bin internal static options (constant) init (0), 13 17 ONE fixed bin internal static options (constant) init (1), 13 18 FOUR fixed bin internal static options (constant) init (4); 13 19 13 20 13 21 /* END INCLUDE FILE xforum_answers .incl.pl1 */ 383 384 385 386 14 1 /* BEGIN INCLUDE FILE xforum_prompts.incl.pl1 */ 14 2 14 3 14 4 /****^ HISTORY COMMENTS: 14 5* 1) change(87-04-13,LJAdams), approve(87-07-24,MCR7684), 14 6* audit(87-07-24,Blair), install(87-08-06,MR12.1-1065): 14 7* Created. 14 8* END HISTORY COMMENTS */ 14 9 14 10 dcl (BREAK_PROMPT char (34) init ("Press BREAK to return to the menu."), 14 11 COMMENTS_PROMPT char (40) init ("Which comment(s) do you wish to select? "), 14 12 COMMENT_PROMPT char (37) init ("Which comment do you wish to select? "), 14 13 FILE_PROMPT char (28) init ("Enter the name of the file: "), 14 14 FIRST_PROMPT char (80) init ("Enter the command and press RETURN (to return to Xforum just press RETURN):"), 14 15 RETURN_PROMPT char (46) init (" Press to continue"), 14 16 TEXT_PROMPT char (31) init ("Enter text to be searched for: ")) 14 17 internal static options (constant); 14 18 14 19 14 20 /* END INCLUDE FILE xforum_prompts.incl.pl1 */ 388 389 15 1 /* BEGIN INCLUDE FILE xforum_help_infos.incl.pl1 */ 15 2 15 3 15 4 /****^ HISTORY COMMENTS: 15 5* 1) change(87-04-13,LJAdams), approve(87-07-24,MCR7684), 15 6* audit(87-07-24,Blair), install(87-08-06,MR12.1-1065): 15 7* Created. 15 8* END HISTORY COMMENTS */ 15 9 15 10 dcl (GETTING_STARTED_HELP char (27) init ("xforum_getting_started.info"), 15 11 PROMPT_HELP char (18) init ("xforum_prompt"), 15 12 FUNCTION_KEY_HELP char (25) init ("xforum_function_keys.info"), 15 13 MENU_OPTION_HELP char (23) init ("xforum_menu_option.info")) 15 14 internal static options (constant); 15 15 15 16 15 17 /* END INCLUDE FILE xforum_help_infos.incl.pl1 */ 390 391 392 393 call attend_a_meeting (xsamm_curr_meeting_index, xsamm_match_bits, xsamm_more, xsamm_spy_ptr); 394 do while (xsamm_more); 395 xsamm_next_mtg_index = xforum_main_options$index_of_next_meeting (xsamm_match_bits, xsamm_spy_ptr); 396 call attend_a_meeting (xsamm_next_mtg_index, xsamm_match_bits, xsamm_more, xsamm_spy_ptr); 397 end; 398 399 call window_$clear_window (xforum_windows.bottom.iocb, (0)); 400 call window_$clear_window (xforum_windows.menu.iocb, (0)); 401 402 return; 403 404 attend_a_meeting: proc (aam_midx, aam_match_bits, aam_more, aam_spy_ptr); 405 406 dcl aam_subject char (256); 407 dcl aam_match_bits bit (36) aligned; 408 dcl aam_midx fixed bin; 409 dcl aam_more bit (1) aligned; 410 dcl aam_chairman_msg_exists bit (1) aligned init (FALSE); 411 dcl aam_print_chairman_msg bit (1) aligned init (FALSE); 412 dcl aam_chairman_msg char (256); 413 dcl aam_fidx fixed bin; 414 dcl aam_type fixed bin; 415 dcl aam_meeting_type (3) char (9) varying 416 init ("Eligible ", "Changed ", "Attended "); 417 dcl aam_headers (1) char (44) varying; 418 /* control strings */ 419 dcl aam_total_ctl char (9) init ("Total: ^d"); 420 dcl aam_new_ctl char (10) init ("Unread: ^d"); 421 dcl aam_current_ctl char (23) init ("Current Subject: ^a:^i"); 422 dcl aam_choices (14) char (40) varying 423 init ( 424 "Display Unread Comment(s)", 425 "Display Current Comment", 426 "Display Next Comment", 427 "Display Previous Comment", 428 "Display All Comments", 429 "Reply To Current Comment", 430 "Next Subject With Unread Comments", 431 "Select Subject", 432 "Start New Discussion", 433 "Copy Current Subject", 434 "Skip Rest of Current Subject", 435 "Select/Display Comment Number", 436 "", 437 "Meeting Maintenance"); 438 dcl aam_mtg_menu_height fixed bin init (8); 439 dcl aam_menu_window_height fixed bin; 440 dcl 1 aam_mtg_requirements like menu_requirements; 441 dcl aam_mtg_menu_ptr ptr init (null); 442 dcl aam_code fixed bin (35); 443 dcl aam_spy_ptr ptr; 444 dcl aam_current_menu_ptr ptr; 445 dcl aam_fkey bit (1) aligned; 446 dcl aam_choice fixed bin; 447 dcl aam_multics_mode bit (1); 448 449 /* CONSTANTS */ 450 451 dcl ( 452 aam_FIRST_MENU fixed bin init (2), 453 aam_FIRST_MENU2 fixed bin init (9), 454 aam_HELP fixed bin init (1), 455 aam_MULTICS fixed bin init (8), 456 aam_MULTICS2 fixed bin init (15), 457 aam_PREV_MENU fixed bin init (3), 458 aam_PREV_MENU2 fixed bin init (10), 459 aam_QUIT fixed bin init (4), 460 aam_QUIT2 fixed bin init (11), 461 aam_READ_ONLY_MESSAGE char (150) init ( 462 "You are not allowed to enter comments in this meeting." || 463 "^/Send mail to ^a for an explanation and/or a change in status."), 464 aam_REDISPLAY fixed bin init (5), 465 aam_REDISPLAY2 fixed bin init (12), 466 aam_REPLY bit (1) aligned init ("1"b), 467 aam_TALK bit (1) aligned init ("0"b) 468 ) internal static options (constant); 469 470 aam_more = "0"b; 471 472 if aam_midx < 1 | aam_midx > no_selected 473 then return; 474 475 spy_ptr = aam_spy_ptr; 476 477 aam_multics_mode = xforum_user_profile$get_multics_mode (); 478 479 on quit 480 begin; 481 call xforum_window_mgr$check_window_status; 482 call window_$bell (xforum_windows.menu.iocb, (0)); 483 call xforum_help_line_$change ("10110000"b, "Leave Meeting", "", ""); 484 call xforum_status_$redisplay ((0)); 485 call collect_spy_data (SPY_AT_7, "QUIT"); 486 xforum_meeting_info.current = 0; 487 goto meeting_get_choice; 488 end; 489 490 on cleanup 491 begin; 492 if aam_fidx ^= -1 then do; 493 xforum_meeting_info.current = 0; 494 call xforum_attend_mtg_utilities$close_meeting (xforum_meeting_info_ptr, 495 xforum_meeting_list_ptr, aam_midx, aam_fidx, aam_mtg_menu_ptr); 496 end; 497 end; 498 499 call xforum_attend_mtg_utilities$set_up_meeting (xforum_meeting_list_ptr, xforum_meeting_info_ptr, aam_midx, "1"b, 500 aam_fidx, aam_subject, aam_chairman_msg); 501 if aam_fidx = 0 502 then return; 503 504 if aam_match_bits = ALL then 505 aam_type = GET_ELIGIBLE; 506 else if aam_match_bits = CHANGED then 507 aam_type = GET_ATTENDED; 508 else if aam_match_bits = PARTICIPANT then 509 aam_type = GET_CHANGED; 510 511 aam_headers (1) = "Attending " || rtrim (xforum_meeting_info.name) || " meeting"; 512 call xforum_status_$update_title ((aam_headers (1))); 513 514 aam_choices (13) = "Go To Next " || aam_meeting_type (aam_type) || "Meeting"; 515 516 call xforum_attend_mtg_utilities$update_status (xforum_meeting_info_ptr, 517 0, aam_subject, 0, aam_fidx); 518 call xforum_window_mgr$resynch_windows (aam_mtg_menu_height, "1"b); 519 520 aam_mtg_requirements.version = menu_requirements_version_1; 521 522 call xforum_create_menu_ (aam_choices, addr (aam_mtg_requirements), aam_mtg_menu_ptr, aam_code); 523 if aam_code ^= 0 then do; 524 call com_err_$suppress_name (aam_code, ME, "Trying to create meeting menu."); 525 goto exit_attend_a_meeting; 526 end; 527 528 call xforum_window_mgr$menu_display (aam_mtg_menu_ptr); 529 530 on xforum_redisplay_menu 531 call xforum_window_mgr$menu_display (aam_mtg_menu_ptr); /* for redisplay function */ 532 533 if rtrim (aam_chairman_msg) ^= "" 534 then call ioa_ ("^a", aam_chairman_msg); 535 536 aam_current_menu_ptr = aam_mtg_menu_ptr; 537 538 /* get choice */ 539 540 meeting_get_choice: 541 do while (ON); 542 call xforum_window_mgr$menu_get_choice (aam_mtg_menu_ptr, aam_fkey, aam_choice); 543 544 if aam_fkey 545 then call collect_spy_data (SPY_AT_7, "F" || rtrim (ltrim (char (aam_choice)))); 546 else call collect_spy_data (SPY_AT_7, rtrim (ltrim (char (aam_choice)))); 547 548 if aam_fkey then 549 if aam_choice = aam_HELP 550 then do; 551 call xforum_help_$get_help (aam_mtg_menu_ptr, "Meeting", aam_choices, 552 spy_ptr, xforum_system_area_ptr); 553 call xforum_status_$update_title ((aam_headers (1))); 554 call xforum_attend_mtg_utilities$update_status (xforum_meeting_info_ptr, 555 0, aam_subject, 0, aam_fidx); 556 call xforum_status_$redisplay ((0)); 557 call xforum_window_mgr$resynch_windows (aam_mtg_menu_height, "0"b); 558 call xforum_window_mgr$menu_display (aam_mtg_menu_ptr); 559 end; 560 else if aam_choice = aam_FIRST_MENU | aam_choice = aam_FIRST_MENU2 561 then goto exit_attend_a_meeting; 562 else if aam_choice = aam_PREV_MENU | aam_choice = aam_PREV_MENU2 563 then goto exit_attend_a_meeting; 564 else if aam_choice = aam_QUIT | aam_choice = aam_QUIT2 565 then do; 566 xforum_meeting_info.current = 0; 567 call xforum_attend_mtg_utilities$close_meeting (xforum_meeting_info_ptr, 568 xforum_meeting_list_ptr, aam_midx, aam_fidx, aam_mtg_menu_ptr); 569 signal exit_executive_forum; 570 end; 571 else if aam_choice = aam_REDISPLAY | aam_choice = aam_REDISPLAY2 572 then call xforum_redisplay_; 573 else if (aam_choice = aam_MULTICS | aam_choice = aam_MULTICS2) & aam_multics_mode 574 then do; 575 call xforum_multics_mode (aam_menu_window_height); 576 call xforum_window_mgr$resynch_windows (aam_menu_window_height, "0"b); 577 call xforum_attend_mtg_utilities$update_status (xforum_meeting_info_ptr, 578 0, aam_subject, 0, aam_fidx); 579 call xforum_window_mgr$menu_display (aam_mtg_menu_ptr); 580 goto meeting_get_choice; 581 end; 582 else call window_$bell (xforum_windows.menu.iocb, (0)); 583 else do; 584 if aam_choice = DISPLAY_UNREAD 585 then call display_unread (aam_fidx, forums (aam_midx).forum_version); 586 else 587 if aam_choice = DISPLAY_CURRENT 588 then call display_current (aam_fidx, forums (aam_midx).forum_version); 589 else 590 if aam_choice = DISPLAY_NEXT 591 then call display_next (aam_fidx, forums (aam_midx).forum_version); 592 else 593 if aam_choice = DISPLAY_PREV 594 then call display_previous (aam_fidx, forums (aam_midx).forum_version); 595 else 596 if aam_choice = DISPLAY_ALL 597 then call display_all (aam_fidx, forums (aam_midx).forum_version); 598 else 599 if aam_choice = REPLY 600 then do; 601 if ^forums (aam_midx).flags.read_only 602 then do; 603 call xforum_attend_mtg_utilities$enter_trans (xforum_meeting_info_ptr, aam_fidx, spy_ptr, aam_REPLY, "1"b); 604 aam_current_menu_ptr = null (); 605 end; 606 else do; 607 call window_$clear_window (xforum_windows.bottom.iocb, (0)); 608 call ioa_ (aam_READ_ONLY_MESSAGE, forums (aam_midx).chairman); 609 end; 610 end; 611 else 612 if aam_choice = NEXT_SUBJ_UNREAD 613 then call next_subject (aam_fidx, forums (aam_midx).forum_version, aam_subject); 614 else 615 if aam_choice = GET_SUBJECT 616 then do; 617 call select_subject (spy_ptr); 618 call display_current (aam_fidx, forums (aam_midx).forum_version); 619 end; 620 else 621 if aam_choice = TALK 622 then do; 623 if ^forums (aam_midx).flags.read_only 624 then do; 625 call xforum_attend_mtg_utilities$enter_trans (xforum_meeting_info_ptr, aam_fidx, spy_ptr, aam_TALK, "1"b); 626 aam_current_menu_ptr = null (); 627 end; 628 else do; 629 call window_$clear_window (xforum_windows.bottom.iocb, (0)); 630 call ioa_ (aam_READ_ONLY_MESSAGE, forums (aam_midx).chairman); 631 end; 632 end; 633 else 634 if aam_choice = COPY_SUBJECT 635 then call copy_comments (spy_ptr, aam_fidx, forums (aam_midx).forum_version); 636 else 637 if aam_choice = SKIP_REST_SUBJ 638 then call skip_rest_of_subject (aam_fidx, forums (aam_midx).forum_version, aam_subject); 639 else 640 if aam_choice = GET_COMMENT 641 then do; 642 call select_comment (spy_ptr, aam_subject); 643 call display_current (aam_fidx, forums (aam_midx).forum_version); 644 end; 645 else 646 if aam_choice = GET_NEXT_MTG 647 then do; 648 xforum_meeting_info.current = 0; 649 call xforum_attend_mtg_utilities$close_meeting (xforum_meeting_info_ptr, 650 xforum_meeting_list_ptr, aam_midx, aam_fidx, aam_mtg_menu_ptr); 651 aam_more = "1"b; 652 return; 653 end; 654 else 655 if aam_choice = MTG_MAINTENANCE 656 then call meeting_maintenance; 657 end; 658 659 call iox_$control (xforum_windows.bottom.iocb, "reset_more", 660 null, (0)); /* get back in step */ 661 662 if aam_current_menu_ptr ^= aam_mtg_menu_ptr 663 then do; 664 call xforum_window_mgr$resynch_windows (aam_mtg_menu_height, "1"b); 665 call window_$clear_window (xforum_windows.bottom.iocb, (0)); 666 call xforum_status_$update_title ((aam_headers (1))); 667 call xforum_attend_mtg_utilities$update_status (xforum_meeting_info_ptr, 668 0, aam_subject, 0, aam_fidx); 669 call xforum_window_mgr$menu_display (aam_mtg_menu_ptr); 670 671 aam_current_menu_ptr = aam_mtg_menu_ptr; 672 end; 673 end; 674 675 exit_attend_a_meeting: 676 xforum_meeting_info.current = 0; 677 call xforum_attend_mtg_utilities$close_meeting (xforum_meeting_info_ptr, 678 xforum_meeting_list_ptr, aam_midx, aam_fidx, aam_mtg_menu_ptr); 679 680 end attend_a_meeting; 681 682 display_unread: proc (du_fidx, du_version); 683 684 /* PARAMETERS */ 685 686 dcl du_fidx fixed bin; 687 dcl du_version fixed bin; 688 689 /* AUTOMATIC */ 690 691 dcl du_code fixed bin (35); 692 dcl du_is_first bit (1) aligned; 693 694 call window_$clear_window (xforum_windows.bottom.iocb, (0)); 695 696 du_code = 0; 697 du_is_first = "1"b; 698 699 xforum_meeting_info.flags.allref = "1"b; 700 xforum_meeting_info.current_ref = xforum_meeting_info.current; 701 702 call xforum_get_selected_trans$first (xforum_meeting_info_ptr, forum_user_trans_ptr, du_code); 703 do while (du_code ^= forum_error_table_$invalid_trans_idx); 704 if du_code = 0 705 then do; 706 if xforum_meeting_info.seen_map_ptr -> seen_map (forum_user_trans.trans_no) 707 then free forum_user_trans; 708 else do; 709 xforum_meeting_info.current = forum_user_trans.trans_no; 710 call xforum_attend_mtg_utilities$update_status 711 (xforum_meeting_info_ptr, forum_user_trans.trans_no, forum_user_trans.subject, du_version, du_fidx); 712 call xforum_format_$display (forum_user_trans_ptr, du_is_first, du_code); 713 du_is_first = "0"b; 714 end; 715 end; 716 call xforum_get_selected_trans$next (xforum_meeting_info_ptr, forum_user_trans_ptr, du_code); 717 end; 718 719 xforum_meeting_info.flags.allref = "0"b; 720 721 if du_is_first 722 then call ioa_ ("All comments on this subject have been read"); 723 724 return; 725 726 end display_unread; 727 728 display_current: proc (dc_fidx, dc_version); 729 730 /* PARAMETERS */ 731 732 dcl dc_fidx fixed bin; 733 dcl dc_version fixed bin; 734 735 /* AUTOMATIC */ 736 737 dcl dc_code fixed bin (35); 738 739 call window_$clear_window (xforum_windows.bottom.iocb, (0)); 740 741 dc_code = 0; 742 743 call xforum_trans_$read (xforum_meeting_info.current, forum_user_trans_ptr, dc_code); 744 if dc_code ^= 0 745 then call com_err_$suppress_name (dc_code, ME, "Could not read current comment"); 746 else do; 747 call xforum_attend_mtg_utilities$update_status 748 (xforum_meeting_info_ptr, forum_user_trans.trans_no, forum_user_trans.subject, dc_version, dc_fidx); 749 call xforum_format_$display (forum_user_trans_ptr, "1"b, dc_code); 750 end; 751 752 return; 753 754 end display_current; 755 756 display_next: proc (dn_fidx, dn_version); 757 758 /* PARAMETERS */ 759 760 dcl dn_fidx fixed bin; 761 dcl dn_version fixed bin; 762 763 /* AUTOMATIC */ 764 765 dcl dn_code fixed bin (35); 766 767 call window_$clear_window (xforum_windows.bottom.iocb, (0)); 768 769 dn_code = 0; 770 771 call xforum_trans_$next_ref (xforum_meeting_info.current, forum_user_trans_ptr, dn_code); 772 if dn_code = forum_error_table_$invalid_trans_idx 773 then call ioa_ ("There is no next comment on this subject."); 774 else 775 if dn_code ^= 0 776 then call com_err_$suppress_name (dn_code, ME, "Could not read next comment"); 777 else do; 778 xforum_meeting_info.current = forum_user_trans.trans_no; 779 call xforum_attend_mtg_utilities$update_status 780 (xforum_meeting_info_ptr, forum_user_trans.trans_no, forum_user_trans.subject, dn_version, dn_fidx); 781 call xforum_format_$display (forum_user_trans_ptr, "1"b, dn_code); 782 end; 783 784 return; 785 786 end display_next; 787 788 display_previous: proc (dp_fidx, dp_version); 789 790 /* PARAMETERS */ 791 792 dcl dp_fidx fixed bin; 793 dcl dp_version fixed bin; 794 795 /* AUTOMATIC */ 796 797 dcl dp_code fixed bin (35); 798 799 call window_$clear_window (xforum_windows.bottom.iocb, (0)); 800 801 dp_code = 0; 802 803 call xforum_trans_$prev_ref (xforum_meeting_info.current, forum_user_trans_ptr, dp_code); 804 if dp_code = forum_error_table_$invalid_trans_idx 805 then call ioa_ ("There is no previous comment on this subject."); 806 else 807 if dp_code ^= 0 808 then call com_err_$suppress_name (dp_code, ME, "Could not read previous comment"); 809 else do; 810 xforum_meeting_info.current = forum_user_trans.trans_no; 811 call xforum_attend_mtg_utilities$update_status 812 (xforum_meeting_info_ptr, forum_user_trans.trans_no, forum_user_trans.subject, dp_version, dp_fidx); 813 call xforum_format_$display (forum_user_trans_ptr, "1"b, dp_code); 814 end; 815 816 return; 817 818 end display_previous; 819 820 display_all: proc (da_fidx, da_version); 821 822 /* PARAMETERS */ 823 824 dcl da_fidx fixed bin; 825 dcl da_version fixed bin; 826 827 /* AUTOMATIC */ 828 829 dcl da_code fixed bin (35); 830 dcl da_is_first bit (1) aligned; 831 832 call window_$clear_window (xforum_windows.bottom.iocb, (0)); 833 834 da_code = 0; 835 da_is_first = "1"b; 836 837 xforum_meeting_info.flags.allref = "1"b; 838 xforum_meeting_info.current_ref = xforum_meeting_info.current; 839 840 call xforum_get_selected_trans$first (xforum_meeting_info_ptr, forum_user_trans_ptr, da_code); 841 do while (da_code ^= forum_error_table_$invalid_trans_idx); 842 if da_code = 0 843 then do; 844 xforum_meeting_info.current = forum_user_trans.trans_no; 845 call xforum_attend_mtg_utilities$update_status 846 (xforum_meeting_info_ptr, forum_user_trans.trans_no, forum_user_trans.subject, da_version, da_fidx); 847 call xforum_format_$display (forum_user_trans_ptr, da_is_first, da_code); 848 da_is_first = "0"b; 849 end; 850 call xforum_get_selected_trans$next (xforum_meeting_info_ptr, forum_user_trans_ptr, da_code); 851 end; 852 853 xforum_meeting_info.flags.allref = "0"b; 854 855 return; 856 857 end display_all; 858 859 next_subject: proc (ns_fidx, ns_version, ns_subject); 860 861 /* PARAMETERS */ 862 863 dcl ns_fidx fixed bin; 864 dcl ns_version fixed bin; 865 dcl ns_subject char (256); 866 867 /* AUTOMATIC */ 868 869 dcl ns_code fixed bin (35); 870 dcl ns_old_current fixed bin; 871 872 873 874 875 ns_old_current = xforum_meeting_info.current; 876 877 call window_$clear_window (xforum_windows.bottom.iocb, (0)); 878 879 call xforum_attend_mtg_utilities$next_unread_comment (xforum_meeting_info_ptr, 880 ns_fidx, ns_version, forum_user_trans_ptr); 881 882 if forum_user_trans_ptr = null () 883 then do; 884 call ioa_ ("No unread subjects."); 885 xforum_meeting_info.current = ns_old_current; 886 call xforum_trans_$read (xforum_meeting_info.current, forum_user_trans_ptr, ns_code); 887 if forum_user_trans.subject_length <= MAX_LEN 888 then ns_subject = forum_user_trans.subject; 889 else ns_subject = substr (forum_user_trans.subject, 1, MAX_LEN); 890 call xforum_attend_mtg_utilities$update_status 891 (xforum_meeting_info_ptr, forum_user_trans.trans_no, forum_user_trans.subject, ns_version, ns_fidx); 892 free forum_user_trans; 893 end; 894 else do; 895 if forum_user_trans.subject_length <= MAX_LEN 896 then ns_subject = forum_user_trans.subject; 897 else ns_subject = substr (forum_user_trans.subject, 1, MAX_LEN); 898 call xforum_attend_mtg_utilities$update_status 899 (xforum_meeting_info_ptr, forum_user_trans.trans_no, forum_user_trans.subject, ns_version, ns_fidx); 900 call xforum_format_$display (forum_user_trans_ptr, "1"b, ns_code); 901 end; 902 903 904 return; 905 906 end next_subject; 907 908 select_subject: proc (ss_spy_ptr); 909 910 /* PARAMETERS */ 911 912 dcl ss_spy_ptr ptr; 913 914 /* AUTOMATIC */ 915 916 dcl ss_code fixed bin (35); 917 dcl ss_i fixed bin; 918 dcl ss_last_reference_ptr ptr; 919 dcl ss_old_current fixed bin; 920 dcl ss_next_trans fixed bin; 921 dcl ss_response char (256) varying; 922 dcl ss_response_len fixed bin; 923 dcl ss_seen_for_subject_ptr ptr; 924 dcl ss_selected_index fixed bin; 925 dcl ss_subject_index fixed bin; 926 dcl ss_subjects_ptr ptr; 927 dcl ss_transactions_processed fixed bin; 928 dcl ss_working_segs_ptr (3) ptr; 929 930 /* CONSTANT */ 931 932 dcl ss_NAME char (14) init ("select subject") internal static options (constant); 933 934 /* BASED */ 935 936 dcl ss_seen_for_subject (xforum_meeting_info.last_trans + 1) bit (1) unaligned based (ss_seen_for_subject_ptr); 937 dcl ss_last_reference (ss_subject_index) fixed bin based (ss_last_reference_ptr); 938 dcl ss_subjects (ss_subject_index) char (32) based (ss_subjects_ptr); 939 940 941 call window_$clear_window (xforum_windows.bottom.iocb, (0)); 942 943 call ioa_ ("Building a list of subjects, this may take a while."); 944 945 ss_old_current = xforum_meeting_info.current; 946 ss_working_segs_ptr (1) = null (); 947 ss_working_segs_ptr (2) = null (); 948 ss_working_segs_ptr (3) = null (); 949 950 call xforum_help_line_$push ("0"b, "", "Leave current subject unchanged", ""); 951 952 on quit 953 begin; 954 xforum_meeting_info.current = ss_old_current; 955 goto exit_select_subject; 956 end; 957 958 call get_temp_segments_ (ss_NAME, ss_working_segs_ptr, ss_code); 959 if ss_code ^= 0 960 then do; 961 call com_err_$suppress_name (ss_code, ss_NAME, "Could not get a segment to store subjects - aborting select subject request."); 962 goto exit_select_subject; 963 end; 964 965 966 ss_seen_for_subject_ptr = ss_working_segs_ptr (1); 967 ss_subjects_ptr = ss_working_segs_ptr (2); 968 ss_last_reference_ptr = ss_working_segs_ptr (3); 969 string (ss_seen_for_subject) = "0"b; 970 ss_subject_index = 0; 971 ss_next_trans = 1; 972 ss_transactions_processed = 0; 973 974 do while (ss_next_trans <= xforum_meeting_info.last_trans); 975 call xforum_trans_$read (ss_next_trans, forum_user_trans_ptr, ss_code); 976 if ss_code = 0 977 then do; 978 ss_transactions_processed = ss_transactions_processed + 1; 979 if mod (ss_transactions_processed, 200) = 0 980 then call transactions_processed_message (ss_transactions_processed); 981 ss_subject_index = ss_subject_index + 1; 982 if forum_user_trans.subject_length > 32 983 then ss_subjects (ss_subject_index) = substr (forum_user_trans.subject, 1, 29) || "..."; 984 else ss_subjects (ss_subject_index) = forum_user_trans.subject; 985 ss_i = index (ss_subjects (ss_subject_index), NL); 986 if ss_i ^= 0 987 then do; 988 if ss_i > 29 989 then ss_subjects (ss_subject_index) = substr (forum_user_trans.subject, 1, 29) || "..."; 990 else ss_subjects (ss_subject_index) = substr (forum_user_trans.subject, 1, ss_i - 1) || "..."; 991 end; 992 ss_seen_for_subject (ss_next_trans) = "1"b; 993 ss_last_reference (ss_subject_index) = ss_next_trans; 994 free forum_user_trans; 995 ss_i = ss_next_trans; 996 call xforum_trans_$next_ref (ss_i, forum_user_trans_ptr, ss_code); 997 do while (ss_code = 0); 998 ss_transactions_processed = ss_transactions_processed + 1; 999 if mod (ss_transactions_processed, 200) = 0 1000 then call transactions_processed_message (ss_transactions_processed); 1001 ss_seen_for_subject (forum_user_trans.trans_no) = "1"b; 1002 ss_last_reference (ss_subject_index) = forum_user_trans.trans_no; 1003 ss_i = forum_user_trans.trans_no; 1004 free forum_user_trans; 1005 call xforum_trans_$next_ref (ss_i, forum_user_trans_ptr, ss_code); 1006 end; 1007 end; 1008 1009 ss_next_trans = ss_next_trans + 1; 1010 do while (ss_seen_for_subject (ss_next_trans) & ss_next_trans <= xforum_meeting_info.last_trans); 1011 ss_next_trans = ss_next_trans + 1; 1012 end; 1013 end; 1014 1015 if xforum_user_profile$get_menu_always () 1016 then do; 1017 display_menu: 1018 call xforum_dyn_menu_$display_and_get_choice (ss_subjects, ss_subject_index, "Comment Subject Selection", 1019 "ENTER SUBJECT", "Leave current subject unchanged", SPY_AT_19, ss_spy_ptr, ss_selected_index); 1020 if ss_selected_index = -1 1021 then goto prompt_for_subject; 1022 else 1023 if ss_selected_index = 0 1024 then xforum_meeting_info.current = ss_old_current; 1025 else xforum_meeting_info.current = ss_last_reference (ss_selected_index); 1026 goto exit_select_subject; 1027 end; 1028 else do; 1029 prompt_for_subject: 1030 call xforum_dyn_menu_$prompt_instead_of_menu ("Leave current subject unchanged", "Enter Subject", "Subjects", 1031 "subjects", "select_subject", SPY_AT_19, ss_spy_ptr, ss_response); 1032 1033 if ss_response = "??" 1034 then goto display_menu; 1035 1036 ss_response_len = length (ss_response); 1037 if ss_response_len = 0 1038 then xforum_meeting_info.current = ss_old_current; 1039 else do; 1040 xforum_meeting_info.current = 0; 1041 do ss_i = 1 to ss_subject_index while (xforum_meeting_info.current = 0); 1042 if ss_response = substr (ss_subjects (ss_i), 1, ss_response_len) 1043 then xforum_meeting_info.current = ss_last_reference (ss_i); 1044 end; 1045 if xforum_meeting_info.current = 0 1046 then do; 1047 call ioa_ ("No comment chain could be found on the subject of ^a", ss_response); 1048 call ioa_ ("Please re-enter the subject or ?? for a menu of subjects"); 1049 goto prompt_for_subject; 1050 end; 1051 end; 1052 end; 1053 1054 exit_select_subject: 1055 if ss_working_segs_ptr (1) ^= null () 1056 then call release_temp_segments_ (ss_NAME, ss_working_segs_ptr, ss_code); 1057 1058 call xforum_help_line_$pop; 1059 1060 return; 1061 1062 end select_subject; 1063 1064 copy_comments: proc (cc_spy_ptr, cc_fidx, cc_version); 1065 1066 /* PARAMETERS */ 1067 1068 dcl cc_spy_ptr ptr; 1069 dcl cc_fidx fixed bin; 1070 dcl cc_version fixed bin; 1071 1072 /* AUTOMATIC */ 1073 1074 dcl cc_bc fixed bin (24); 1075 dcl cc_code fixed bin (35); 1076 dcl cc_entry_name char (32); 1077 dcl cc_number_of_comments fixed bin; 1078 dcl cc_seg_ptr ptr; 1079 1080 call xforum_attend_mtg_utilities$copy_to_name (cc_spy_ptr, cc_entry_name, cc_seg_ptr, cc_bc); 1081 if cc_seg_ptr = null () 1082 then goto exit_copy_comments; 1083 1084 cc_number_of_comments = 0; 1085 call ioa_ ("^/^/ Comments are being copied to ^a.", cc_entry_name); 1086 call xforum_help_line_$push ("0"b, "", "Return to Meeting menu", ""); 1087 1088 on quit 1089 begin; 1090 call xforum_window_mgr$check_window_status; 1091 call window_$clear_window (xforum_windows.bottom.iocb, (0)); 1092 call xforum_help_line_$pop; 1093 call collect_spy_data (SPY_AT_15, "QUIT"); 1094 goto exit_copy_comments; 1095 end; 1096 1097 xforum_meeting_info.flags.allref = "1"b; 1098 xforum_meeting_info.current_ref = xforum_meeting_info.current; 1099 1100 call xforum_get_selected_trans$first (xforum_meeting_info_ptr, forum_user_trans_ptr, cc_code); 1101 do while (cc_code ^= forum_error_table_$invalid_trans_idx); 1102 if cc_code = 0 1103 then do; 1104 cc_number_of_comments = cc_number_of_comments + 1; 1105 call xforum_attend_mtg_utilities$update_status 1106 (xforum_meeting_info_ptr, forum_user_trans.trans_no, forum_user_trans.subject, cc_version, cc_fidx); 1107 call xforum_format_$append (forum_user_trans_ptr, cc_seg_ptr, "0"b, cc_bc, cc_code); 1108 end; 1109 call xforum_get_selected_trans$next (xforum_meeting_info_ptr, forum_user_trans_ptr, cc_code); 1110 end; 1111 1112 call window_$clear_window (xforum_windows.bottom.iocb, (0)); 1113 call ioa_ ("^d comments copied to file ^a.", cc_number_of_comments, cc_entry_name); 1114 1115 exit_copy_comments: 1116 return; 1117 1118 end copy_comments; 1119 1120 skip_rest_of_subject: proc (sros_fidx, sros_version, sros_subject); 1121 1122 /* PARAMETERS */ 1123 1124 dcl sros_fidx fixed bin; 1125 dcl sros_version fixed bin; 1126 dcl sros_subject char (256); 1127 1128 /* AUTOMATIC */ 1129 1130 dcl sros_code fixed bin (35); 1131 1132 1133 1134 1135 1136 call window_$clear_window (xforum_windows.bottom.iocb, (0)); 1137 1138 call ioa_ ("Skipping rest of subject."); 1139 1140 xforum_meeting_info.flags.allref = "1"b; 1141 xforum_meeting_info.current_ref = xforum_meeting_info.current; 1142 1143 call xforum_get_selected_trans$first (xforum_meeting_info_ptr, forum_user_trans_ptr, sros_code); 1144 do while (sros_code ^= forum_error_table_$invalid_trans_idx); 1145 if sros_code = 0 1146 then do; 1147 xforum_meeting_info.current = forum_user_trans.trans_no; 1148 call xforum_attend_mtg_utilities$update_status 1149 (xforum_meeting_info_ptr, forum_user_trans.trans_no, forum_user_trans.subject, sros_version, sros_fidx); 1150 free forum_user_trans; 1151 end; 1152 call xforum_get_selected_trans$next (xforum_meeting_info_ptr, forum_user_trans_ptr, sros_code); 1153 end; 1154 1155 xforum_meeting_info.allref = "0"b; 1156 1157 call next_subject (sros_fidx, sros_version, sros_subject); 1158 1159 return; 1160 1161 end skip_rest_of_subject; 1162 1163 select_comment: proc (sc_spy_ptr, sc_subject); 1164 1165 /* PARAMETERS */ 1166 1167 dcl sc_spy_ptr ptr; 1168 dcl sc_subject char (256); 1169 1170 /* AUTOMATIC */ 1171 1172 dcl error_table_$long_record 1173 fixed bin(35) ext static; 1174 dcl sc_code fixed bin (35); 1175 dcl sc_comment_number fixed bin; 1176 dcl sc_reply char (132); 1177 dcl reply char (132) varying; 1178 1179 spy_ptr = sc_spy_ptr; 1180 1181 on quit 1182 begin; 1183 call xforum_window_mgr$check_window_status; 1184 call window_$clear_window (xforum_windows.bottom.iocb, (0)); 1185 call xforum_help_line_$pop; 1186 call xforum_status_$redisplay ((0)); 1187 call collect_spy_data (SPY_AT_10, "QUIT"); 1188 goto exit_select_comment; 1189 end; 1190 1191 call window_$clear_window (xforum_windows.bottom.iocb, (0)); 1192 1193 call xforum_help_line_$push ("0"b, "", "", QUERY_USAGE); 1194 1195 select_comment_prompt: 1196 answer_array.N = 0; /* All answers acceptable */ 1197 answer_array.max_length = MAX_LEN; /* max length of comment specifier */ 1198 call xforum_get_str_ ((COMMENT_PROMPT), addr(answer_array), PROMPT_HELP, "select_comment", reply, sc_code); 1199 1200 if sc_code = error_table_$long_record 1201 then do; 1202 call window_$clear_window (xforum_windows.bottom.iocb, (0)); 1203 call ioa_ ("^/Max length (^d) for comment specifiers exceeded - please reenter^/ (or press BREAK to return to menu).", MAX_LEN); 1204 goto select_comment_prompt; 1205 end; 1206 1207 if length(reply) = 0 1208 then call collect_spy_data (SPY_AT_10, "RETURN"); 1209 else do; 1210 if reply = "?" 1211 then call collect_spy_data (SPY_AT_10, "?"); 1212 else if verify (reply, "0123456789") ^= 0 1213 then call collect_spy_data (SPY_AT_10, "number"); 1214 else call collect_spy_data (SPY_AT_10, "ERROR"); 1215 1216 if verify (reply, "0123456789") ^= 0 1217 then do; 1218 call window_$clear_window (xforum_windows.bottom.iocb, (0)); 1219 call ioa_ ("Only a single comment number may be entered"); 1220 goto select_comment_prompt; 1221 end; 1222 1223 sc_comment_number = convert (xforum_meeting_info.current, substr (reply, 1)); 1224 call xforum_trans_$read (sc_comment_number, forum_user_trans_ptr, sc_code); 1225 if sc_code = forum_error_table_$invalid_trans_idx 1226 then do; 1227 call window_$clear_window (xforum_windows.bottom.iocb, (0)); 1228 call ioa_ ("Comment ^i does not exist.", sc_comment_number); 1229 goto select_comment_prompt; 1230 end; 1231 else 1232 if sc_code = forum_error_table_$trans_deleted | sc_code = forum_error_table_$trans_reaped 1233 then do; 1234 call window_$clear_window (xforum_windows.bottom.iocb, (0)); 1235 call ioa_ ("Comment ^i has been deleted.", sc_comment_number); 1236 goto select_comment_prompt; 1237 end; 1238 else 1239 if sc_code ^= 0 1240 then do; 1241 call window_$clear_window (xforum_windows.bottom.iocb, (0)); 1242 call ioa_ ("Comment ^i cannot be read, please choose another comment.", sc_comment_number); 1243 goto select_comment_prompt; 1244 end; 1245 else do; 1246 if forum_user_trans.subject_length <= MAX_LEN 1247 then sc_subject = forum_user_trans.subject; 1248 else sc_subject = substr (forum_user_trans.subject, 1, MAX_LEN); 1249 free forum_user_trans; 1250 xforum_meeting_info.current = sc_comment_number; 1251 end; 1252 end; 1253 1254 call xforum_help_line_$pop; 1255 1256 exit_select_comment: 1257 return; 1258 1259 end select_comment; 1260 1261 meeting_maintenance: proc; 1262 1263 1264 1265 call ioa_ ("Meeting Maintenance has not yet been implemented."); 1266 call timer_manager_$sleep (4, "11"b); 1267 1268 return; 1269 1270 end meeting_maintenance; 1271 1272 transactions_processed_message: proc (tpm_number); 1273 1274 /* PARAMETERS */ 1275 1276 dcl tpm_number fixed bin; 1277 1278 /* AUTOMATIC */ 1279 1280 dcl tpm_message char (50); 1281 1282 1283 call window_$position_cursor (iox_$user_io, 3, 22, (0)); 1284 call ioa_$rsnnl ("^d out of ^d comments processed.", tpm_message, (0), tpm_number, xforum_meeting_info.last_trans); 1285 call window_$overwrite_text (iox_$user_io, rtrim (tpm_message), (0)); 1286 call window_$sync (iox_$user_io, (0)); 1287 1288 return; 1289 1290 end transactions_processed_message; 1291 1292 collect_spy_data: proc (csd_where, csd_response); 1293 1294 dcl csd_where fixed bin; 1295 dcl csd_response char (*); 1296 1297 spy.count = spy.count + 1; 1298 spy.choices (count).at = csd_where; 1299 spy.choices (count).choice = csd_response; 1300 1301 return; 1302 1303 end collect_spy_data; 1304 1305 end xforum_sub_attend_mtg_menu; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 08/06/87 1014.9 xforum_sub_attend_mtg_menu.pl1 >special_ldd>install>MR12.1-1065>xforum_sub_attend_mtg_menu.pl1 361 1 04/11/85 1452.6 access_mode_values.incl.pl1 >ldd>include>access_mode_values.incl.pl1 363 2 12/03/84 1241.4 forum_dcls.incl.pl1 >ldd>include>forum_dcls.incl.pl1 365 3 10/31/84 1115.3 forum_flags.incl.pl1 >ldd>include>forum_flags.incl.pl1 367 4 10/31/84 1115.4 forum_user_trans.incl.pl1 >ldd>include>forum_user_trans.incl.pl1 369 5 03/27/82 0429.3 menu_dcls.incl.pl1 >ldd>include>menu_dcls.incl.pl1 371 6 12/03/84 1241.6 xforum_error_info.incl.pl1 >ldd>include>xforum_error_info.incl.pl1 373 7 04/25/86 0859.6 xforum_meeting_info.incl.pl1 >ldd>include>xforum_meeting_info.incl.pl1 375 8 12/03/84 1241.5 xforum_meeting_list.incl.pl1 >ldd>include>xforum_meeting_list.incl.pl1 377 9 12/03/84 1241.6 xforum_ptr_struct_.incl.pl1 >ldd>include>xforum_ptr_struct_.incl.pl1 379 10 04/25/86 0859.6 xforum_spy.incl.pl1 >ldd>include>xforum_spy.incl.pl1 381 11 12/03/84 1241.6 xforum_windows.incl.pl1 >ldd>include>xforum_windows.incl.pl1 11-12 12 09/12/84 0916.7 window_control_info.incl.pl1 >ldd>include>window_control_info.incl.pl1 383 13 08/06/87 1007.2 xforum_answers.incl.pl1 >special_ldd>install>MR12.1-1065>xforum_answers.incl.pl1 387 14 08/06/87 1007.2 xforum_prompts.incl.pl1 >special_ldd>install>MR12.1-1065>xforum_prompts.incl.pl1 390 15 08/06/87 1007.2 xforum_help_infos.incl.pl1 >special_ldd>install>MR12.1-1065>xforum_help_infos.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. ALL constant bit(36) initial dcl 305 ref 504 CHANGED constant bit(36) initial dcl 306 ref 506 COMMENT_PROMPT 000057 constant char(37) initial unaligned dcl 14-10 ref 1198 COPY_SUBJECT constant fixed bin(17,0) initial dcl 317 ref 633 DISPLAY_ALL constant fixed bin(17,0) initial dcl 317 ref 595 DISPLAY_CURRENT constant fixed bin(17,0) initial dcl 317 ref 586 DISPLAY_NEXT constant fixed bin(17,0) initial dcl 317 ref 589 DISPLAY_PREV constant fixed bin(17,0) initial dcl 317 ref 592 DISPLAY_UNREAD constant fixed bin(17,0) initial dcl 317 ref 584 FALSE constant bit(1) initial dcl 307 ref 410 411 GET_ATTENDED constant fixed bin(17,0) initial dcl 335 ref 506 GET_CHANGED constant fixed bin(17,0) initial dcl 335 ref 508 GET_COMMENT constant fixed bin(17,0) initial dcl 317 ref 639 GET_ELIGIBLE constant fixed bin(17,0) initial dcl 335 ref 504 GET_NEXT_MTG constant fixed bin(17,0) initial dcl 317 ref 645 GET_SUBJECT constant fixed bin(17,0) initial dcl 317 ref 614 MAX_LEN 000201 constant fixed bin(17,0) initial dcl 308 set ref 887 889 895 897 1197 1203* 1246 1248 ME 000115 constant char(26) initial unaligned dcl 309 set ref 524* 744* 774* 806* MTG_MAINTENANCE constant fixed bin(17,0) initial dcl 317 ref 654 N 000117 automatic fixed bin(17,0) level 2 dcl 13-10 set ref 1195* NEXT_SUBJ_UNREAD constant fixed bin(17,0) initial dcl 317 ref 611 NL constant char(1) initial unaligned dcl 311 ref 985 ON constant bit(1) initial dcl 313 ref 540 PARTICIPANT constant bit(36) initial dcl 314 ref 508 PROMPT_HELP 000052 constant char(18) initial unaligned dcl 15-10 set ref 1198* QUERY_USAGE 000073 constant char(69) initial unaligned dcl 315 set ref 1193* REPLY constant fixed bin(17,0) initial dcl 317 ref 598 SKIP_REST_SUBJ constant fixed bin(17,0) initial dcl 317 ref 636 SPY_AT_10 000210 constant fixed bin(17,0) initial dcl 10-47 set ref 1187* 1207* 1210* 1212* 1214* SPY_AT_15 000072 constant fixed bin(17,0) initial dcl 10-57 set ref 1093* SPY_AT_19 000071 constant fixed bin(17,0) initial dcl 10-65 set ref 1017* 1029* SPY_AT_7 000206 constant fixed bin(17,0) initial dcl 10-41 set ref 485* 544* 546* SPY_VERSION_1 000106 automatic char(8) initial unaligned dcl 10-27 set ref 10-27* TALK constant fixed bin(17,0) initial dcl 317 ref 620 aam_FIRST_MENU constant fixed bin(17,0) initial dcl 451 ref 560 aam_FIRST_MENU2 constant fixed bin(17,0) initial dcl 451 ref 560 aam_HELP constant fixed bin(17,0) initial dcl 451 ref 548 aam_MULTICS constant fixed bin(17,0) initial dcl 451 ref 573 aam_MULTICS2 constant fixed bin(17,0) initial dcl 451 ref 573 aam_PREV_MENU constant fixed bin(17,0) initial dcl 451 ref 562 aam_PREV_MENU2 constant fixed bin(17,0) initial dcl 451 ref 562 aam_QUIT constant fixed bin(17,0) initial dcl 451 ref 564 aam_QUIT2 constant fixed bin(17,0) initial dcl 451 ref 564 aam_READ_ONLY_MESSAGE 000004 constant char(150) initial unaligned dcl 451 set ref 608* 630* aam_REDISPLAY constant fixed bin(17,0) initial dcl 451 ref 571 aam_REDISPLAY2 constant fixed bin(17,0) initial dcl 451 ref 571 aam_REPLY 000211 constant bit(1) initial dcl 451 set ref 603* aam_TALK 000213 constant bit(1) initial dcl 451 set ref 625* aam_chairman_msg 000202 automatic char(256) unaligned dcl 412 set ref 499* 533 533* aam_chairman_msg_exists 000200 automatic bit(1) initial dcl 410 set ref 410* aam_choice 000617 automatic fixed bin(17,0) dcl 446 set ref 542* 544 546 546 548 560 560 562 562 564 564 571 571 573 573 584 586 589 592 595 598 611 614 620 633 636 639 645 654 aam_choices 000350 automatic varying char(40) initial array dcl 422 set ref 422* 422* 422* 422* 422* 422* 422* 422* 422* 422* 422* 422* 422* 422* 514* 522* 551* aam_code 000612 automatic fixed bin(35,0) dcl 442 set ref 522* 523 524* aam_current_ctl 000342 automatic char(23) initial unaligned dcl 421 set ref 421* aam_current_menu_ptr 000614 automatic pointer dcl 444 set ref 536* 604* 626* 662 671* aam_fidx 000302 automatic fixed bin(17,0) dcl 413 set ref 492 494* 499* 501 516* 554* 567* 577* 584* 586* 589* 592* 595* 603* 611* 618* 625* 633* 636* 643* 649* 667* 677* aam_fkey 000616 automatic bit(1) dcl 445 set ref 542* 544 548 aam_headers 000320 automatic varying char(44) array dcl 417 set ref 511* 512 553 666 aam_match_bits parameter bit(36) dcl 407 ref 404 504 506 508 aam_meeting_type 000304 automatic varying char(9) initial array dcl 415 set ref 415* 415* 415* 514 aam_menu_window_height 000603 automatic fixed bin(17,0) dcl 439 set ref 575* 576* aam_midx parameter fixed bin(17,0) dcl 408 set ref 404 472 472 494* 499* 567* 584 586 589 592 595 601 608 611 618 623 630 633 636 643 649* 677* aam_more parameter bit(1) dcl 409 set ref 404 470* 651* aam_mtg_menu_height 000602 automatic fixed bin(17,0) initial dcl 438 set ref 438* 518* 557* 664* aam_mtg_menu_ptr 000610 automatic pointer initial dcl 441 set ref 441* 494* 522* 528* 530* 536 542* 551* 558* 567* 579* 649* 662 669* 671 677* aam_mtg_requirements 000604 automatic structure level 1 unaligned dcl 440 set ref 522 522 aam_multics_mode 000620 automatic bit(1) unaligned dcl 447 set ref 477* 573 aam_new_ctl 000337 automatic char(10) initial unaligned dcl 420 set ref 420* aam_print_chairman_msg 000201 automatic bit(1) initial dcl 411 set ref 411* aam_spy_ptr parameter pointer dcl 443 ref 404 475 aam_subject 000100 automatic char(256) unaligned dcl 406 set ref 499* 516* 554* 577* 611* 636* 642* 667* aam_total_ctl 000334 automatic char(9) initial unaligned dcl 419 set ref 419* aam_type 000303 automatic fixed bin(17,0) dcl 414 set ref 504* 506* 508* 514 addr builtin function dcl 343 ref 522 522 1198 1198 allref 17(01) based bit(1) level 3 packed unaligned dcl 7-24 set ref 699* 719* 837* 853* 1097* 1140* 1155* answer_array 000117 automatic structure level 1 unaligned dcl 13-10 set ref 1198 1198 at 52 based fixed bin(17,0) array level 3 dcl 10-12 set ref 1298* bottom 20 000152 external static structure level 2 dcl 11-5 cc_bc 000100 automatic fixed bin(24,0) dcl 1074 set ref 1080* 1107* cc_code 000101 automatic fixed bin(35,0) dcl 1075 set ref 1100* 1101 1102 1107* 1109* cc_entry_name 000102 automatic char(32) unaligned dcl 1076 set ref 1080* 1085* 1113* cc_fidx parameter fixed bin(17,0) dcl 1069 set ref 1064 1105* cc_number_of_comments 000112 automatic fixed bin(17,0) dcl 1077 set ref 1084* 1104* 1104 1113* cc_seg_ptr 000114 automatic pointer dcl 1078 set ref 1080* 1081 1107* cc_spy_ptr parameter pointer dcl 1068 set ref 1064 1080* cc_version parameter fixed bin(17,0) dcl 1070 set ref 1064 1105* chairman 103 based char(32) array level 3 packed unaligned dcl 8-14 set ref 608* 630* char builtin function dcl 344 ref 544 546 546 choice 53 based char(10) array level 3 packed unaligned dcl 10-12 set ref 1299* choices 52 based structure array level 2 unaligned dcl 10-12 cleanup 000000 stack reference condition dcl 290 ref 490 com_err_$suppress_name 000020 constant entry external dcl 221 ref 524 744 774 806 961 convert builtin function dcl 345 ref 1223 count 51 based fixed bin(17,0) level 2 dcl 10-12 set ref 1297* 1297 1298 1299 csd_response parameter char unaligned dcl 1295 ref 1292 1299 csd_where parameter fixed bin(17,0) dcl 1294 ref 1292 1298 current 12 based fixed bin(17,0) level 2 dcl 7-24 set ref 486* 493* 566* 648* 675* 700 709* 743* 771* 778* 803* 810* 838 844* 875 885* 886* 945 954* 1022* 1025* 1037* 1040* 1041 1042* 1045 1098 1141 1147* 1223 1250* current_ref 20 based fixed bin(17,0) level 2 dcl 7-24 set ref 700* 838* 1098* 1141* da_code 000722 automatic fixed bin(35,0) dcl 829 set ref 834* 840* 841 842 847* 850* da_fidx parameter fixed bin(17,0) dcl 824 set ref 820 845* da_is_first 000723 automatic bit(1) dcl 830 set ref 835* 847* 848* da_version parameter fixed bin(17,0) dcl 825 set ref 820 845* dc_code 000672 automatic fixed bin(35,0) dcl 737 set ref 741* 743* 744 744* 749* dc_fidx parameter fixed bin(17,0) dcl 732 set ref 728 747* dc_version parameter fixed bin(17,0) dcl 733 set ref 728 747* dn_code 000702 automatic fixed bin(35,0) dcl 765 set ref 769* 771* 772 774 774* 781* dn_fidx parameter fixed bin(17,0) dcl 760 set ref 756 779* dn_version parameter fixed bin(17,0) dcl 761 set ref 756 779* dp_code 000712 automatic fixed bin(35,0) dcl 797 set ref 801* 803* 804 806 806* 813* dp_fidx parameter fixed bin(17,0) dcl 792 set ref 788 811* dp_version parameter fixed bin(17,0) dcl 793 set ref 788 811* du_code 000662 automatic fixed bin(35,0) dcl 691 set ref 696* 702* 703 704 712* 716* du_fidx parameter fixed bin(17,0) dcl 686 set ref 682 710* du_is_first 000663 automatic bit(1) dcl 692 set ref 697* 712* 713* 721 du_version parameter fixed bin(17,0) dcl 687 set ref 682 710* error_table_$long_record 000154 external static fixed bin(35,0) dcl 1172 ref 1200 exit_executive_forum 000000 stack reference condition dcl 291 ref 569 flags 114 based structure array level 3 in structure "xforum_meeting_list" packed unaligned dcl 8-14 in procedure "xforum_sub_attend_mtg_menu" flags 17 based structure level 2 in structure "xforum_meeting_info" packed unaligned dcl 7-24 in procedure "xforum_sub_attend_mtg_menu" forum_error_table_$invalid_trans_idx 000010 external static fixed bin(35,0) dcl 213 ref 703 772 804 841 1101 1144 1225 forum_error_table_$trans_deleted 000012 external static fixed bin(35,0) dcl 214 ref 1231 forum_error_table_$trans_reaped 000014 external static fixed bin(35,0) dcl 215 ref 1231 forum_user_trans based structure level 1 dcl 4-7 set ref 706 892 994 1004 1150 1249 forum_user_trans_ptr 000102 automatic pointer dcl 4-5 set ref 702* 706 706 709 710 710 712* 716* 743* 747 747 749* 771* 778 779 779 781* 803* 810 811 811 813* 840* 844 845 845 847* 850* 879* 882 886* 887 887 889 890 890 892 895 895 897 898 898 900* 975* 982 982 984 988 990 994 996* 1001 1002 1003 1004 1005* 1100* 1105 1105 1107* 1109* 1143* 1147 1148 1148 1150 1152* 1224* 1246 1246 1248 1249 forum_version 102 based fixed bin(17,0) array level 3 dcl 8-14 set ref 584* 586* 589* 592* 595* 611* 618* 633* 636* 643* forums 10 based structure array level 2 dcl 8-14 get_temp_segments_ 000022 constant entry external dcl 222 ref 958 index builtin function dcl 346 ref 985 ioa_ 000024 constant entry external dcl 223 ref 533 608 630 721 772 804 884 943 1047 1048 1085 1113 1138 1203 1219 1228 1235 1242 1265 ioa_$rsnnl 000026 constant entry external dcl 224 ref 1284 iocb 20 000152 external static pointer level 3 in structure "xforum_windows" dcl 11-5 in procedure "xforum_sub_attend_mtg_menu" set ref 399* 607* 629* 659* 665* 694* 739* 767* 799* 832* 877* 941* 1091* 1112* 1136* 1184* 1191* 1202* 1218* 1227* 1234* 1241* iocb 10 000152 external static pointer level 3 in structure "xforum_windows" dcl 11-5 in procedure "xforum_sub_attend_mtg_menu" set ref 400* 482* 582* iox_$control 000030 constant entry external dcl 225 ref 659 iox_$user_io 000016 external static pointer dcl 216 set ref 1283* 1285* 1286* last_trans 15 based fixed bin(17,0) level 2 dcl 7-24 set ref 969 974 1010 1284* length builtin function dcl 347 ref 1036 1207 ltrim builtin function dcl 348 ref 544 546 546 max_length 1 000117 automatic fixed bin(17,0) level 2 dcl 13-10 set ref 1197* menu 10 000152 external static structure level 2 dcl 11-5 menu_requirements based structure level 1 dcl 5-88 menu_requirements_version_1 constant fixed bin(17,0) initial dcl 5-97 ref 520 mod builtin function dcl 349 ref 979 999 name based char(32) level 2 packed unaligned dcl 7-24 ref 511 no_selected 2 based fixed bin(17,0) level 2 dcl 8-14 ref 472 ns_code 000732 automatic fixed bin(35,0) dcl 869 set ref 886* 900* ns_fidx parameter fixed bin(17,0) dcl 863 set ref 859 879* 890* 898* ns_old_current 000733 automatic fixed bin(17,0) dcl 870 set ref 875* 885 ns_subject parameter char(256) unaligned dcl 865 set ref 859 887* 889* 895* 897* ns_version parameter fixed bin(17,0) dcl 864 set ref 859 879* 890* 898* null builtin function dcl 350 ref 441 604 626 659 659 882 946 947 948 1054 1081 quit 000000 stack reference condition dcl 292 ref 479 952 1088 1181 read_only 114(05) based bit(1) array level 4 packed unaligned dcl 8-14 ref 601 623 release_temp_segments_ 000032 constant entry external dcl 226 ref 1054 reply 000102 automatic varying char(132) dcl 1177 set ref 1198* 1207 1210 1212 1216 1223 rtrim builtin function dcl 351 ref 511 533 544 546 546 1285 1285 sc_code 000100 automatic fixed bin(35,0) dcl 1174 set ref 1198* 1200 1224* 1225 1231 1231 1238 sc_comment_number 000101 automatic fixed bin(17,0) dcl 1175 set ref 1223* 1224* 1228* 1235* 1242* 1250 sc_spy_ptr parameter pointer dcl 1167 ref 1163 1179 sc_subject parameter char(256) unaligned dcl 1168 set ref 1163 1246* 1248* seen_map based bit(1) array unaligned dcl 7-50 ref 706 seen_map_ptr 30 based pointer level 2 dcl 7-24 ref 706 spy based structure level 1 unaligned dcl 10-12 spy_ptr 000104 automatic pointer dcl 10-26 set ref 475* 551* 603* 617* 625* 633* 642* 1179* 1297 1297 1298 1298 1299 1299 sros_code 000742 automatic fixed bin(35,0) dcl 1130 set ref 1143* 1144 1145 1152* sros_fidx parameter fixed bin(17,0) dcl 1124 set ref 1120 1148* 1157* sros_subject parameter char(256) unaligned dcl 1126 set ref 1120 1157* sros_version parameter fixed bin(17,0) dcl 1125 set ref 1120 1148* 1157* ss_NAME 000000 constant char(14) initial unaligned dcl 932 set ref 958* 961* 1054* ss_code 000100 automatic fixed bin(35,0) dcl 916 set ref 958* 959 961* 975* 976 996* 997 1005* 1054* ss_i 000101 automatic fixed bin(17,0) dcl 917 set ref 985* 986 988 990 995* 996* 1003* 1005* 1041* 1042 1042* ss_last_reference based fixed bin(17,0) array dcl 937 set ref 993* 1002* 1025 1042 ss_last_reference_ptr 000102 automatic pointer dcl 918 set ref 968* 993 1002 1025 1042 ss_next_trans 000105 automatic fixed bin(17,0) dcl 920 set ref 971* 974 975* 992 993 995 1009* 1009 1010 1010 1011* 1011 ss_old_current 000104 automatic fixed bin(17,0) dcl 919 set ref 945* 954 1022 1037 ss_response 000106 automatic varying char(256) dcl 921 set ref 1029* 1033 1036 1042 1047* ss_response_len 000207 automatic fixed bin(17,0) dcl 922 set ref 1036* 1037 1042 ss_seen_for_subject based bit(1) array unaligned dcl 936 set ref 969* 992* 1001* 1010 ss_seen_for_subject_ptr 000210 automatic pointer dcl 923 set ref 966* 969 992 1001 1010 ss_selected_index 000212 automatic fixed bin(17,0) dcl 924 set ref 1017* 1020 1022 1025 ss_spy_ptr parameter pointer dcl 912 set ref 908 1017* 1029* ss_subject_index 000213 automatic fixed bin(17,0) dcl 925 set ref 970* 981* 981 982 984 985 988 990 993 1002 1017 1017* 1041 ss_subjects based char(32) array unaligned dcl 938 set ref 982* 984* 985 988* 990* 1017* 1042 ss_subjects_ptr 000214 automatic pointer dcl 926 set ref 967* 982 984 985 988 990 1017 1042 ss_transactions_processed 000216 automatic fixed bin(17,0) dcl 927 set ref 972* 978* 978 979 979* 998* 998 999 999* ss_working_segs_ptr 000220 automatic pointer array dcl 928 set ref 946* 947* 948* 958* 966 967 968 1054 1054* string builtin function dcl 352 set ref 969* subject 25 based char level 2 packed unaligned dcl 4-7 set ref 710* 747* 779* 811* 845* 887 889 890* 895 897 898* 982 984 988 990 1105* 1148* 1246 1248 subject_length 22 based fixed bin(21,0) level 2 dcl 4-7 ref 706 710 710 747 747 779 779 811 811 845 845 887 887 889 890 890 892 895 895 897 898 898 982 982 984 988 990 994 1004 1105 1105 1148 1148 1150 1246 1246 1248 1249 substr builtin function dcl 353 ref 889 897 982 988 990 1042 1223 1248 text_length 23 based fixed bin(21,0) level 2 dcl 4-7 ref 706 892 994 1004 1150 1249 timer_manager_$sleep 000034 constant entry external dcl 227 ref 1266 tpm_message 000244 automatic char(50) unaligned dcl 1280 set ref 1284* 1285 1285 tpm_number parameter fixed bin(17,0) dcl 1276 set ref 1272 1284* trans_no 14 based fixed bin(17,0) level 2 dcl 4-7 set ref 706 709 710* 747* 778 779* 810 811* 844 845* 890* 898* 1001 1002 1003 1105* 1147 1148* verify builtin function dcl 354 ref 1212 1216 version 000604 automatic fixed bin(17,0) level 2 dcl 440 set ref 520* window_$bell 000036 constant entry external dcl 228 ref 482 582 window_$clear_window 000040 constant entry external dcl 229 ref 399 400 607 629 665 694 739 767 799 832 877 941 1091 1112 1136 1184 1191 1202 1218 1227 1234 1241 window_$overwrite_text 000042 constant entry external dcl 230 ref 1285 window_$position_cursor 000044 constant entry external dcl 231 ref 1283 window_$sync 000046 constant entry external dcl 233 ref 1286 window_position_info based structure level 1 unaligned dcl 12-25 xforum_attend_mtg_utilities$close_meeting 000050 constant entry external dcl 234 ref 494 567 649 677 xforum_attend_mtg_utilities$copy_to_name 000052 constant entry external dcl 236 ref 1080 xforum_attend_mtg_utilities$enter_trans 000054 constant entry external dcl 238 ref 603 625 xforum_attend_mtg_utilities$next_unread_comment 000056 constant entry external dcl 240 ref 879 xforum_attend_mtg_utilities$set_up_meeting 000060 constant entry external dcl 242 ref 499 xforum_attend_mtg_utilities$update_status 000062 constant entry external dcl 244 ref 516 554 577 667 710 747 779 811 845 890 898 1105 1148 xforum_create_menu_ 000064 constant entry external dcl 246 ref 522 xforum_dyn_menu_$display_and_get_choice 000066 constant entry external dcl 247 ref 1017 xforum_dyn_menu_$prompt_instead_of_menu 000070 constant entry external dcl 250 ref 1029 xforum_format_$append 000072 constant entry external dcl 253 ref 1107 xforum_format_$display 000074 constant entry external dcl 254 ref 712 749 781 813 847 900 xforum_get_selected_trans$first 000076 constant entry external dcl 255 ref 702 840 1100 1143 xforum_get_selected_trans$next 000100 constant entry external dcl 257 ref 716 850 1109 1152 xforum_get_str_ 000102 constant entry external dcl 259 ref 1198 xforum_help_$get_help 000104 constant entry external dcl 260 ref 551 xforum_help_line_$change 000106 constant entry external dcl 261 ref 483 xforum_help_line_$pop 000112 constant entry external dcl 264 ref 1058 1092 1185 1254 xforum_help_line_$push 000110 constant entry external dcl 263 ref 950 1086 1193 xforum_main_options$index_of_next_meeting 000114 constant entry external dcl 265 ref 395 xforum_meeting_info based structure level 1 unaligned dcl 7-24 xforum_meeting_info_ptr 2 000150 external static pointer level 2 dcl 9-3 set ref 486 493 494* 499* 511 516* 554* 566 567* 577* 603* 625* 648 649* 667* 675 677* 699 700 700 702* 706 709 710* 716* 719 743 747* 771 778 779* 803 810 811* 837 838 838 840* 844 845* 850* 853 875 879* 885 886 890* 898* 945 954 969 974 1010 1022 1025 1037 1040 1041 1042 1045 1097 1098 1098 1100* 1105* 1109* 1140 1141 1141 1143* 1147 1148* 1152* 1155 1223 1250 1284 xforum_meeting_list based structure level 1 dcl 8-14 xforum_meeting_list_ptr 000150 external static pointer level 2 dcl 9-3 set ref 472 494* 499* 567* 584 586 589 592 595 601 608 611 618 623 630 633 636 643 649* 677* xforum_multics_mode 000116 constant entry external dcl 266 ref 575 xforum_ptr_struct_ 000150 external static structure level 1 unaligned dcl 9-3 xforum_redisplay_ 000120 constant entry external dcl 267 ref 571 xforum_redisplay_menu 000000 stack reference condition dcl 293 ref 530 xforum_status_$redisplay 000124 constant entry external dcl 270 ref 484 556 1186 xforum_status_$update_title 000122 constant entry external dcl 268 ref 512 553 666 xforum_system_area_ptr 6 000150 external static pointer level 2 dcl 9-3 set ref 551* xforum_trans_$next_ref 000126 constant entry external dcl 272 ref 771 996 1005 xforum_trans_$prev_ref 000130 constant entry external dcl 273 ref 803 xforum_trans_$read 000132 constant entry external dcl 274 ref 743 886 975 1224 xforum_user_profile$get_menu_always 000134 constant entry external dcl 275 ref 1015 xforum_user_profile$get_multics_mode 000136 constant entry external dcl 277 ref 477 xforum_window_info 000110 automatic structure level 1 unaligned dcl 11-8 xforum_window_mgr$check_window_status 000140 constant entry external dcl 279 ref 481 1090 1183 xforum_window_mgr$menu_display 000142 constant entry external dcl 281 ref 528 530 558 579 669 xforum_window_mgr$menu_get_choice 000144 constant entry external dcl 283 ref 542 xforum_window_mgr$resynch_windows 000146 constant entry external dcl 285 ref 518 557 576 664 xforum_windows 000152 external static structure level 1 dcl 11-5 xsamm_curr_meeting_index parameter fixed bin(17,0) dcl 205 set ref 75 393* xsamm_match_bits parameter bit(36) dcl 206 set ref 75 393* 395* 396* xsamm_more 000101 automatic bit(1) dcl 298 set ref 393* 394 396* xsamm_next_mtg_index 000100 automatic fixed bin(17,0) dcl 297 set ref 395* 396* xsamm_spy_ptr parameter pointer dcl 207 set ref 75 393* 395* 396* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. A_ACCESS internal static bit(3) initial unaligned dcl 1-11 A_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 BREAK_PROMPT internal static char(34) initial unaligned dcl 14-10 COMMENTS_PROMPT internal static char(40) initial unaligned dcl 14-10 DIR_ACCESS_MODE_NAMES internal static char(4) initial array unaligned dcl 1-33 E_ACCESS internal static bit(3) initial unaligned dcl 1-11 E_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 FILE_PROMPT internal static char(28) initial unaligned dcl 14-10 FIRST_PROMPT internal static char(80) initial unaligned dcl 14-10 FOUR internal static fixed bin(17,0) initial dcl 13-16 FUNCTION_KEY_HELP internal static char(25) initial unaligned dcl 15-10 GETTING_STARTED_HELP internal static char(27) initial unaligned dcl 15-10 INCLUDE_DELETED internal static fixed bin(17,0) initial dcl 4-24 MENU_OPTION_HELP internal static char(23) initial unaligned dcl 15-10 MENU_OPTION_KEYS internal static char(1) initial array unaligned dcl 5-100 M_ACCESS internal static bit(3) initial unaligned dcl 1-11 M_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 N_ACCESS internal static bit(3) initial unaligned dcl 1-11 N_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 ONE internal static fixed bin(17,0) initial dcl 13-16 ONLY_DELETED internal static fixed bin(17,0) initial dcl 4-24 ONLY_UNDELETED internal static fixed bin(17,0) initial dcl 4-24 RETURN_PROMPT internal static char(46) initial unaligned dcl 14-10 REW_ACCESS internal static bit(3) initial unaligned dcl 1-11 REW_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 RE_ACCESS internal static bit(3) initial unaligned dcl 1-11 RE_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 RW_ACCESS internal static bit(3) initial unaligned dcl 1-11 RW_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 R_ACCESS internal static bit(3) initial unaligned dcl 1-11 R_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 SA_ACCESS internal static bit(3) initial unaligned dcl 1-11 SA_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 SEG_ACCESS_MODE_NAMES internal static char(4) initial array unaligned dcl 1-30 SET_ARRAY_SPEC_LEN internal static fixed bin(17,0) initial dcl 7-57 SMA_ACCESS internal static bit(3) initial unaligned dcl 1-11 SMA_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 SM_ACCESS internal static bit(3) initial unaligned dcl 1-11 SM_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 SPY_AT_1 internal static fixed bin(17,0) initial dcl 10-29 SPY_AT_11 internal static fixed bin(17,0) initial dcl 10-49 SPY_AT_12 internal static fixed bin(17,0) initial dcl 10-51 SPY_AT_13 internal static fixed bin(17,0) initial dcl 10-53 SPY_AT_14 internal static fixed bin(17,0) initial dcl 10-55 SPY_AT_16 internal static fixed bin(17,0) initial dcl 10-59 SPY_AT_17 internal static fixed bin(17,0) initial dcl 10-61 SPY_AT_18 internal static fixed bin(17,0) initial dcl 10-63 SPY_AT_2 internal static fixed bin(17,0) initial dcl 10-31 SPY_AT_3 internal static fixed bin(17,0) initial dcl 10-33 SPY_AT_4 internal static fixed bin(17,0) initial dcl 10-35 SPY_AT_5 internal static fixed bin(17,0) initial dcl 10-37 SPY_AT_6 internal static fixed bin(17,0) initial dcl 10-39 SPY_AT_8 internal static fixed bin(17,0) initial dcl 10-43 SPY_AT_9 internal static fixed bin(17,0) initial dcl 10-45 SPY_LOCATION internal static varying char(20) initial array dcl 10-68 S_ACCESS internal static bit(3) initial unaligned dcl 1-11 S_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 TEXT_PROMPT internal static char(31) initial unaligned dcl 14-10 W_ACCESS internal static bit(3) initial unaligned dcl 1-11 W_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 ZERO internal static fixed bin(17,0) initial dcl 13-16 alloc_subject_length automatic fixed bin(21,0) dcl 4-4 alloc_text_length automatic fixed bin(21,0) dcl 4-3 break_table_info based structure level 1 dcl 12-76 break_table_info_version internal static fixed bin(17,0) initial dcl 12-80 break_table_info_version_1 internal static fixed bin(17,0) initial dcl 12-80 break_table_ptr automatic pointer dcl 12-75 forum_$close_forum 000000 constant entry external dcl 2-3 forum_$enter_trans 000000 constant entry external dcl 2-4 forum_$forum_info 000000 constant entry external dcl 2-7 forum_$forum_limits 000000 constant entry external dcl 2-9 forum_$get_forum_path 000000 constant entry external dcl 2-12 forum_$get_forum_path_idx 000000 constant entry external dcl 2-14 forum_$get_message 000000 constant entry external dcl 2-16 forum_$get_transaction_map_idx 000000 constant entry external dcl 2-17 forum_$list_users_idx 000000 constant entry external dcl 2-18 forum_$open_forum 000000 constant entry external dcl 2-19 forum_$read_trans 000000 constant entry external dcl 2-21 forum_$set_last_seen_idx 000000 constant entry external dcl 2-23 forum_$set_message 000000 constant entry external dcl 2-27 forum_$set_seen_switch 000000 constant entry external dcl 2-25 forum_$set_switch 000000 constant entry external dcl 2-28 forum_$set_switch_idx 000000 constant entry external dcl 2-30 forum_$trans_ref_info 000000 constant entry external dcl 2-32 forum_flags based structure level 1 dcl 3-8 forum_flags_word automatic bit(36) dcl 3-6 get_editor_key_bindings_info based structure level 1 dcl 12-151 get_editor_key_bindings_info_ptr automatic pointer dcl 12-159 get_editor_key_bindings_info_version_1 internal static char(8) initial unaligned dcl 12-160 line_editor_binding_count automatic fixed bin(17,0) dcl 12-121 line_editor_key_binding_info based structure level 1 dcl 12-129 line_editor_key_binding_info_ptr automatic pointer dcl 12-118 line_editor_key_binding_info_version_3 internal static char(8) initial unaligned dcl 12-148 line_editor_longest_sequence automatic fixed bin(17,0) dcl 12-123 menu_$create 000000 constant entry external dcl 5-8 menu_$delete 000000 constant entry external dcl 5-61 menu_$describe 000000 constant entry external dcl 5-35 menu_$destroy 000000 constant entry external dcl 5-41 menu_$display 000000 constant entry external dcl 5-20 menu_$get_choice 000000 constant entry external dcl 5-26 menu_$list 000000 constant entry external dcl 5-67 menu_$retrieve 000000 constant entry external dcl 5-54 menu_$store 000000 constant entry external dcl 5-46 menu_format based structure level 1 dcl 5-76 menu_format_ptr automatic pointer dcl 5-94 menu_format_version_1 internal static fixed bin(17,0) initial dcl 5-97 menu_requirements_ptr automatic pointer dcl 5-95 message_type internal static fixed bin(17,0) initial dcl 4-22 more_handler_info based structure level 1 dcl 12-83 more_handler_info_ptr automatic pointer dcl 12-92 more_handler_info_version internal static fixed bin(17,0) initial dcl 12-94 more_handler_info_version_3 internal static fixed bin(17,0) initial dcl 12-94 more_prompt_info based structure level 1 dcl 12-108 more_prompt_info_ptr automatic pointer dcl 12-112 more_prompt_info_version_1 internal static char(8) initial unaligned dcl 12-114 more_responses_info based structure level 1 dcl 12-59 more_responses_info_ptr automatic pointer dcl 12-69 more_responses_info_version_1 internal static fixed bin(17,0) initial dcl 12-67 more_responses_version internal static fixed bin(17,0) initial dcl 12-67 sc_reply automatic char(132) unaligned dcl 1176 seen_map_string based bit(1000000) unaligned dcl 7-49 set_array based structure level 1 unaligned dcl 7-52 set_editor_key_bindings_info based structure level 1 dcl 12-162 set_editor_key_bindings_info_ptr automatic pointer dcl 12-171 set_editor_key_bindings_info_version_1 internal static char(8) initial unaligned dcl 12-172 token_characters_info based structure level 1 dcl 12-97 token_characters_info_ptr automatic pointer dcl 12-104 token_characters_info_version_1 internal static char(8) initial unaligned dcl 12-106 user_trans_type internal static fixed bin(17,0) initial dcl 4-21 window_edit_line_info based structure level 1 unaligned dcl 12-177 window_edit_line_info_ptr automatic pointer dcl 12-186 window_edit_line_info_version_1 internal static char(8) initial unaligned dcl 12-183 window_position_info_ptr automatic pointer dcl 12-37 window_position_info_version internal static fixed bin(17,0) initial dcl 12-35 window_position_info_version_1 internal static fixed bin(17,0) initial dcl 12-35 window_status_info based structure level 1 dcl 12-45 window_status_info_ptr automatic pointer dcl 12-43 window_status_version internal static fixed bin(17,0) initial dcl 12-52 window_status_version_1 internal static fixed bin(17,0) initial dcl 12-52 xforum_error_info based structure level 1 unaligned dcl 6-3 NAMES DECLARED BY EXPLICIT CONTEXT. attend_a_meeting 001221 constant entry internal dcl 404 ref 393 396 collect_spy_data 010316 constant entry internal dcl 1292 ref 485 544 546 1093 1187 1207 1210 1212 1214 copy_comments 006474 constant entry internal dcl 1064 ref 633 display_all 004737 constant entry internal dcl 820 ref 595 display_current 004235 constant entry internal dcl 728 ref 586 618 643 display_menu 006126 constant label dcl 1017 ref 1033 display_next 004375 constant entry internal dcl 756 ref 589 display_previous 004556 constant entry internal dcl 788 ref 592 display_unread 004027 constant entry internal dcl 682 ref 584 exit_attend_a_meeting 004003 constant label dcl 675 ref 525 560 562 exit_copy_comments 007042 constant label dcl 1115 ref 1081 1094 exit_select_comment 010120 constant label dcl 1256 ref 1188 exit_select_subject 006440 constant label dcl 1054 ref 955 962 1026 meeting_get_choice 002344 constant label dcl 540 ref 487 580 meeting_maintenance 010121 constant entry internal dcl 1261 ref 654 next_subject 005110 constant entry internal dcl 859 ref 611 1157 prompt_for_subject 006236 constant label dcl 1029 ref 1020 1049 select_comment 007234 constant entry internal dcl 1163 ref 642 select_comment_prompt 007401 constant label dcl 1195 ref 1204 1220 1229 1236 1243 select_subject 005374 constant entry internal dcl 908 ref 617 skip_rest_of_subject 007043 constant entry internal dcl 1120 ref 636 transactions_processed_message 010154 constant entry internal dcl 1272 ref 979 999 xforum_sub_attend_mtg_menu 001110 constant entry external dcl 75 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 11572 11750 10571 11602 Length 12762 10571 156 775 1001 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME xforum_sub_attend_mtg_menu 304 external procedure is an external procedure. attend_a_meeting 902 internal procedure enables or reverts conditions. on unit on line 479 92 on unit on unit on line 490 76 on unit on unit on line 530 68 on unit display_unread internal procedure shares stack frame of internal procedure attend_a_meeting. display_current internal procedure shares stack frame of internal procedure attend_a_meeting. display_next internal procedure shares stack frame of internal procedure attend_a_meeting. display_previous internal procedure shares stack frame of internal procedure attend_a_meeting. display_all internal procedure shares stack frame of internal procedure attend_a_meeting. next_subject internal procedure shares stack frame of internal procedure attend_a_meeting. select_subject 314 internal procedure enables or reverts conditions. on unit on line 952 64 on unit copy_comments 148 internal procedure enables or reverts conditions. on unit on line 1088 84 on unit skip_rest_of_subject internal procedure shares stack frame of internal procedure attend_a_meeting. select_comment 348 internal procedure enables or reverts conditions. on unit on line 1181 84 on unit meeting_maintenance internal procedure shares stack frame of internal procedure attend_a_meeting. transactions_processed_message internal procedure shares stack frame of internal procedure select_subject. collect_spy_data 66 internal procedure is called during a stack extension. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME attend_a_meeting 000100 aam_subject attend_a_meeting 000200 aam_chairman_msg_exists attend_a_meeting 000201 aam_print_chairman_msg attend_a_meeting 000202 aam_chairman_msg attend_a_meeting 000302 aam_fidx attend_a_meeting 000303 aam_type attend_a_meeting 000304 aam_meeting_type attend_a_meeting 000320 aam_headers attend_a_meeting 000334 aam_total_ctl attend_a_meeting 000337 aam_new_ctl attend_a_meeting 000342 aam_current_ctl attend_a_meeting 000350 aam_choices attend_a_meeting 000602 aam_mtg_menu_height attend_a_meeting 000603 aam_menu_window_height attend_a_meeting 000604 aam_mtg_requirements attend_a_meeting 000610 aam_mtg_menu_ptr attend_a_meeting 000612 aam_code attend_a_meeting 000614 aam_current_menu_ptr attend_a_meeting 000616 aam_fkey attend_a_meeting 000617 aam_choice attend_a_meeting 000620 aam_multics_mode attend_a_meeting 000662 du_code display_unread 000663 du_is_first display_unread 000672 dc_code display_current 000702 dn_code display_next 000712 dp_code display_previous 000722 da_code display_all 000723 da_is_first display_all 000732 ns_code next_subject 000733 ns_old_current next_subject 000742 sros_code skip_rest_of_subject copy_comments 000100 cc_bc copy_comments 000101 cc_code copy_comments 000102 cc_entry_name copy_comments 000112 cc_number_of_comments copy_comments 000114 cc_seg_ptr copy_comments select_comment 000100 sc_code select_comment 000101 sc_comment_number select_comment 000102 reply select_comment select_subject 000100 ss_code select_subject 000101 ss_i select_subject 000102 ss_last_reference_ptr select_subject 000104 ss_old_current select_subject 000105 ss_next_trans select_subject 000106 ss_response select_subject 000207 ss_response_len select_subject 000210 ss_seen_for_subject_ptr select_subject 000212 ss_selected_index select_subject 000213 ss_subject_index select_subject 000214 ss_subjects_ptr select_subject 000216 ss_transactions_processed select_subject 000220 ss_working_segs_ptr select_subject 000244 tpm_message transactions_processed_message xforum_sub_attend_mtg_menu 000100 xsamm_next_mtg_index xforum_sub_attend_mtg_menu 000101 xsamm_more xforum_sub_attend_mtg_menu 000102 forum_user_trans_ptr xforum_sub_attend_mtg_menu 000104 spy_ptr xforum_sub_attend_mtg_menu 000106 SPY_VERSION_1 xforum_sub_attend_mtg_menu 000110 xforum_window_info xforum_sub_attend_mtg_menu 000117 answer_array xforum_sub_attend_mtg_menu THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. alloc_char_temp cat_realloc_chars call_ext_out_desc call_ext_out call_int_this call_int_other_desc call_int_other return_mac tra_ext_1 mdfx1 signal_op enable_op shorten_stack ext_entry int_entry int_entry_desc any_to_any_truncate_op_freen_ THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_$suppress_name get_temp_segments_ ioa_ ioa_$rsnnl iox_$control release_temp_segments_ timer_manager_$sleep window_$bell window_$clear_window window_$overwrite_text window_$position_cursor window_$sync xforum_attend_mtg_utilities$close_meeting xforum_attend_mtg_utilities$copy_to_name xforum_attend_mtg_utilities$enter_trans xforum_attend_mtg_utilities$next_unread_comment xforum_attend_mtg_utilities$set_up_meeting xforum_attend_mtg_utilities$update_status xforum_create_menu_ xforum_dyn_menu_$display_and_get_choice xforum_dyn_menu_$prompt_instead_of_menu xforum_format_$append xforum_format_$display xforum_get_selected_trans$first xforum_get_selected_trans$next xforum_get_str_ xforum_help_$get_help xforum_help_line_$change xforum_help_line_$pop xforum_help_line_$push xforum_main_options$index_of_next_meeting xforum_multics_mode xforum_redisplay_ xforum_status_$redisplay xforum_status_$update_title xforum_trans_$next_ref xforum_trans_$prev_ref xforum_trans_$read xforum_user_profile$get_menu_always xforum_user_profile$get_multics_mode xforum_window_mgr$check_window_status xforum_window_mgr$menu_display xforum_window_mgr$menu_get_choice xforum_window_mgr$resynch_windows THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$long_record forum_error_table_$invalid_trans_idx forum_error_table_$trans_deleted forum_error_table_$trans_reaped iox_$user_io xforum_ptr_struct_ xforum_windows LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 75 001104 10 27 001115 393 001117 394 001134 395 001137 396 001153 397 001170 399 001171 400 001204 402 001217 404 001220 410 001226 411 001227 415 001230 419 001266 420 001272 421 001300 422 001303 438 001512 441 001514 470 001516 472 001520 475 001527 477 001533 479 001541 481 001555 482 001561 483 001574 484 001626 485 001636 486 001655 487 001661 490 001664 492 001700 493 001704 494 001707 497 001726 499 001727 501 001756 504 001760 506 001767 508 001774 511 002000 512 002046 514 002067 516 002126 518 002161 520 002174 522 002176 523 002224 524 002226 525 002252 528 002253 530 002262 533 002306 536 002342 542 002344 544 002357 546 002451 548 002532 551 002541 553 002574 554 002615 556 002650 557 002660 558 002673 559 002702 560 002703 562 002707 564 002713 566 002717 567 002723 569 002742 570 002745 571 002746 573 002760 575 002767 576 002776 577 003011 579 003043 580 003052 582 003053 584 003067 586 003111 589 003132 592 003153 595 003174 598 003215 601 003217 603 003230 604 003252 605 003254 607 003255 608 003267 610 003313 611 003314 614 003337 617 003341 618 003351 619 003367 620 003370 623 003372 625 003403 626 003425 627 003427 629 003430 630 003442 632 003466 633 003467 636 003514 639 003537 642 003541 643 003553 644 003571 645 003572 648 003574 649 003600 651 003617 652 003622 654 003623 659 003626 662 003663 664 003667 665 003702 666 003715 667 003736 669 003771 671 004000 673 004002 675 004003 677 004007 680 004026 682 004027 694 004031 696 004044 697 004045 699 004047 700 004054 702 004056 703 004071 704 004076 706 004100 709 004122 710 004124 712 004157 713 004173 716 004174 717 004211 719 004212 721 004216 724 004234 728 004235 739 004237 741 004252 743 004253 744 004271 747 004320 749 004356 752 004374 756 004375 767 004377 769 004412 771 004413 772 004431 774 004451 778 004477 779 004505 781 004537 784 004555 788 004556 799 004560 801 004573 803 004574 804 004612 806 004632 810 004660 811 004666 813 004720 816 004736 820 004737 832 004741 834 004754 835 004755 837 004757 838 004764 840 004766 841 005001 842 005006 844 005010 845 005016 847 005050 848 005064 850 005065 851 005102 853 005103 855 005107 859 005110 875 005112 877 005117 879 005131 882 005151 884 005156 885 005175 886 005202 887 005215 889 005230 890 005236 892 005270 893 005301 895 005302 897 005314 898 005322 900 005354 904 005372 908 005373 941 005401 943 005413 945 005427 946 005434 947 005436 948 005437 950 005440 952 005470 954 005504 955 005511 958 005514 959 005535 961 005537 962 005563 966 005564 967 005566 968 005570 969 005572 970 005602 971 005603 972 005605 974 005606 975 005614 976 005627 978 005631 979 005632 981 005640 982 005641 984 005667 985 005700 986 005716 988 005717 990 005740 991 005762 992 005763 993 005770 994 005774 995 006003 996 006005 997 006021 998 006024 999 006025 1001 006033 1002 006042 1003 006046 1004 006050 1005 006057 1006 006073 1009 006074 1010 006075 1011 006112 1012 006113 1013 006114 1015 006115 1017 006126 1020 006214 1022 006217 1025 006227 1026 006235 1029 006236 1033 006322 1036 006327 1037 006331 1040 006340 1041 006344 1042 006360 1044 006375 1045 006377 1047 006404 1048 006423 1049 006437 1054 006440 1058 006465 1060 006472 1064 006473 1080 006501 1081 006516 1084 006522 1085 006523 1086 006543 1088 006574 1090 006610 1091 006614 1092 006627 1093 006634 1094 006653 1097 006656 1098 006663 1100 006665 1101 006700 1102 006704 1104 006706 1105 006707 1107 006744 1109 006766 1110 007003 1112 007004 1113 007016 1115 007042 1120 007043 1136 007045 1138 007060 1140 007074 1141 007101 1143 007103 1144 007116 1145 007122 1147 007124 1148 007132 1150 007164 1152 007175 1153 007212 1155 007213 1157 007217 1159 007232 1163 007233 1179 007241 1181 007246 1183 007262 1184 007266 1185 007301 1186 007306 1187 007316 1188 007335 1191 007340 1193 007353 1195 007401 1197 007403 1198 007405 1200 007455 1202 007461 1203 007473 1204 007513 1207 007514 1210 007536 1212 007563 1214 007616 1216 007635 1218 007650 1219 007663 1220 007677 1223 007700 1224 007710 1225 007724 1227 007730 1228 007742 1229 007762 1231 007763 1234 007767 1235 010001 1236 010021 1238 010022 1241 010024 1242 010036 1243 010056 1246 010057 1248 010072 1249 010100 1250 010106 1254 010113 1256 010120 1261 010121 1265 010122 1266 010136 1268 010153 1272 010154 1283 010156 1284 010200 1285 010237 1286 010301 1288 010314 1292 010315 1297 010331 1298 010334 1299 010342 1301 010352 ----------------------------------------------------------- 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