COMPILATION LISTING OF SEGMENT xforum_attend_mtg_options Compiled by: Multics PL/I Compiler, Release 28e, of February 14, 1985 Compiled at: Honeywell Multics Op. - System M Compiled on: 04/24/86 1535.5 mst Thu Options: optimize map 1 /* *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1983 * 4* * * 5* *********************************************************** */ 6 7 xforum_attend_mtg_options: proc; 8 9 /* 10* BEGIN DESCRIPTION 11* 12* function: 13* This module implements all the functions related to the options 14* in the Attending Meeting menu. 15* 16* description of entry points: 17* display_trans: This entry is used to display transaction. Input flags 18* determine if all transactions in a meeting, a new transaction, a range 19* of transactions, all the transactions in a chain, or the current 20* transaction are to be displayed. In any case the bottom window is first 21* cleared, a call is made to xforum_trans_ to get a pointer to a 22* transaction, and then a call made to xforum_display_ to output the 23* transaction. 24* 25* enter_trans: This entry is called when replying to a transaction or when 26* entering a new transaction. An input flag indicates which operation the 27* user is performing. The emacs extension is found by absolute pathname 28* passed into emacs_. The absolute pathname is determined by finding the 29* absolute pathname of the current module and then changing the entry name. 30* This is done via the calls to hcs_$make_ptr and hcs_$fs_get_path_name 31* after the here label. A special segment is created in the process dir for 32* storing the users transaction. If the user is replying then another 33* segment is created for storing the transaction the user is replying to. 34* The pointers to these transactions are stored as internal static so the 35* segments can be reused. The user's comemnt is added to the forum meeting 36* via a call to forum_$enter_trans. 37* 38* next_trans: This entry selects the next transaction as the current 39* transaction and displays the transaction via a call to xforum_format_. 40* The next transaction is found via a call to xforum_trans_. A subject 41* chain will not be followed. The current transaction must be either a 42* single transaction or a range of transaction, i.e. I:J for there to be 43* a next transaction. 44* 45* prev_trans: This entry selects the previous transaction as the current 46* transaction and displays the transaction via a call to xforum_format_. 47* The previous transaction is found via a call to xforum_trans_. A subject 48* chain will not be followed. The current transaction must be either a 49* single transaction or a range of transaction, i.e I:J for there to be a 50* a previous transaction. 51* 52* list_transaction: This entry looks remarkably like the display entry. 53* The only differences are that xforum_format_$list is called instead of 54* xforum_format_$display. 55* 56* select_trans_spec: This entry prompts the user for a transaction spec. 57* Once the spec has been input a call is made to xforum_validate_trans_spec 58* to check the spec and set the current transactions. The prompting is 59* done via ioa_ instead of via command_query. Help processing is 60* handling by actually checking to see if the input was a "?" character an 61* calling xcforum_help_$display if it was. 62* 63* next_ref: This entry selects the next transaction in the subject chain 64* as the current transaction and displays the transaction via a call to 65* xforum_format_. The next transaction is found via a call to 66* xforum_trans_. The current transaction must a single transaction. 67* 68* prev_ref: This entry selects the previous transaction in a subject chain 69* as the current transaction and displays the transaction via a call to 70* xforum_format_. The previous transaction is found via a call to 71* xforum_trans_. The current transaction must be a single transaction. 72* 73* first_ref: This entry selects the first transaction in a subject chain 74* as the current transaction and displays the transaction via acall to 75* xforum_format_. The first transaction is found via a call to 76* xforum_trans_. The first transaction may be equivalent to the current 77* transaction in which case the current transaction is just redisplayed. 78* 79* copy_comments: This entry uses ioa_ to query the user for a file name. 80* A name of ? is checked for an a help message is output via xforum_help_. 81* A name of ?? is checked for and a message indicating that no menu 82* is available is output. Invalid names are determined 83* For the case of a ?, ??, or invalid name the prompt is repeated. 84* The users ?, ??, invalid file names and valid file names are recorded 85* in the spy structure. invalid file names all have the name "invalid". 86* valid file names are recorded as "name" or "pathname" depending on if 87* they contain a > or <. The actual names are not recorded. 88* For a valid file name the segment is initiated, if it does not exist it 89* is created. If it cannot be created an error is output and the code 90* returns. A message is then output saying that the writting is taking 91* place. The second part of this entry looks exactly like the display 92* entry. The only difference is xforum_format_$append is called instead 93* of $display and that the number of comments actually processed is 94* counted. The last thing that this entry does is clear the bottom window 95* and output a message saying how many transactions were output and giving 96* the file name. 97* 98* next_unread_trans: This entry set the current transaction to the next 99* unread transaction and then display teh current transaction. The value of 100* the next unread transaction is updated by the call to update_status. 101* 102* meeting_maintenance: This entry will be used to generate the meeting 103* maintenance menu and respond to selections made from that menu. Currently 104* it just outputs a message saying that it is unimplemented. 105* 106* description of internal procedures: 107* update_status: This procedure has three functions. First it updates 108* the forum statistics. It sets the seen flag for version 2 forums and 109* the last_seen_idx for version 1 meetings (if of course the input trans 110* idx is larger than the current last seen idx). Second it updates the 111* statistics kept in the meeting list by calling forum_ to get the lastest 112* statistics, these statistics of course reflect the updates just entered. 113* Third it uses the new statistics to output updated totals and new in the 114* status line. NOTE that this procedure is called right BEFORE the 115* transaction is displayed. There is therefore a small window when forum 116* thinks that the user has seen a transaction but it has not yet been 117* displayed. Things were done this way so that the status line could 118* reflect the current transaction and the number of new transaction minus 119* the transaction just selected before the display was started. The 120* alternative would be to have the forum and xforum statics out of sync. 121* 122* collect_spy_data: This is exactly the same as every other 123* collect_spy_data. See xforum_main_options. 124* 125* error: This is exactly the same as every other error. See 126* xforum_main_options. 127* 128* known bugs: 129* 130* notes: 131* 84-09-26 Davids: The code in update_status which creates the status 132* window text was copied from xforum_main_options. It should be made into a 133* separate procedure, or better yet incorporated into the appropriate 134* xforum_status_ entries. 135* 136* history: 137* 84-06-18 Davids: Created by extracting the relavent internal procedures 138* from the xforum module. 139* 140* 84-08-01 Davids: Extensive changes to enter_trans code. Code that resizes 141* the windows and outputs the new header (for reply), help message, and 142* "Please wait for editor" message moved to the front. Help messages 143* changed to reflect MTB. Multiple returns replaced by a goto exit... 144* statement. 145* 146* 84-08-02 Davids: Replaced references to transaction in enter_trans code 147* with references to comment. Made the coment entered confirmation message 148* conform with the MTB. 149* 150* 84-08-07 Davids: replaced a reference to nt_fidx in the parameter list 151* of next_ref with a reference to nr_fidx. This was screwing up the 152* call which set the flag indicating that the transaction had been seen. 153* The error was not being reported because the code was not being checked! 154* The structure of the code in both next_ref and next_trans has been 155* changed so that the error code returned from setting the flag is checked. 156* 157* 84-08-16 Davids: updated the call to xforum_help_$display for the case 158* where the user responds to the comment specification prompt with a ? 159* to reflect the new info file name and section. Also removed code which 160* is no longer returned, xforum_fatal_error is signaled. Added the entry 161* points copy_comments, next_unread_trans, and meeting_maintenance. These 162* new entries just issue a "have not be implemented yet" message. The 163* code dealing with the now unused entry points (attending meeting doesn't 164* do things like next ref) was not removed because itwill be needed again 165* when the second attending menu is built. 166* 167* 84-09-26 Davids: Added the update_status procedure and removed code 168* from the individual entries that the seen switches and last_seen value. 169* Added to the prev_trans, prev_ref, and first_ref entries the parameters 170* for meeting version and forum meeting index. These are necessary because 171* this routine now updates the seen switches for each transaction. 172* 173* 84-09-27 Davids: Added the copy_comments code. 174* 175* 84-09-28 Davids: Removed all references to a usage message and calls to 176* xforum_status_$update_usage, push_usage, pop_usage. Replaced them with 177* the corresponding xforum_help_line entries. 178* 179* 84-10-01 Davids: Removed a lingering reference to 180* xforum_status_$push_help_line. Also added a code check after the 181* call to xforum_trans_$read for the reply mode of enter_trans. If the 182* user trys to reply without reading the comment first, its possible 183* that the comment has been deleted and a bad pointer reference will result 184* in the ioa_$rsnnl call. 185* 186* 84-10-03 Davids: Added code in the update_status procedure to update the 187* seen_map. Also changed the new label to Unread. 188* 189* 84-10-04 Davids: Added the code that actually implements the 190* next_unread_trans entry point. Modified the enter_trans code so that it 191* also sets the seen_map bits. 192* 193* 84-10-11 Davids: Replaced references to transactions in the listing 194* header, the current comment header, and a message with references to 195* comments. Added code to copy_comments so that a null file name will 196* be identified and an error message output. 197* 198* 84-10-16 Davids: Changed the help line when entering a new discussion 199* to reflect that E? is not available and to indicate that the RETURN key 200* will enter the subject. 201* 202* 84-10-18 Davids: Changed status messages for copy comments which said 203* "Comments being written to X" and "N comments written to X" so that 204* written is now copied. 205* 206* 84-10-26 Davids: In select_trans_spec modified help line to indicate tha 207* a BREAK will leave the current comments unchanged. Also so a responding 208* to the prompt with just a return will leave the current comments 209* unchanged. Also changed the spy stuff so that the actual transaction 210* number or transaction range is not recorded but just the key word 211* range or number. 212* 213* 84-10-29 Davids: In the enter_trans entry increased the length of the 214* et_str and et_sj variables from 110 & 100 to 510 and 500. This was 215* needed so that subjects longer than 100 characters don't get truncated. 216* et_str is 10 characters longer since it also contains the "Subject: " 217* string. 218* 219* 84-11-06 Davids: Changed references to xforum_help_line to 220* xforum_help_line_. 221* 222* 84-11-15 Davids: Auditing changes: 1) Corrected all output messages to 223* start with an upper case letter and end with some form of puncuation. 224* 2) Replaced the "/" operator with the divide builtin. Other changes: 225* 1) Corrected error messages to say comment instead of transaction. 226* 2) Replaced calls to hcs_$make_seg with calls to initiate_file_$create. 227* 228* 84-11-19 Davids: Added quit handler to enter_trans entry point. 229* This closes the window between the time the proc is entered and the 230* time that the emacs quit handler is established. If this window is 231* open the screen gets all screwed up. 232* 233* 84-12-12 Davids: Added a call to clear the bottom window before the call 234* outputing the "Please wait for editor" message. Added code to 235* next_transaction, previous_transaction, next_reference, and 236* previous_reference so that they check the error code returned from 237* xforum_trans_ and if its forum_error_table_$invalid_trans_idx they 238* print out an appropriate message instead of using the forum message 239* which uses the term transaction. It will also clear the bottom window 240* before outputing the message. Also added a call to clear the bottom 241* window before the message "There are no more unread comments" in 242* next_unread_transaction. 243* 244* END DESCRIPTION 245**/ 246 247 /* PARAMETERS */ 248 249 /* GLOBAL */ 250 251 /* EXTERNAL STATIC */ 252 253 dcl error_table_$long_record fixed bin (35) ext static; 254 dcl forum_error_table_$invalid_trans_idx fixed bin (35) ext static; 255 dcl forum_error_table_$trans_deleted fixed bin (35) ext static; 256 dcl forum_error_table_$trans_reaped fixed bin (35) ext static; 257 dcl iox_$user_input ptr ext static; 258 259 /* ENTRIES */ 260 261 dcl com_err_$suppress_name entry () options (variable); 262 dcl emacs_ entry (ptr, char (*), char (*), ptr, fixed bin (35)); 263 dcl expand_pathname_ entry (char (*), char (*), char (*), fixed bin (35)); 264 dcl get_pdir_ entry () returns (char (168)); 265 dcl hcs_$fs_get_path_name entry (ptr, char (*), fixed bin, char (*), fixed bin (35)); 266 dcl hcs_$make_ptr entry (ptr, char (*), char (*), ptr, fixed bin (35)); 267 dcl hcs_$set_bc_seg entry (ptr, fixed bin (24), fixed bin (35)); 268 dcl initiate_file_ entry (char (*), char (*), bit (*), ptr, fixed bin (24), fixed bin (35)); 269 dcl initiate_file_$create entry (char (*), char (*), bit (*), ptr, bit (1) aligned, fixed bin (24), fixed bin (35)); 270 dcl ioa_ entry () options (variable); 271 dcl ioa_$nnl entry () options (variable); 272 dcl ioa_$rsnnl entry () options (variable); 273 dcl iox_$get_line entry (ptr, ptr, fixed bin (21), fixed bin (21), fixed bin (35)); 274 dcl signal_ entry () options (variable); 275 dcl timer_manager_$sleep entry (fixed bin (71), bit (2)); 276 dcl window_$clear_window entry (ptr, fixed bin (35)); 277 dcl xforum_format_$append entry (ptr, ptr, fixed bin (24), fixed bin (35)); 278 dcl xforum_format_$display entry (ptr, bit (1) aligned, fixed bin (35)); 279 dcl xforum_format_$list entry (ptr, fixed bin (35)); 280 dcl xforum_format_$write entry (ptr, ptr, fixed bin (35)); 281 dcl xforum_help_$display entry (char (*), char (*)); 282 dcl xforum_help_line_$change entry (bit (8), char (*), char (*)); 283 dcl xforum_help_line_$push entry (bit (8), char (*), char (*)); 284 dcl xforum_help_line_$pop entry options (variable); 285 dcl xforum_status_$update_current entry (char (*)); 286 dcl xforum_status_$update_new entry (char (*)); 287 dcl xforum_status_$update_title entry (char (*)); 288 dcl xforum_status_$update_total entry (char (*)); 289 dcl xforum_status_$redisplay entry (fixed bin (35)); 290 dcl xforum_trans_$first_ref entry (fixed bin, ptr, fixed bin (35)); 291 dcl xforum_trans_$first_trans entry (ptr, fixed bin (35)); 292 dcl xforum_trans_$next_ref entry (fixed bin, ptr, fixed bin (35)); 293 dcl xforum_trans_$next_trans entry (fixed bin, ptr, fixed bin (35)); 294 dcl xforum_trans_$prev_ref entry (fixed bin, ptr, fixed bin (35)); 295 dcl xforum_trans_$prev_trans entry (fixed bin, ptr, fixed bin (35)); 296 dcl xforum_trans_$read entry (fixed bin, ptr, fixed bin (35)); 297 dcl xforum_window_mgr$check_window_status entry options (variable); 298 dcl xforum_window_mgr$resynch_windows entry (fixed bin, bit (1)); 299 dcl xforum_validate_trans_spec_ entry (char (*), fixed bin (35)); 300 301 /* CONDITIONS */ 302 303 dcl quit condition; 304 305 /* INTERNAL AUTOMATIC */ 306 307 dcl xforum_meeting_info_ptr ptr; 308 309 /* INTERNAL STATIC */ 310 311 dcl 01 xamo_xforum_error_info like xforum_error_info internal static; 312 313 /* CONSTANTS */ 314 315 dcl FALSE bit (1) aligned init ("0"b) internal static options (constant); 316 dcl FIRST bit (1) aligned init ("1"b) internal static options (constant); 317 dcl ME char (25) init ("xforum_attend_mtg_options") 318 internal static options (constant); 319 dcl NEXT bit (1) aligned init ("0"b) internal static options (constant); 320 dcl NL char (1) char (1) init (" 321 ") internal static options (constant); 322 dcl OFF bit (1) aligned init ("0"b) internal static options (constant); 323 dcl ON bit (1) aligned init ("1"b) internal static options (constant); 324 dcl QUERY_USAGE char (80) init ("Press ""?"" and RETURN for help; BREAK to leave current comments unchanged") 325 internal static options (constant); 326 dcl REPLY bit (1) aligned init ("1"b) internal static options (constant); 327 dcl TRUE bit (1) aligned init ("1"b) internal static options (constant); 328 329 /* BUILTINS */ 330 331 dcl addr builtin; 332 dcl after builtin; 333 dcl before builtin; 334 dcl divide builtin; 335 dcl index builtin; 336 dcl length builtin; 337 dcl null builtin; 338 dcl rtrim builtin; 339 dcl substr builtin; 340 dcl unspec builtin; 341 dcl verify builtin; 342 343 /* BASED */ 344 345 /* INCLUDE FILES */ 346 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 */ 347 348 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 * * * * * */ 349 350 3 1 /* BEGIN INCLUDE FILE: forum_user_trans.incl.pl1 */ 3 2 3 3 dcl alloc_text_length fixed bin (21); /* length of text area to allocate */ 3 4 dcl alloc_subject_length fixed bin (21); /* length of subject area to allocate */ 3 5 dcl forum_user_trans_ptr ptr; /* pointer to below structure */ 3 6 3 7 dcl 1 forum_user_trans based (forum_user_trans_ptr) aligned, 3 8 2 type fixed bin, /* type of transaction */ 3 9 2 person_id char (22), /* person_id of author of this transaction */ 3 10 2 project_id char (9), /* project_id of author of this transaction */ 3 11 2 time fixed bin (71), /* time transaction was entered */ 3 12 2 trans_no fixed bin, /* number of this transaction */ 3 13 2 next_trans_ptr ptr, /* pointer (in user ring) of next transaction */ 3 14 2 prev_trans_ptr ptr, /* pointer (in user ring) of previous transaction */ 3 15 2 subject_length fixed bin (21), /* length of subject field of transaction */ 3 16 2 text_length fixed bin (21), /* length of text field of transaction */ 3 17 2 unfilled bit (1) aligned, /* set if transaction is NOT stored filled */ 3 18 2 subject char (alloc_subject_length refer (forum_user_trans.subject_length)) unaligned, /* subject of transaction */ 3 19 2 text char (alloc_text_length refer (forum_user_trans.text_length)) unaligned; /* text of transaction */ 3 20 3 21 declare user_trans_type fixed bin static options (constant) initial (1); 3 22 declare message_type fixed bin static options (constant) initial (2); 3 23 3 24 declare (ONLY_UNDELETED init (0), 3 25 INCLUDE_DELETED init (1), 3 26 ONLY_DELETED init (2)) 3 27 fixed bin static options (constant); 3 28 3 29 /* END INCLUDE FILE: forum_user_trans.incl.pl1 */ 351 352 4 1 /* BEGIN INCLUDE FILE xforum_error_info 84-06-19 Davids */ 4 2 4 3 dcl 01 xforum_error_info based, 4 4 02 name char (32), 4 5 02 entry char (32), 4 6 02 doing char (100), 4 7 02 code fixed bin (35), 4 8 02 reason char (512); 4 9 4 10 /* END INCLUDE FILE xforum_error_info */ 353 354 5 1 /* START OF: xforum_meeting_info.incl.pl1 * * * * * */ 5 2 5 3 5 4 5 5 /****^ HISTORY COMMENTS: 5 6* 1) change(84-05-03,Davids), approve(84-05-03,MCR7350), 5 7* audit(86-04-24,Gilcrease), install(86-04-24,MR12.0-1048): 5 8* Changed the length of name from 20 characters to 32 characters. 5 9* Version 2 forum names can be 26 characters long (forum suffix) - 5 10* and a little extra incase version 3 uses a shorter suffix yet. 5 11* 5 12* 84-10-03 Davids: added the unread_count, next_unread, and 5 13* seen_map_ptr elements. Also the declaration for the 5 14* seen_map_string and seen_map. 5 15* 5 16* 85-01-24 Davids: added the set_array_ptr to the 5 17* xforum_meeting_info structure and the set_array structure and 5 18* SET_ARRAY_SPEC_LEN variable. 5 19* 2) change(86-02-17,LJAdams), approve(86-02-17,MCR7350), 5 20* audit(86-04-24,Gilcrease), install(86-04-24,MR12.0-1048): 5 21* Added restref flag. 5 22* END HISTORY COMMENTS */ 5 23 5 24 declare 1 xforum_meeting_info based (xforum_meeting_info_ptr), 5 25 2 name char (32), 5 26 2 lidx fixed bin, 5 27 2 idx fixed bin, 5 28 2 current fixed bin, 5 29 2 last_seen fixed bin, 5 30 2 first_trans fixed bin, 5 31 2 last_trans fixed bin, 5 32 2 new_trans fixed bin, 5 33 2 flags unal, 5 34 3 all bit (1), 5 35 3 allref bit (1), 5 36 3 restref bit (1), 5 37 3 new bit (1), 5 38 3 range bit (1), 5 39 3 set bit (1), 5 40 2 current_ref fixed bin, 5 41 2 low fixed bin, 5 42 2 high fixed bin, 5 43 2 trans_struct_ptr ptr, 5 44 2 next_unread fixed bin, 5 45 2 unread_count fixed bin, 5 46 2 seen_map_ptr ptr, 5 47 2 set_array_ptr ptr; 5 48 5 49 dcl seen_map_string bit (1000000) based; 5 50 dcl seen_map (1000000) bit (1) unaligned based; 5 51 5 52 dcl 01 set_array based (xforum_meeting_info.set_array_ptr), 5 53 02 number fixed bin, 5 54 02 spec char (80) varying, 5 55 02 index (100000); 5 56 5 57 dcl SET_ARRAY_SPEC_LEN fixed bin init (80) internal static options (constant); 5 58 5 59 /* END OF: xforum_meeting_info.incl.pl1 * * * * * */ 355 356 6 1 /* BEGIN INCLUDE FILE xforum_spy 84-06-19 NSDavids */ 6 2 6 3 6 4 6 5 /****^ HISTORY COMMENTS: 6 6* 1) change(85-01-01,Davids), approve(85-01-01,MCR7350), 6 7* audit(86-04-24,Gilcrease), install(86-04-24,MR12.0-1048): 6 8* Modified to include personalization and subject selection. 6 9* END HISTORY COMMENTS */ 6 10 6 11 6 12 dcl 01 spy based (spy_ptr), 6 13 02 version char (8), 6 14 02 user_name char (32), 6 15 02 date_time char (32), 6 16 02 args char (80), 6 17 02 eligible fixed bin, 6 18 02 attending fixed bin, 6 19 02 changed fixed bin, 6 20 02 count fixed bin, 6 21 02 choices (0 refer (count)), 6 22 03 at fixed bin, 6 23 03 choice char (10); 6 24 6 25 6 26 dcl spy_ptr ptr; 6 27 dcl SPY_VERSION_1 char (8) init ("spy_0001"); 6 28 6 29 dcl SPY_AT_1 fixed bin init (1) internal static options (constant); 6 30 /* At Executive Forum Main menu */ 6 31 dcl SPY_AT_2 fixed bin init (2) internal static options (constant); 6 32 /* Requesting Help */ 6 33 dcl SPY_AT_3 fixed bin init (3) internal static options (constant); 6 34 /* At General Help menu */ 6 35 dcl SPY_AT_4 fixed bin init (4) internal static options (constant); 6 36 /* At query for a meeting name to goto */ 6 37 dcl SPY_AT_5 fixed bin init (5) internal static options (constant); 6 38 /* At menu of meeting names */ 6 39 dcl SPY_AT_6 fixed bin init (6) internal static options (constant); 6 40 /* At query for a meeting name to resign from */ 6 41 dcl SPY_AT_7 fixed bin init (7) internal static options (constant); 6 42 /* At Attending Meeting menu */ 6 43 dcl SPY_AT_8 fixed bin init (8) internal static options (constant); 6 44 /* At replying to a transaction */ 6 45 dcl SPY_AT_9 fixed bin init (9) internal static options (constant); 6 46 /* At entering a new transaction */ 6 47 dcl SPY_AT_10 fixed bin init (10) internal static options (constant); 6 48 /* At query for a transaction specifier */ 6 49 dcl SPY_AT_11 fixed bin init (11) internal static options (constant); 6 50 /* At query to check for changed meetings */ 6 51 dcl SPY_AT_12 fixed bin init (12) internal static options (constant); 6 52 /* At Getting Started menu */ 6 53 dcl SPY_AT_13 fixed bin init (13) internal static options (constant); 6 54 /* Meeting list update query, change in number of search paths */ 6 55 dcl SPY_AT_14 fixed bin init (14) internal static options (constant); 6 56 /* Meeting list update query, change in search paths listed */ 6 57 dcl SPY_AT_15 fixed bin init (15) internal static options (constant); 6 58 /* Copy Comments file name query */ 6 59 dcl SPY_AT_16 fixed bin init (16) internal static options (constant); 6 60 /* At Personalization menu */ 6 61 dcl SPY_AT_17 fixed bin init (17) internal static options (constant); 6 62 /* Personalizing an item prompt */ 6 63 dcl SPY_AT_18 fixed bin init (18) internal static options (constant); 6 64 /* string search prompt for comment selection */ 6 65 dcl SPY_AT_19 fixed bin init (19) internal static options (constant); 6 66 /* subject selection */ 6 67 6 68 dcl SPY_LOCATION (19) char (20) varying init ( 6 69 "XForum Main menu", 6 70 "Requesting Help", 6 71 "General Help menu", 6 72 "Meeting to goto?", 6 73 "Meeting names menu", 6 74 "Meeting to resign?", 6 75 "Meeting menu", 6 76 "Repling", 6 77 "Talking", 6 78 "Trans. spec?", 6 79 "Check changed mtgs", 6 80 "Getting Started", 6 81 "List update, num", 6 82 "List update, list", 6 83 "Copy to file name", 6 84 "Personalizing menu", 6 85 "Personalizing prompt", 6 86 "String search prompt", 6 87 "Subject selection") internal static options (constant); 6 88 6 89 /* END INCLUDE FILE xforum_spy */ 357 358 7 1 /* START OF: xforum_windows.incl.pl1 * * * * * */ 7 2 7 3 /* structures for windows used by xforum - Deryk Barker January 1984 */ 7 4 7 5 dcl 1 xforum_windows aligned external static, 7 6 2 (status, menu, bottom, orig_user_io, help_line) aligned like xforum_window_info; 7 7 7 8 dcl 1 xforum_window_info, 7 9 2 iocb ptr, 7 10 2 position aligned like window_position_info; 7 11 8 1 /* BEGIN INCLUDE FILE ... window_control_info.incl.pl1 JRD */ 8 2 /* format: style3 */ 8 3 8 4 /* Modified 26 January 1982 by William York to add the set_more_handler 8 5* and reset_more_handler control orders. */ 8 6 /* Modified October 1982 by WMY to add set and get_token_characters, 8 7* set and get_more_prompt. */ 8 8 /* Modified February 1983 by WMY to add the line_editor_key_binding_info 8 9* structure. */ 8 10 /* Modified 30 September 1983 by Jon A. Rochlis to add the origin.column for 8 11* partial screen width windows. */ 8 12 /* Modified 9 October 1983 by JR to add version 1 window_edit_line_info. 8 13* This should be removed when window_info.incl.pl1 is created. */ 8 14 /* Modified 29 February 1984 by Barmar to add version 1 8 15* get_editor_key_bindings_info. */ 8 16 /* Modified 1 March 1984 by Barmar to add version 1 8 17* set_editor_key_bindings_info. */ 8 18 /* Modified 2 March 1984 by Barmar to upgrade to version 3 8 19* line_editor_key_bindings_info, which includes the name, description, and 8 20* info path */ 8 21 8 22 /* structure for the set_window_info and get_window_info 8 23* control orders. */ 8 24 8 25 dcl 1 window_position_info 8 26 based (window_position_info_ptr), 8 27 2 version fixed bin, 8 28 2 origin, 8 29 3 column fixed bin, 8 30 3 line fixed bin, 8 31 2 extent, 8 32 3 width fixed bin, 8 33 3 height fixed bin; 8 34 8 35 dcl (window_position_info_version, window_position_info_version_1) 8 36 fixed bin internal static init (1) options (constant); 8 37 dcl window_position_info_ptr 8 38 pointer; 8 39 8 40 /* structure for the set_window_status and get_window_status 8 41* control orders */ 8 42 8 43 declare window_status_info_ptr 8 44 pointer; 8 45 declare 1 window_status_info 8 46 aligned based (window_status_info_ptr), 8 47 2 version fixed bin, 8 48 2 status_string bit (36) aligned; /* string (window_status) */ 8 49 /* see window_status.incl.pl1 for the contents of this string */ 8 50 8 51 8 52 declare (window_status_version, window_status_version_1) 8 53 fixed bin internal static init (1) options (constant); 8 54 8 55 /* info structure for the set_more_responses and get_more_responses control 8 56* orders */ 8 57 8 58 8 59 dcl 1 more_responses_info 8 60 aligned based (more_responses_info_ptr), 8 61 2 version fixed bin, 8 62 2 n_yeses fixed bin, /* how many valid characters in the strings below */ 8 63 2 n_noes fixed bin, 8 64 2 yeses char (32) unaligned, 8 65 2 noes char (32) unaligned; 8 66 8 67 dcl (more_responses_info_version_1, more_responses_version) 8 68 fixed bin internal static init (1) options (constant); 8 69 dcl more_responses_info_ptr 8 70 pointer; 8 71 8 72 /* structure for the set_break_table and get_break_table 8 73* control orders */ 8 74 8 75 declare break_table_ptr pointer; 8 76 declare 1 break_table_info aligned based (break_table_ptr), 8 77 2 version fixed bin, 8 78 2 breaks (0:127) bit (1) unaligned; 8 79 8 80 declare (break_table_info_version, break_table_info_version_1) 8 81 fixed bin init (1) internal static options (constant); 8 82 8 83 declare 1 more_handler_info aligned based (more_handler_info_ptr), 8 84 2 version fixed bin, 8 85 2 flags unaligned, 8 86 3 old_handler_valid 8 87 bit(1), 8 88 3 pad bit(35), 8 89 2 more_handler entry (pointer, bit(1) aligned), 8 90 2 old_more_handler entry (pointer, bit(1) aligned); 8 91 8 92 declare more_handler_info_ptr pointer; 8 93 8 94 declare (more_handler_info_version, more_handler_info_version_3) 8 95 fixed bin internal static options (constant) init (3); 8 96 8 97 declare 1 token_characters_info aligned based (token_characters_info_ptr), 8 98 2 version char(8), 8 99 2 token_character_count 8 100 fixed bin, 8 101 2 token_characters 8 102 char (128) unaligned; 8 103 8 104 declare token_characters_info_ptr pointer; 8 105 8 106 declare token_characters_info_version_1 char(8) internal static options (constant) init ("wtci0001"); 8 107 8 108 declare 1 more_prompt_info aligned based (more_prompt_info_ptr), 8 109 2 version char(8), 8 110 2 more_prompt char(80); 8 111 8 112 declare more_prompt_info_ptr pointer; 8 113 8 114 declare more_prompt_info_version_1 char(8) static options (constant) init ("wsmp0001"); 8 115 8 116 /* Line editor stuff ... */ 8 117 8 118 dcl line_editor_key_binding_info_ptr 8 119 pointer; 8 120 8 121 dcl line_editor_binding_count 8 122 fixed bin; 8 123 dcl line_editor_longest_sequence 8 124 fixed bin; 8 125 /* For each binding, action defines what to do for that sequence. Constants 8 126* are defined in window_editor_values.incl.pl1. Only if action is set to 8 127* EXTERNAL_ROUTINE does the editor_routine entry variable get examined. */ 8 128 8 129 dcl 1 line_editor_key_binding_info 8 130 aligned based (line_editor_key_binding_info_ptr), 8 131 2 version char(8), 8 132 2 binding_count fixed bin, 8 133 2 longest_sequence fixed bin, 8 134 2 bindings (line_editor_binding_count refer 8 135 (line_editor_key_binding_info.binding_count)), 8 136 3 sequence char(line_editor_longest_sequence refer 8 137 (line_editor_key_binding_info.longest_sequence)) varying, 8 138 3 action fixed bin, 8 139 3 numarg_action fixed binary, 8 140 3 editor_routine entry (pointer, fixed bin(35)), 8 141 3 name char (64) varying unaligned, 8 142 3 description char (256) varying unaligned, 8 143 3 info_path unaligned, 8 144 4 info_dir char (168), 8 145 4 info_entry char (32); 8 146 8 147 8 148 dcl line_editor_key_binding_info_version_3 8 149 char(8) static options (constant) init ("lekbi003"); 8 150 8 151 dcl 1 get_editor_key_bindings_info aligned based (get_editor_key_bindings_info_ptr), 8 152 2 version char (8), 8 153 2 flags, 8 154 3 entire_state bit (1) unaligned, 8 155 3 mbz bit (35) unaligned, 8 156 2 key_binding_info_ptr ptr, 8 157 2 entire_state_ptr ptr; 8 158 8 159 dcl get_editor_key_bindings_info_ptr ptr; 8 160 dcl get_editor_key_bindings_info_version_1 char (8) int static options (constant) init ("gekbi_01"); 8 161 8 162 dcl 1 set_editor_key_bindings_info aligned 8 163 based (set_editor_key_bindings_info_ptr), 8 164 2 version char (8), 8 165 2 flags, 8 166 3 replace bit (1) unaligned, 8 167 3 update bit (1) unaligned, 8 168 3 mbz bit (34) unaligned, 8 169 2 key_binding_info_ptr ptr; 8 170 8 171 dcl set_editor_key_bindings_info_ptr ptr; 8 172 dcl set_editor_key_bindings_info_version_1 char (8) int static options (constant) init ("sekbi_01"); 8 173 8 174 /* This should be moved to window_info.incl.pl1 when that include file is 8 175* created. JR 2/1/84 */ 8 176 8 177 dcl 1 window_edit_line_info 8 178 based (window_edit_line_info_ptr), 8 179 2 version char (8), 8 180 2 line_ptr ptr, 8 181 2 line_length fixed bin (21); /* later we will hack initial cursor position, key bindings, etc. */ 8 182 8 183 dcl window_edit_line_info_version_1 8 184 char (8) static options (constant) init ("wedl0001"); 8 185 8 186 dcl window_edit_line_info_ptr 8 187 ptr; 8 188 8 189 /* END INCLUDE FILE window_control_info.incl.pl1 */ 7 12 7 13 7 14 /* END OF: xforum_windows.incl.pl1 * * * * * */ 359 360 361 display_trans: entry (dt_xforum_meeting_info_ptr, dt_fidx, dt_version); 362 363 /* PARAMETERS */ 364 365 dcl dt_xforum_meeting_info_ptr ptr; 366 dcl dt_fidx fixed bin; 367 dcl dt_version fixed bin; 368 369 /* AUTOMATIC */ 370 371 dcl dt_code fixed bin (35); 372 dcl dt_i fixed bin; 373 dcl dt_trans_no fixed bin; 374 375 xforum_meeting_info_ptr = dt_xforum_meeting_info_ptr; 376 377 call window_$clear_window (xforum_windows.bottom.iocb, (0)); 378 379 if xforum_meeting_info.all then do; 380 call xforum_trans_$first_trans (forum_user_trans_ptr, 381 dt_code); 382 if dt_code ^= 0 then do; 383 call com_err_$suppress_name (dt_code, ME, "Getting first comment."); 384 return; 385 end; 386 387 dt_trans_no = forum_user_trans.trans_no; 388 call update_status (dt_trans_no, dt_version, dt_fidx); 389 call xforum_format_$display (forum_user_trans_ptr, FIRST, dt_code); 390 call xforum_trans_$next_trans (dt_trans_no, forum_user_trans_ptr, dt_code); 391 392 do while (dt_code = 0); 393 dt_trans_no = forum_user_trans.trans_no; 394 call update_status (dt_trans_no, dt_version, dt_fidx); 395 call xforum_format_$display (forum_user_trans_ptr, NEXT, dt_code); 396 call xforum_trans_$next_trans (dt_trans_no, forum_user_trans_ptr, dt_code); 397 end; 398 end; 399 else if xforum_meeting_info.new 400 then do; 401 call xforum_trans_$next_trans (xforum_meeting_info.last_seen, forum_user_trans_ptr, dt_code); 402 if dt_code ^= 0 403 then do; 404 call com_err_$suppress_name (dt_code, ME, "Getting first new comment."); 405 return; 406 end; 407 408 dt_trans_no = forum_user_trans.trans_no; 409 call update_status (dt_trans_no, dt_version, dt_fidx); 410 call xforum_format_$display (forum_user_trans_ptr, FIRST, dt_code); 411 call xforum_trans_$next_trans (dt_trans_no, forum_user_trans_ptr, dt_code); 412 413 do while (dt_code = 0); 414 dt_trans_no = forum_user_trans.trans_no; 415 call update_status (dt_trans_no, dt_version, dt_fidx); 416 call xforum_format_$display (forum_user_trans_ptr, NEXT, dt_code); 417 call xforum_trans_$next_trans (dt_trans_no, forum_user_trans_ptr, dt_code); 418 end; 419 end; 420 else if xforum_meeting_info.range 421 then do; 422 dt_i = xforum_meeting_info.low - 1; 423 call xforum_trans_$next_trans (dt_i, forum_user_trans_ptr, dt_code); 424 if dt_code ^= 0 425 then do; 426 call com_err_$suppress_name (dt_code, ME, "^d:^d", xforum_meeting_info.low, xforum_meeting_info.high); 427 return; 428 end; 429 430 dt_trans_no = forum_user_trans.trans_no; 431 call update_status (forum_user_trans.trans_no, dt_version, dt_fidx); 432 call xforum_format_$display (forum_user_trans_ptr, FIRST, dt_code); 433 434 do dt_i = dt_trans_no + 1 to xforum_meeting_info.high; 435 call xforum_trans_$read (dt_i, forum_user_trans_ptr, dt_code); 436 if dt_code = 0 437 then do; 438 call update_status (forum_user_trans.trans_no, dt_version, dt_fidx); 439 call xforum_format_$display (forum_user_trans_ptr, NEXT, dt_code); 440 end; 441 end; 442 end; 443 else if xforum_meeting_info.allref 444 then do; 445 call xforum_trans_$first_ref (xforum_meeting_info.current_ref, forum_user_trans_ptr, dt_code); 446 dt_trans_no = forum_user_trans.trans_no; 447 call update_status (dt_trans_no, dt_version, dt_fidx); 448 call xforum_format_$display (forum_user_trans_ptr, FIRST, dt_code); 449 call xforum_trans_$next_ref (dt_trans_no, forum_user_trans_ptr, dt_code); 450 do while (dt_code = 0); 451 dt_trans_no = forum_user_trans.trans_no; 452 call update_status (dt_trans_no, dt_version, dt_fidx); 453 call xforum_format_$display (forum_user_trans_ptr, NEXT, dt_code); 454 call xforum_trans_$next_ref (dt_trans_no, forum_user_trans_ptr, dt_code); 455 end; 456 end; 457 else do; 458 call xforum_trans_$read (xforum_meeting_info.current, forum_user_trans_ptr, dt_code); 459 if dt_code ^= 0 460 then do; 461 call com_err_$suppress_name (dt_code, ME, "Reading current comment."); 462 return; 463 end; 464 465 call update_status (forum_user_trans.trans_no, dt_version, dt_fidx); 466 call xforum_format_$display (forum_user_trans_ptr, FIRST, dt_code); 467 if dt_code ^= 0 468 then call com_err_$suppress_name (dt_code, ME, "Trying to print comment."); 469 end; 470 471 exit_display_trans: 472 return; 473 474 enter_trans: entry (et_xforum_meeting_info_ptr, et_fidx, et_spy_ptr, et_flavour); 475 476 /* PARAMETERS */ 477 478 dcl et_xforum_meeting_info_ptr ptr; 479 dcl et_fidx fixed bin; 480 dcl et_flavour bit (1) aligned; 481 dcl et_spy_ptr ptr; 482 483 /* AUTOMATIC */ 484 485 dcl et_bc fixed bin (24); 486 dcl et_chairman_msg char (256); 487 dcl et_chairman_msg_exists bit (1) aligned; 488 dcl et_chars fixed bin (24); 489 dcl et_code fixed bin (35); 490 dcl et_emacs_flavour char (32); 491 dcl et_i fixed bin; 492 dcl et_my_label label; 493 dcl et_prefix_len fixed bin; 494 dcl et_reply_no fixed bin; 495 dcl et_reply_info char (80); 496 dcl et_seg char (et_chars) based (et_trans.trans_seg_ptr); 497 dcl et_sj char (500) varying; 498 dcl et_str char (510) varying; 499 dcl et_subj_len fixed bin; 500 dcl et_trans_num fixed bin; 501 dcl et_txt_len fixed bin; 502 dcl et_unusedb1 bit (1) aligned; 503 dcl et_unusedfb24 fixed bin (24); 504 dcl 1 et_my_overlay based (addr (et_my_label)), 505 2 my_addr ptr, /* segment i'm part of */ 506 2 my_stack ptr; /* my stack frame */ 507 dcl 1 et_trans_seg based (et_trans.trans_seg_ptr), 508 2 prefix char (et_prefix_len) unal, 509 2 subj char (et_subj_len) unal, 510 2 new_line char (1) unal, 511 2 txt char (et_txt_len) unal; 512 513 /* INTERNAL STATIC */ 514 515 dcl 01 et_trans internal static, 516 02 process_dir char (168), 517 02 ext_dir char (168), 518 02 ext_seg char (32), 519 02 ext_ptr ptr, 520 02 have_trans_seg bit (1) unaligned init ("0"b), 521 02 have_view_seg bit (1) unaligned init ("0"b), 522 02 trans_seg_ptr ptr, 523 02 view_seg_ptr ptr; 524 525 xforum_meeting_info_ptr = et_xforum_meeting_info_ptr; 526 et_chairman_msg_exists = FALSE; 527 spy_ptr = et_spy_ptr; 528 529 on quit 530 begin; 531 call xforum_window_mgr$check_window_status; 532 call window_$clear_window (xforum_windows.bottom.iocb, (0)); 533 call ioa_ ("Comment not entered."); 534 call timer_manager_$sleep (3, "11"b); 535 goto exit_enter_trans; 536 end; 537 538 if et_flavour = REPLY 539 then do; 540 call xforum_trans_$read (xforum_meeting_info.current, 541 forum_user_trans_ptr, et_code); 542 if et_code ^= 0 543 then do; 544 call com_err_$suppress_name (et_code, ME, "Could not read the comment you want to reply to."); 545 call timer_manager_$sleep (3, "11"b); 546 goto exit_enter_trans; 547 end; 548 call ioa_$rsnnl ( 549 "Replying to comment no. ^d in the ^a meeting", 550 et_reply_info, (0), forum_user_trans.trans_no, 551 xforum_meeting_info.name); 552 call xforum_status_$update_title (et_reply_info); 553 call xforum_status_$redisplay ((0)); 554 call xforum_window_mgr$resynch_windows (-1, "1"b); 555 call ioa_$rsnnl (" El:previous page of comment ^d Eh:next page of comment ^d", 556 et_reply_info, (0), forum_user_trans.trans_no, forum_user_trans.trans_no); 557 call xforum_help_line_$change ("0"b, "", et_reply_info); 558 end; 559 else call xforum_help_line_$change ("0"b, "", "Press RETURN:enter subject BREAK:abort entry"); 560 561 call window_$clear_window (xforum_windows.bottom.iocb, (0)); 562 call ioa_ ("Please wait for editor..."); 563 564 if et_flavour = REPLY & xforum_meeting_info.current = 0 then do; 565 call com_err_$suppress_name (0, ME, "Invalid current comment specifier for replying to."); 566 goto exit_enter_trans; 567 end; 568 569 570 if ^et_trans.have_trans_seg then do; 571 call initiate_file_$create (get_pdir_ (), "xforum.trans", RW_ACCESS, 572 et_trans.trans_seg_ptr, et_unusedb1, et_unusedfb24, et_code); 573 if et_trans.trans_seg_ptr = null then do; 574 call com_err_$suppress_name (et_code, ME, "Cannot get temp segment for comment."); 575 goto exit_enter_trans; 576 end; 577 578 et_trans.ext_seg = "xforum_emacs_ext_"; 579 et_my_label = here; 580 here: 581 call hcs_$make_ptr (et_my_overlay.my_addr, et_trans.ext_seg, "symbol_table", 582 et_trans.ext_ptr, et_code); 583 if et_code ^= 0 then do; 584 call com_err_$suppress_name (et_code, ME, "Trying to load emacs extensions."); 585 goto exit_enter_trans; 586 end; 587 588 call hcs_$fs_get_path_name (et_trans.ext_ptr, et_trans.ext_dir, (0), 589 (et_trans.ext_seg), et_code); 590 if et_code ^= 0 then do; 591 call com_err_$suppress_name (et_code, ME, "Trying to load emacs extensions."); 592 goto exit_enter_trans; 593 end; 594 595 et_trans.have_trans_seg = ON; 596 et_trans.process_dir = get_pdir_ (); 597 end; 598 599 if et_flavour = REPLY & ^et_trans.have_view_seg then do; 600 call initiate_file_$create (get_pdir_ (), "xforum_view_seg", RW_ACCESS, 601 et_trans.view_seg_ptr, et_unusedb1, et_unusedfb24, et_code); 602 if et_trans.view_seg_ptr = null then do; 603 call com_err_$suppress_name (et_code, ME, "Cannot get temp segment for comment."); 604 goto exit_enter_trans; 605 end; 606 607 et_trans.have_view_seg = ON; 608 end; 609 610 call hcs_$set_bc_seg (et_trans.trans_seg_ptr, 0, (0)); 611 612 if et_flavour = REPLY then do; 613 et_emacs_flavour = "reply"; 614 call xforum_format_$write (forum_user_trans_ptr, 615 et_trans.view_seg_ptr, et_code); 616 end; 617 else et_emacs_flavour = "talk"; 618 619 if (et_flavour = REPLY) then do; 620 call forum_$get_message (et_fidx, et_chairman_msg, et_code); 621 if et_code ^= 0 then 622 et_chairman_msg_exists = FALSE; 623 /* could have deleted it */ 624 else do; 625 et_chairman_msg_exists = TRUE; 626 call ioa_ (rtrim (et_chairman_msg)); 627 end; 628 end; 629 630 call emacs_ (xforum_windows.bottom.iocb, 631 rtrim (et_trans.process_dir) || ">xforum.trans", 632 rtrim (et_trans.ext_dir) || ">" || rtrim (et_trans.ext_seg), 633 addr (et_emacs_flavour), et_code); 634 if et_code ^= 0 then do; 635 if et_flavour = REPLY 636 then call collect_spy_data (SPY_AT_8, "QUIT"); 637 else call collect_spy_data (SPY_AT_9, "QUIT"); 638 call ioa_ ("Comment not entered."); 639 call timer_manager_$sleep (3, "11"b); 640 et_code = 0; 641 goto exit_enter_trans; 642 end; 643 644 call initiate_file_ (et_trans.process_dir, "xforum.trans", RW_ACCESS, 645 et_trans.trans_seg_ptr, et_bc, et_code); 646 /* get bit count */ 647 if et_trans.trans_seg_ptr = null then do; 648 et_trans.have_trans_seg = OFF; 649 call com_err_$suppress_name (et_code, ME, "Getting bit count of comment."); 650 goto exit_enter_trans; 651 end; 652 653 if et_bc = 0 then do; 654 call com_err_$suppress_name (0, ME, "No data in comment."); 655 goto exit_enter_trans; 656 end; 657 658 et_chars = divide (et_bc, 9, 17, 0); 659 660 et_str = before (et_seg, NL); 661 662 if substr (et_str, 1, 9) ^= "Subject: " then do; 663 call com_err_$suppress_name (0, ME, "No subject in comment."); 664 goto exit_enter_trans; 665 end; 666 667 et_sj = after (et_str, "Subject: "); 668 et_prefix_len = 9; 669 670 et_subj_len = length (et_sj); 671 672 et_txt_len = et_chars - (et_prefix_len + et_subj_len + 1); 673 674 if et_flavour = REPLY then 675 et_reply_no = xforum_meeting_info.current; 676 else et_reply_no = 0; 677 678 call forum_$enter_trans (xforum_meeting_info.idx, 679 et_trans_seg.txt, et_reply_no, et_trans_seg.subj, OFF, et_trans_num, 680 et_code); 681 if et_code ^= 0 then do; 682 call com_err_$suppress_name (et_code, ME, "Trying to enter comment."); 683 goto exit_enter_trans; 684 end; 685 686 if et_trans_num > xforum_meeting_info.last_trans + 1 687 then do; 688 do et_i = xforum_meeting_info.last_trans + 1 to et_trans_num - 1; 689 xforum_meeting_info.seen_map_ptr -> seen_map (et_i) = "0"b; 690 xforum_meeting_info.unread_count = xforum_meeting_info.unread_count + 1; 691 end; 692 if xforum_meeting_info.next_unread = -1 693 then xforum_meeting_info.next_unread = xforum_meeting_info.last_trans + 1; 694 end; 695 696 xforum_meeting_info.seen_map_ptr -> seen_map (et_trans_num) = "1"b; 697 xforum_meeting_info.last_trans = et_trans_num; 698 699 call ioa_ ("Comment ^d entered into the ^a meeting.", et_trans_num, 700 xforum_meeting_info.name); 701 call timer_manager_$sleep (3, "11"b); 702 703 exit_enter_trans: 704 return; 705 706 next_trans: entry (nt_xforum_meeting_info_ptr, nt_fidx, nt_version); 707 708 /* PARAMETERS */ 709 710 dcl nt_xforum_meeting_info_ptr ptr; 711 dcl nt_fidx fixed bin; 712 dcl nt_version fixed bin; 713 714 /* AUTOMATIC */ 715 716 dcl nt_code fixed bin (35); 717 718 xforum_meeting_info_ptr = nt_xforum_meeting_info_ptr; 719 720 if xforum_meeting_info.current = 0 then 721 if ^xforum_meeting_info.range then do; 722 /* range is ok */ 723 call com_err_$suppress_name (0, "", 724 """Next"" incompatible with current comment specifier."); 725 return; 726 end; 727 728 if xforum_meeting_info.range 729 then call xforum_trans_$next_trans (xforum_meeting_info.high, forum_user_trans_ptr, nt_code); 730 else call xforum_trans_$next_trans (xforum_meeting_info.current, forum_user_trans_ptr, nt_code); 731 if nt_code ^= 0 732 then do; 733 call window_$clear_window (xforum_windows.bottom.iocb, (0)); 734 if nt_code = forum_error_table_$invalid_trans_idx 735 then call com_err_$suppress_name (0, ME, "There is no next comment."); 736 else call com_err_$suppress_name (nt_code, ME); 737 end; 738 else do; 739 xforum_meeting_info.current = forum_user_trans.trans_no; 740 xforum_meeting_info.range = FALSE; 741 call update_status (forum_user_trans.trans_no, nt_version, nt_fidx); 742 call xforum_format_$display (forum_user_trans_ptr, FIRST, nt_code); 743 if nt_code ^= 0 744 then call com_err_$suppress_name (nt_code, ME, "Trying to print comment."); 745 end; 746 747 return; 748 749 prev_trans: entry (pt_xforum_meeting_info_ptr, pt_fidx, pt_version); 750 751 /* PARAMETERS */ 752 753 dcl pt_xforum_meeting_info_ptr ptr; 754 dcl pt_fidx fixed bin; 755 dcl pt_version fixed bin; 756 757 /* AUTOMATIC */ 758 759 dcl pt_code fixed bin (35); 760 761 xforum_meeting_info_ptr = pt_xforum_meeting_info_ptr; 762 763 if xforum_meeting_info.current = 0 then 764 if ^xforum_meeting_info.range then do; 765 call com_err_$suppress_name (0, "", 766 """Previous"" incompatible with current comment speficier."); 767 return; 768 end; 769 770 if xforum_meeting_info.range 771 then call xforum_trans_$prev_trans (xforum_meeting_info.low, forum_user_trans_ptr, pt_code); 772 else call xforum_trans_$prev_trans (xforum_meeting_info.current, forum_user_trans_ptr, pt_code); 773 if pt_code ^= 0 774 then do; 775 call window_$clear_window (xforum_windows.bottom.iocb, (0)); 776 if pt_code = forum_error_table_$invalid_trans_idx 777 then call com_err_$suppress_name (0, ME, "There is no previous comment."); 778 else call com_err_$suppress_name (pt_code, ME); 779 end; 780 else do; 781 xforum_meeting_info.current = forum_user_trans.trans_no; 782 xforum_meeting_info.range = FALSE; 783 call update_status (forum_user_trans.trans_no, pt_version, pt_fidx); 784 call xforum_format_$display (forum_user_trans_ptr, FIRST, pt_code); 785 if pt_code ^= 0 786 then call com_err_$suppress_name (pt_code, ME, "Trying to print comment."); 787 end; 788 789 return; 790 791 list_trans: entry (lt_xforum_meeting_info_ptr); 792 793 /* PARAMETERS */ 794 795 dcl lt_xforum_meeting_info_ptr ptr; 796 797 /* AUTOMATIC */ 798 799 dcl lt_code fixed bin (35); 800 dcl lt_i fixed bin; 801 dcl lt_trans_no fixed bin; 802 803 xforum_meeting_info_ptr = lt_xforum_meeting_info_ptr; 804 805 call window_$clear_window (xforum_windows.bottom.iocb, (0)); 806 807 call ioa_ ( 808 "Comment#^7tLines^18tDate^25tTime^32tAuthor^56tSubject"); 809 810 if xforum_meeting_info.all then do; 811 call xforum_trans_$first_trans (forum_user_trans_ptr, 812 lt_code); 813 if lt_code ^= 0 then do; 814 call com_err_$suppress_name (lt_code, ME, "Getting first comment."); 815 return; 816 end; 817 818 lt_trans_no = forum_user_trans.trans_no; 819 820 call xforum_format_$list (forum_user_trans_ptr, lt_code); 821 822 call xforum_trans_$next_trans (lt_trans_no, forum_user_trans_ptr, lt_code); 823 824 do while (lt_code = 0); 825 lt_trans_no = forum_user_trans.trans_no; 826 call xforum_format_$list (forum_user_trans_ptr, lt_code); 827 call xforum_trans_$next_trans (lt_trans_no, forum_user_trans_ptr, lt_code); 828 end; 829 end; 830 else if xforum_meeting_info.new then do; 831 call xforum_trans_$next_trans (xforum_meeting_info 832 .last_seen, forum_user_trans_ptr, lt_code); 833 if lt_code ^= 0 then do; 834 call com_err_$suppress_name (lt_code, ME, "Getting first comment."); 835 return; 836 end; 837 838 lt_trans_no = forum_user_trans.trans_no; 839 call xforum_format_$list (forum_user_trans_ptr, lt_code); 840 call xforum_trans_$next_trans (lt_trans_no, forum_user_trans_ptr, lt_code); 841 842 do while (lt_code = 0); 843 lt_trans_no = forum_user_trans.trans_no; 844 call xforum_format_$list (forum_user_trans_ptr, lt_code); 845 call xforum_trans_$next_trans (lt_trans_no, forum_user_trans_ptr, lt_code); 846 end; 847 end; 848 else if xforum_meeting_info.range then do; 849 lt_i = xforum_meeting_info.low - 1; 850 call xforum_trans_$next_trans (lt_i, forum_user_trans_ptr, 851 lt_code); 852 if lt_code ^= 0 then do; 853 call com_err_$suppress_name (lt_code, ME, "^d:^d", 854 xforum_meeting_info.low, xforum_meeting_info.high); 855 return; 856 end; 857 858 lt_trans_no = forum_user_trans.trans_no; 859 call xforum_format_$list (forum_user_trans_ptr, lt_code); 860 do lt_i = lt_trans_no + 1 to xforum_meeting_info.high; 861 call xforum_trans_$read (lt_i, forum_user_trans_ptr, lt_code); 862 if lt_code = 0 863 then call xforum_format_$list (forum_user_trans_ptr, lt_code); 864 end; 865 end; 866 else if xforum_meeting_info.allref then do; 867 call xforum_trans_$first_ref (xforum_meeting_info 868 .current_ref, forum_user_trans_ptr, lt_code); 869 870 do while (lt_code = 0); 871 lt_trans_no = forum_user_trans.trans_no; 872 call xforum_format_$list (forum_user_trans_ptr, lt_code); 873 call xforum_trans_$next_ref (lt_trans_no, forum_user_trans_ptr, lt_code); 874 end; 875 end; 876 else do; 877 call xforum_trans_$read (xforum_meeting_info.current, 878 forum_user_trans_ptr, lt_code); 879 if lt_code ^= 0 then do; 880 call com_err_$suppress_name (lt_code, ME, "Reading current comment."); 881 return; 882 end; 883 884 call xforum_format_$list (forum_user_trans_ptr, lt_code); 885 if lt_code ^= 0 then 886 call com_err_$suppress_name (lt_code, ME, "Trying list comment."); 887 end; 888 889 exit_list_trans: 890 return; 891 892 select_trans_spec: entry (sts_xforum_meeting_info_ptr, sts_spy_ptr); 893 894 /* PARAMETERS */ 895 896 dcl sts_xforum_meeting_info_ptr ptr; 897 dcl sts_spy_ptr ptr; 898 899 /* AUTOMATIC */ 900 901 dcl sts_code fixed bin (35); 902 dcl sts_reply char (132); 903 dcl sts_reply_len fixed bin (21); 904 905 xforum_meeting_info_ptr = sts_xforum_meeting_info_ptr; 906 spy_ptr = sts_spy_ptr; 907 908 on quit 909 begin; 910 call xforum_window_mgr$check_window_status; 911 call window_$clear_window (xforum_windows.bottom 912 .iocb, (0)); 913 call xforum_help_line_$pop; 914 call xforum_status_$redisplay ((0)); 915 call collect_spy_data (SPY_AT_10, "QUIT"); 916 goto exit_select_trans_spec; 917 end; 918 919 call window_$clear_window (xforum_windows.bottom.iocb, (0)); 920 921 select_trans_spec_prompt: 922 call ioa_$nnl ("Which comments(s) do you wish to select? "); 923 924 call xforum_help_line_$push ("0"b, "", QUERY_USAGE); 925 926 call iox_$get_line (iox_$user_input, addr (sts_reply), 927 length (sts_reply), sts_reply_len, sts_code); 928 if sts_code = error_table_$long_record then do; 929 call ioa_ ( 930 "Comment specifier too long - please reenter^/ (or press BREAK to return to menu)." 931 ); 932 goto select_trans_spec_prompt; 933 end; 934 935 if sts_code ^= 0 then 936 call error (sts_code, "Trying to get response."); 937 938 if sts_reply_len = 1 939 then call collect_spy_data (SPY_AT_10, "RETURN"); 940 else do; 941 if substr (sts_reply, 1, sts_reply_len - 1) = "?" 942 then call collect_spy_data (SPY_AT_10, "?"); 943 else 944 if index (sts_reply, ":") ^= 0 945 then call collect_spy_data (SPY_AT_10, "range"); 946 else 947 if verify (substr (sts_reply, 1, sts_reply_len - 1), "0123456789") ^= 0 948 then call collect_spy_data (SPY_AT_10, "number"); 949 else call collect_spy_data (SPY_AT_10, substr (sts_reply, 1, sts_reply_len - 1)); 950 951 if substr (sts_reply, 1, sts_reply_len - 1) = "?" 952 then do; /* wants help */ 953 call xforum_help_$display ("xforum_prompt", "comment_spec"); 954 goto select_trans_spec_prompt; 955 end; 956 957 call xforum_validate_trans_spec_ ( 958 substr (sts_reply, 1, sts_reply_len - 1), sts_code); 959 if sts_code ^= 0 then 960 goto select_trans_spec_prompt; 961 end; 962 963 call xforum_help_line_$pop; 964 965 exit_select_trans_spec: 966 return; 967 968 next_ref: entry (nr_xforum_meeting_info_ptr, nr_fidx, nr_version); 969 970 /* PARAMETERS */ 971 972 dcl nr_xforum_meeting_info_ptr ptr; 973 dcl nr_fidx fixed bin; 974 dcl nr_version fixed bin; 975 976 /* AUTOMATIC */ 977 978 dcl nr_code fixed bin (35); 979 980 xforum_meeting_info_ptr = nr_xforum_meeting_info_ptr; 981 982 if xforum_meeting_info.current = 0 then do; 983 call com_err_$suppress_name (0, "", 984 """Next Reference"" incompatible with current comment specifier."); 985 return; 986 end; 987 988 call xforum_trans_$next_ref (xforum_meeting_info.current, forum_user_trans_ptr, nr_code); 989 if nr_code ^= 0 990 then do; 991 call window_$clear_window (xforum_windows.bottom.iocb, (0)); 992 if nr_code = forum_error_table_$invalid_trans_idx 993 then call com_err_$suppress_name (0, ME, "There are no more comments in the current chain."); 994 else call com_err_$suppress_name (nr_code, ME); 995 end; 996 else do; 997 xforum_meeting_info.current = forum_user_trans.trans_no; 998 call update_status (forum_user_trans.trans_no, nr_version, nr_fidx); 999 call xforum_format_$display (forum_user_trans_ptr, FIRST, nr_code); 1000 if nr_code = 0 1001 then call com_err_$suppress_name (nr_code, ME, "Trying to print comment."); 1002 end; 1003 1004 return; 1005 1006 prev_ref: entry (pr_xforum_meeting_info_ptr, pr_fidx, pr_version); 1007 1008 /* PARAMETERS */ 1009 1010 dcl pr_xforum_meeting_info_ptr ptr; 1011 dcl pr_fidx fixed bin; 1012 dcl pr_version fixed bin; 1013 1014 /* AUTOMATIC */ 1015 1016 dcl pr_code fixed bin (35); 1017 1018 1019 xforum_meeting_info_ptr = pr_xforum_meeting_info_ptr; 1020 1021 if xforum_meeting_info.current = 0 then do; 1022 call com_err_$suppress_name (0, "", 1023 """Previous Reference"" incompatible with current comment specifier."); 1024 return; 1025 end; 1026 1027 call xforum_trans_$prev_ref (xforum_meeting_info.current, 1028 forum_user_trans_ptr, pr_code); 1029 if pr_code ^= 0 1030 then do; 1031 call window_$clear_window (xforum_windows.bottom.iocb, (0)); 1032 if pr_code = forum_error_table_$invalid_trans_idx 1033 then call com_err_$suppress_name (0, ME, "There are no previous comments in the current chain."); 1034 else call com_err_$suppress_name (pr_code, ME); 1035 end; 1036 else do; 1037 xforum_meeting_info.current = forum_user_trans.trans_no; 1038 call update_status (forum_user_trans.trans_no, pr_version, pr_fidx); 1039 call xforum_format_$display (forum_user_trans_ptr, FIRST, 1040 pr_code); 1041 if pr_code ^= 0 then 1042 call com_err_$suppress_name (pr_code, ME, "Trying to print comment."); 1043 end; 1044 1045 return; 1046 1047 first_ref: entry (fr_xforum_meeting_info_ptr, fr_fidx, fr_version); 1048 1049 /* PARAMETERS */ 1050 1051 dcl fr_xforum_meeting_info_ptr ptr; 1052 dcl fr_fidx fixed bin; 1053 dcl fr_version fixed bin; 1054 1055 /* AUTOMATIC */ 1056 1057 dcl fr_code fixed bin (35); 1058 1059 1060 xforum_meeting_info_ptr = fr_xforum_meeting_info_ptr; 1061 1062 if xforum_meeting_info.current = 0 then do; 1063 call com_err_$suppress_name (0, "", 1064 """First Reference"" incompatible with current comment specifier."); 1065 return; 1066 end; 1067 1068 call xforum_trans_$first_ref (xforum_meeting_info.current, 1069 forum_user_trans_ptr, fr_code); 1070 if fr_code ^= 0 then 1071 call com_err_$suppress_name (fr_code, ME); 1072 else do; 1073 xforum_meeting_info.current = forum_user_trans.trans_no; 1074 call update_status (forum_user_trans.trans_no, fr_version, fr_fidx); 1075 call xforum_format_$display (forum_user_trans_ptr, FIRST, 1076 fr_code); 1077 if fr_code ^= 0 then 1078 call com_err_$suppress_name (fr_code, ME, "Trying to print comment."); 1079 end; 1080 1081 return; 1082 1083 copy_comments: entry (cc_xforum_meeting_info_ptr, cc_spy_ptr, cc_fidx, cc_version); 1084 1085 /* PARAMETERS */ 1086 1087 dcl cc_xforum_meeting_info_ptr ptr; 1088 dcl cc_spy_ptr ptr; 1089 dcl cc_fidx fixed bin; 1090 dcl cc_version fixed bin; 1091 1092 /* AUTOMATIC */ 1093 1094 dcl cc_bc fixed bin (24); 1095 dcl cc_code fixed bin (35); 1096 dcl cc_dir_name char (168); 1097 dcl cc_entry_name char (32); 1098 dcl cc_i fixed bin; 1099 dcl cc_number_of_comments fixed bin; 1100 dcl cc_reply char (200); 1101 dcl cc_reply_len fixed bin (21); 1102 dcl cc_seg_ptr ptr; 1103 dcl cc_trans_no fixed bin; 1104 dcl cc_unusedb1 bit (1) aligned; 1105 1106 xforum_meeting_info_ptr = cc_xforum_meeting_info_ptr; 1107 1108 spy_ptr = cc_spy_ptr; 1109 1110 call window_$clear_window (xforum_windows.bottom.iocb, (0)); 1111 1112 call xforum_help_line_$push ("0"b, "", QUERY_USAGE); 1113 1114 cc_number_of_comments = 0; 1115 1116 on quit 1117 begin; 1118 call xforum_window_mgr$check_window_status; 1119 call window_$clear_window (xforum_windows.bottom.iocb, (0)); 1120 call xforum_help_line_$pop; 1121 call collect_spy_data (SPY_AT_15, "QUIT"); 1122 goto exit_copy_comments; 1123 end; 1124 1125 cc_code = 1; 1126 do while (cc_code ^= 0); 1127 call ioa_$nnl ("Enter the name of the file: "); 1128 call iox_$get_line (iox_$user_input, addr (cc_reply), length (cc_reply), cc_reply_len, cc_code); 1129 if cc_code = error_table_$long_record 1130 then call ioa_ ("File name must be less than 168 characters.^/"); 1131 else 1132 if cc_code ^= 0 1133 then do; 1134 call com_err_$suppress_name (cc_code, "", "^/Could not get your response to the file name question."); 1135 return; 1136 end; 1137 if cc_reply_len = 1 1138 then cc_reply = ""; /* striping off newline leaves nothing */ 1139 else cc_reply = substr (cc_reply, 1, cc_reply_len - 1); /* strip off new line char */ 1140 1141 if rtrim (cc_reply) = "" 1142 then do; 1143 call com_err_$suppress_name (0, "", "^/A file name must be entered. To return to the menu press BREAK.^/"); 1144 cc_code = 1; 1145 end; 1146 else 1147 if cc_reply = "?" 1148 then do; 1149 call collect_spy_data (SPY_AT_15, "?"); 1150 call xforum_help_$display ("xforum_prompt", "file_name"); 1151 call ioa_ ("^/"); 1152 cc_code = 1; 1153 end; 1154 else if cc_reply = "??" 1155 then do; 1156 call collect_spy_data (SPY_AT_15, "??"); 1157 call ioa_ ("A menu of all possible file names cannot be constructed.^/"); 1158 cc_code = 1; 1159 end; 1160 else do; 1161 call expand_pathname_ (cc_reply, cc_dir_name, cc_entry_name, cc_code); 1162 if cc_code ^= 0 1163 then do; 1164 call collect_spy_data (SPY_AT_15, "invalid"); 1165 call com_err_$suppress_name (cc_code, "", "^a is not a valid file name.", cc_reply); 1166 end; 1167 end; 1168 end; 1169 1170 if (index (cc_reply, ">") > 0) | (index (cc_reply, "<") > 0) 1171 then call collect_spy_data (SPY_AT_15, "pathname"); 1172 else call collect_spy_data (SPY_AT_15, "name"); 1173 1174 call initiate_file_$create (cc_dir_name, cc_entry_name, RW_ACCESS, cc_seg_ptr, cc_unusedb1, cc_bc, cc_code); 1175 if cc_code ^= 0 1176 then do; 1177 call com_err_$suppress_name (cc_code, ME, "Could not find or create the file ^a>^a.", cc_dir_name, cc_entry_name); 1178 return; 1179 end; 1180 1181 call ioa_ ("^/^/ Comments are being copied to ^a.", cc_reply); 1182 call xforum_help_line_$push ("0"b, "Return to Meeting menu", ""); 1183 1184 if xforum_meeting_info.all then do; 1185 call xforum_trans_$first_trans (forum_user_trans_ptr, cc_code); 1186 if cc_code ^= 0 1187 then do; 1188 call com_err_$suppress_name (cc_code, ME, "Getting first comment."); 1189 return; 1190 end; 1191 1192 cc_trans_no = forum_user_trans.trans_no; 1193 call update_status (cc_trans_no, cc_version, cc_fidx); 1194 call xforum_format_$append (forum_user_trans_ptr, cc_seg_ptr, cc_bc, cc_code); 1195 cc_number_of_comments = cc_number_of_comments + 1; 1196 call xforum_trans_$next_trans (cc_trans_no, forum_user_trans_ptr, cc_code); 1197 1198 do while (cc_code = 0); 1199 cc_trans_no = forum_user_trans.trans_no; 1200 call update_status (cc_trans_no, cc_version, cc_fidx); 1201 call xforum_format_$append (forum_user_trans_ptr, cc_seg_ptr, cc_bc, cc_code); 1202 cc_number_of_comments = cc_number_of_comments + 1; 1203 call xforum_trans_$next_trans (cc_trans_no, forum_user_trans_ptr, cc_code); 1204 end; 1205 end; 1206 else if xforum_meeting_info.new 1207 then do; 1208 call xforum_trans_$next_trans (xforum_meeting_info.last_seen, forum_user_trans_ptr, cc_code); 1209 if cc_code ^= 0 1210 then do; 1211 call com_err_$suppress_name (cc_code, ME, "Getting first new comment."); 1212 return; 1213 end; 1214 1215 cc_trans_no = forum_user_trans.trans_no; 1216 call update_status (cc_trans_no, cc_version, cc_fidx); 1217 call xforum_format_$append (forum_user_trans_ptr, cc_seg_ptr, cc_bc, cc_code); 1218 cc_number_of_comments = cc_number_of_comments + 1; 1219 call xforum_trans_$next_trans (cc_trans_no, forum_user_trans_ptr, cc_code); 1220 1221 do while (cc_code = 0); 1222 cc_trans_no = forum_user_trans.trans_no; 1223 call update_status (cc_trans_no, cc_version, cc_fidx); 1224 call xforum_format_$append (forum_user_trans_ptr, cc_seg_ptr, cc_bc, cc_code); 1225 cc_number_of_comments = cc_number_of_comments + 1; 1226 call xforum_trans_$next_trans (cc_trans_no, forum_user_trans_ptr, cc_code); 1227 end; 1228 end; 1229 else if xforum_meeting_info.range 1230 then do; 1231 cc_i = xforum_meeting_info.low - 1; 1232 call xforum_trans_$next_trans (cc_i, forum_user_trans_ptr, cc_code); 1233 if cc_code ^= 0 1234 then do; 1235 call com_err_$suppress_name (cc_code, ME, "^d:^d", xforum_meeting_info.low, xforum_meeting_info.high); 1236 return; 1237 end; 1238 1239 cc_trans_no = forum_user_trans.trans_no; 1240 call update_status (forum_user_trans.trans_no, cc_version, cc_fidx); 1241 call xforum_format_$append (forum_user_trans_ptr, cc_seg_ptr, cc_bc, cc_code); 1242 cc_number_of_comments = cc_number_of_comments + 1; 1243 1244 do cc_i = cc_trans_no + 1 to xforum_meeting_info.high; 1245 call xforum_trans_$read (cc_i, forum_user_trans_ptr, cc_code); 1246 if cc_code = 0 1247 then do; 1248 call update_status (forum_user_trans.trans_no, cc_version, cc_fidx); 1249 call xforum_format_$append (forum_user_trans_ptr, cc_seg_ptr, cc_bc, cc_code); 1250 cc_number_of_comments = cc_number_of_comments + 1; 1251 end; 1252 end; 1253 end; 1254 else if xforum_meeting_info.allref 1255 then do; 1256 call xforum_trans_$first_ref (xforum_meeting_info.current_ref, forum_user_trans_ptr, cc_code); 1257 cc_trans_no = forum_user_trans.trans_no; 1258 call update_status (cc_trans_no, cc_version, cc_fidx); 1259 call xforum_format_$append (forum_user_trans_ptr, cc_seg_ptr, cc_bc, cc_code); 1260 cc_number_of_comments = cc_number_of_comments + 1; 1261 call xforum_trans_$next_ref (cc_trans_no, forum_user_trans_ptr, cc_code); 1262 do while (cc_code = 0); 1263 cc_trans_no = forum_user_trans.trans_no; 1264 call update_status (cc_trans_no, cc_version, cc_fidx); 1265 call xforum_format_$append (forum_user_trans_ptr, cc_seg_ptr, cc_bc, cc_code); 1266 cc_number_of_comments = cc_number_of_comments + 1; 1267 call xforum_trans_$next_ref (cc_trans_no, forum_user_trans_ptr, cc_code); 1268 end; 1269 end; 1270 else do; 1271 call xforum_trans_$read (xforum_meeting_info.current, forum_user_trans_ptr, cc_code); 1272 if cc_code ^= 0 1273 then do; 1274 call com_err_$suppress_name (cc_code, ME, "Reading current comment."); 1275 return; 1276 end; 1277 1278 call update_status (forum_user_trans.trans_no, cc_version, cc_fidx); 1279 call xforum_format_$append (forum_user_trans_ptr, cc_seg_ptr, cc_bc, cc_code); 1280 if cc_code ^= 0 1281 then call com_err_$suppress_name (cc_code, ME, "Trying to print comment."); 1282 else cc_number_of_comments = cc_number_of_comments + 1; 1283 end; 1284 1285 call window_$clear_window (xforum_windows.bottom.iocb, (0)); 1286 call ioa_ ("^d comments copied to file ^a.", cc_number_of_comments, cc_reply); 1287 1288 exit_copy_comments: 1289 return; 1290 1291 next_unread_trans: entry (nut_xforum_meeting_info_ptr, nut_fidx, nut_version); 1292 1293 /* PARAMETERS */ 1294 1295 dcl nut_xforum_meeting_info_ptr ptr; 1296 dcl nut_fidx fixed bin; 1297 dcl nut_version fixed bin; 1298 1299 /* AUTOMATIC */ 1300 1301 dcl nut_code fixed bin (35); 1302 dcl nut_found bit (1); 1303 dcl nut_i fixed bin; 1304 1305 1306 1307 xforum_meeting_info_ptr = nut_xforum_meeting_info_ptr; 1308 1309 xforum_meeting_info.flags.all = "0"b; 1310 xforum_meeting_info.flags.allref = "0"b; 1311 xforum_meeting_info.flags.new = "0"b; 1312 xforum_meeting_info.flags.range = "0"b; 1313 1314 nut_found = "0"b; 1315 do while (xforum_meeting_info.next_unread ^= -1 & ^nut_found); 1316 xforum_meeting_info.current = xforum_meeting_info.next_unread; 1317 1318 call xforum_trans_$read (xforum_meeting_info.current, forum_user_trans_ptr, nut_code); 1319 if nut_code = forum_error_table_$trans_deleted | 1320 nut_code = forum_error_table_$trans_reaped 1321 then do; 1322 xforum_meeting_info.seen_map_ptr -> seen_map (xforum_meeting_info.current) = "1"b; 1323 xforum_meeting_info.unread_count = xforum_meeting_info.unread_count - 1; 1324 if nut_version = 2 1325 then call forum_$set_seen_switch (nut_fidx, "", xforum_meeting_info.current, ON, nut_code); 1326 xforum_meeting_info.next_unread = -1; 1327 do nut_i = xforum_meeting_info.current + 1 to xforum_meeting_info.last_trans while (xforum_meeting_info.next_unread = -1); 1328 if ^xforum_meeting_info.seen_map_ptr -> seen_map (nut_i) 1329 then xforum_meeting_info.next_unread = nut_i; 1330 end; 1331 end; 1332 else do; 1333 if nut_code ^= 0 1334 then do; 1335 call com_err_$suppress_name (nut_code, ME, "Reading current comment."); 1336 return; 1337 end; 1338 else nut_found = "1"b; /* get out of the loop */ 1339 end; 1340 end; 1341 1342 if xforum_meeting_info.next_unread = -1 1343 then do; 1344 call window_$clear_window (xforum_windows.bottom.iocb, (0)); 1345 call ioa_ ("There are no unread comments in this meeting."); 1346 return; 1347 end; 1348 1349 call update_status (forum_user_trans.trans_no, nut_version, nut_fidx); 1350 call xforum_format_$display (forum_user_trans_ptr, FIRST, nut_code); 1351 if nut_code ^= 0 1352 then call com_err_$suppress_name (nut_code, ME, "Trying to print comment."); 1353 1354 return; 1355 1356 meeting_maintenance: entry (mm_xforum_meeting_info_ptr); 1357 1358 /* PARAMETERS */ 1359 1360 dcl mm_xforum_meeting_info_ptr ptr; 1361 1362 1363 1364 call ioa_ ("Meeting Maintenance has not yet been implemented."); 1365 call timer_manager_$sleep (4, "11"b); 1366 1367 return; 1368 1369 update_status: proc (us_trans_no, us_version, us_fidx); 1370 1371 /* PARAMETERS */ 1372 1373 dcl us_trans_no fixed bin; 1374 dcl us_version fixed bin; 1375 dcl us_fidx fixed bin; 1376 1377 /* AUTOMATIC */ 1378 1379 dcl us_code fixed bin (35); 1380 dcl us_current_text char (33); 1381 dcl us_i fixed bin; 1382 dcl us_last_trans fixed bin; 1383 dcl us_new_text char (12); 1384 dcl us_total_text char (11); 1385 dcl us_unused_b36 bit (36) aligned; 1386 1387 1388 if us_version = 2 1389 then call forum_$set_seen_switch (us_fidx, "", us_trans_no, ON, us_code); 1390 1391 if (us_version = 1) & (us_trans_no > xforum_meeting_info.last_seen) 1392 then call forum_$set_last_seen_idx (us_fidx, us_trans_no, ON, us_code); 1393 1394 if ^xforum_meeting_info.seen_map_ptr -> seen_map (us_trans_no) 1395 then do; 1396 xforum_meeting_info.seen_map_ptr -> seen_map (us_trans_no) = "1"b; 1397 xforum_meeting_info.unread_count = xforum_meeting_info.unread_count - 1; 1398 if xforum_meeting_info.next_unread = us_trans_no 1399 then do; 1400 xforum_meeting_info.next_unread = -1; 1401 do us_i = us_trans_no + 1 to xforum_meeting_info.last_trans while (xforum_meeting_info.next_unread = -1); 1402 if ^xforum_meeting_info.seen_map_ptr -> seen_map (us_i) 1403 then xforum_meeting_info.next_unread = us_i; 1404 end; 1405 end; 1406 end; 1407 1408 call forum_$forum_limits (us_fidx, ONLY_UNDELETED, 1409 xforum_meeting_info.last_seen, 1410 xforum_meeting_info.first_trans, 1411 us_last_trans, 1412 xforum_meeting_info.new_trans, us_unused_b36, us_code); 1413 1414 if us_last_trans > xforum_meeting_info.last_trans 1415 then do; 1416 do us_i = xforum_meeting_info.last_trans + 1 to us_last_trans; 1417 xforum_meeting_info.seen_map_ptr -> seen_map (us_i) = "0"b; 1418 xforum_meeting_info.unread_count = xforum_meeting_info.unread_count + 1; 1419 end; 1420 if xforum_meeting_info.next_unread = -1 1421 then xforum_meeting_info.next_unread = xforum_meeting_info.last_trans + 1; 1422 xforum_meeting_info.last_trans = us_last_trans; 1423 end; 1424 1425 call ioa_$rsnnl ("Total: ^d", us_total_text, (0), xforum_meeting_info.last_trans); 1426 1427 call ioa_$rsnnl ("Unread: ^d", us_new_text, (0), xforum_meeting_info.unread_count); 1428 1429 call ioa_$rsnnl ( 1430 "Current comments(s): ^[^[all^]^[aref^]^[new^]^[^d:^d^s^]^;^s^s^s^s^s^s^d^]", 1431 us_current_text, (0), 1432 unspec (xforum_meeting_info.flags ^= "0"b), 1433 xforum_meeting_info.flags.all, 1434 xforum_meeting_info.flags.allref, 1435 xforum_meeting_info.flags.new, 1436 xforum_meeting_info.flags.range, xforum_meeting_info.low, 1437 xforum_meeting_info.high, xforum_meeting_info.current); 1438 1439 call xforum_status_$update_total (us_total_text); 1440 call xforum_status_$update_new (us_new_text); 1441 call xforum_status_$update_current (us_current_text); 1442 call xforum_status_$redisplay ((0)); 1443 1444 return; 1445 1446 end update_status; 1447 1448 collect_spy_data: proc (csd_where, csd_response); 1449 1450 dcl csd_where fixed bin; 1451 dcl csd_response char (*); 1452 1453 spy.count = spy.count + 1; 1454 spy.choices (count).at = csd_where; 1455 spy.choices (count).choice = csd_response; 1456 1457 return; 1458 1459 end collect_spy_data; 1460 1461 error: proc (e_code, e_reason); 1462 1463 /* PARAMETERS */ 1464 1465 dcl e_code fixed bin (35); 1466 dcl e_reason char (512); 1467 1468 xamo_xforum_error_info.name = "xforum_window_mgr"; 1469 xamo_xforum_error_info.entry = ""; 1470 xamo_xforum_error_info.doing = ""; 1471 xamo_xforum_error_info.code = e_code; 1472 xamo_xforum_error_info.reason = e_reason; 1473 1474 call signal_ ("xforum_fatal_error", null (), addr (xamo_xforum_error_info), null ()); 1475 1476 end error; 1477 1478 end xforum_attend_mtg_options; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 04/24/86 1513.7 xforum_attend_mtg_options.pl1 >special_ldd>install>MR12.0-1048>xforum_attend_mtg_options.pl1 347 1 04/11/85 1452.6 access_mode_values.incl.pl1 >ldd>include>access_mode_values.incl.pl1 349 2 12/03/84 1241.4 forum_dcls.incl.pl1 >ldd>include>forum_dcls.incl.pl1 351 3 10/31/84 1115.4 forum_user_trans.incl.pl1 >ldd>include>forum_user_trans.incl.pl1 353 4 12/03/84 1241.6 xforum_error_info.incl.pl1 >ldd>include>xforum_error_info.incl.pl1 355 5 04/24/86 1505.6 xforum_meeting_info.incl.pl1 >special_ldd>install>MR12.0-1048>xforum_meeting_info.incl.pl1 357 6 04/24/86 1505.5 xforum_spy.incl.pl1 >special_ldd>install>MR12.0-1048>xforum_spy.incl.pl1 359 7 12/03/84 1241.6 xforum_windows.incl.pl1 >ldd>include>xforum_windows.incl.pl1 7-12 8 09/12/84 0916.7 window_control_info.incl.pl1 >ldd>include>window_control_info.incl.pl1 NAMES DECLARED IN THIS COMPILATION. IDENTIFIER OFFSET LOC STORAGE CLASS DATA TYPE ATTRIBUTES AND REFERENCES (* indicates a set context) NAMES DECLARED BY DECLARE STATEMENT. FALSE constant bit(1) initial dcl 315 ref 526 621 740 782 FIRST 000130 constant bit(1) initial dcl 316 set ref 389* 410* 432* 448* 466* 742* 784* 999* 1039* 1075* 1350* ME 000030 constant char(25) initial unaligned dcl 317 set ref 383* 404* 426* 461* 467* 544* 565* 574* 584* 591* 603* 649* 654* 663* 682* 734* 736* 743* 776* 778* 785* 814* 834* 853* 880* 885* 992* 994* 1000* 1032* 1034* 1041* 1070* 1077* 1177* 1188* 1211* 1235* 1274* 1280* 1335* 1351* NEXT 000144 constant bit(1) initial dcl 319 set ref 395* 416* 439* 453* NL constant char(1) initial unaligned dcl 320 ref 660 OFF 000144 constant bit(1) initial dcl 322 set ref 648 678* ON 000130 constant bit(1) initial dcl 323 set ref 595 607 1324* 1388* 1391* ONLY_UNDELETED 000144 constant fixed bin(17,0) initial dcl 3-24 set ref 1408* QUERY_USAGE 000004 constant char(80) initial unaligned dcl 324 set ref 924* 1112* REPLY constant bit(1) initial dcl 326 ref 538 564 599 612 619 635 674 RW_ACCESS 000003 constant bit(3) initial unaligned dcl 1-11 set ref 571* 600* 644* 1174* SPY_AT_10 000001 constant fixed bin(17,0) initial dcl 6-47 set ref 915* 938* 941* 943* 946* 949* SPY_AT_15 000000 constant fixed bin(17,0) initial dcl 6-57 set ref 1121* 1149* 1156* 1164* 1170* 1172* SPY_AT_8 000002 constant fixed bin(17,0) initial dcl 6-43 set ref 635* SPY_AT_9 000152 constant fixed bin(17,0) initial dcl 6-45 set ref 637* SPY_VERSION_1 000114 automatic char(8) initial unaligned dcl 6-27 set ref 6-27* TRUE constant bit(1) initial dcl 327 ref 625 addr builtin function dcl 331 ref 580 630 630 926 926 1128 1128 1474 1474 after builtin function dcl 332 ref 667 all 17 based bit(1) level 3 packed unaligned dcl 5-24 set ref 379 810 1184 1309* 1429* allref 17(01) based bit(1) level 3 packed unaligned dcl 5-24 set ref 443 866 1254 1310* 1429* at 52 based fixed bin(17,0) array level 3 dcl 6-12 set ref 1454* before builtin function dcl 333 ref 660 bottom 20 000570 external static structure level 2 dcl 7-5 cc_bc 000757 automatic fixed bin(24,0) dcl 1094 set ref 1174* 1194* 1201* 1217* 1224* 1241* 1249* 1259* 1265* 1279* cc_code 000760 automatic fixed bin(35,0) dcl 1095 set ref 1125* 1126 1128* 1129 1131 1134* 1144* 1152* 1158* 1161* 1162 1165* 1174* 1175 1177* 1185* 1186 1188* 1194* 1196* 1198 1201* 1203* 1208* 1209 1211* 1217* 1219* 1221 1224* 1226* 1232* 1233 1235* 1241* 1245* 1246 1249* 1256* 1259* 1261* 1262 1265* 1267* 1271* 1272 1274* 1279* 1280 1280* cc_dir_name 000761 automatic char(168) unaligned dcl 1096 set ref 1161* 1174* 1177* cc_entry_name 001033 automatic char(32) unaligned dcl 1097 set ref 1161* 1174* 1177* cc_fidx parameter fixed bin(17,0) dcl 1089 set ref 1083 1193* 1200* 1216* 1223* 1240* 1248* 1258* 1264* 1278* cc_i 001043 automatic fixed bin(17,0) dcl 1098 set ref 1231* 1232* 1244* 1245* cc_number_of_comments 001044 automatic fixed bin(17,0) dcl 1099 set ref 1114* 1195* 1195 1202* 1202 1218* 1218 1225* 1225 1242* 1242 1250* 1250 1260* 1260 1266* 1266 1282* 1282 1286* cc_reply 001045 automatic char(200) unaligned dcl 1100 set ref 1128 1128 1128 1128 1137* 1139* 1139 1141 1146 1154 1161* 1165* 1170 1170 1181* 1286* cc_reply_len 001127 automatic fixed bin(21,0) dcl 1101 set ref 1128* 1137 1139 cc_seg_ptr 001130 automatic pointer dcl 1102 set ref 1174* 1194* 1201* 1217* 1224* 1241* 1249* 1259* 1265* 1279* cc_spy_ptr parameter pointer dcl 1088 ref 1083 1108 cc_trans_no 001132 automatic fixed bin(17,0) dcl 1103 set ref 1192* 1193* 1196* 1199* 1200* 1203* 1215* 1216* 1219* 1222* 1223* 1226* 1239* 1244 1257* 1258* 1261* 1263* 1264* 1267* cc_unusedb1 001133 automatic bit(1) dcl 1104 set ref 1174* cc_version parameter fixed bin(17,0) dcl 1090 set ref 1083 1193* 1200* 1216* 1223* 1240* 1248* 1258* 1264* 1278* cc_xforum_meeting_info_ptr parameter pointer dcl 1087 ref 1083 1106 choice 53 based char(10) array level 3 packed unaligned dcl 6-12 set ref 1455* choices 52 based structure array level 2 unaligned dcl 6-12 code 51 000010 internal static fixed bin(35,0) level 2 dcl 311 set ref 1471* com_err_$suppress_name 000440 constant entry external dcl 261 ref 383 404 426 461 467 544 565 574 584 591 603 649 654 663 682 723 734 736 743 765 776 778 785 814 834 853 880 885 983 992 994 1000 1022 1032 1034 1041 1063 1070 1077 1134 1143 1165 1177 1188 1211 1235 1274 1280 1335 1351 count 51 based fixed bin(17,0) level 2 dcl 6-12 set ref 1453* 1453 1454 1455 csd_response parameter char unaligned dcl 1451 ref 1448 1455 csd_where parameter fixed bin(17,0) dcl 1450 ref 1448 1454 current 12 based fixed bin(17,0) level 2 dcl 5-24 set ref 458* 540* 564 674 720 730* 739* 763 772* 781* 877* 982 988* 997* 1021 1027* 1037* 1062 1068* 1073* 1271* 1316* 1318* 1322 1324* 1327 1429* current_ref 20 based fixed bin(17,0) level 2 dcl 5-24 set ref 445* 867* 1256* divide builtin function dcl 334 ref 658 doing 20 000010 internal static char(100) level 2 packed unaligned dcl 311 set ref 1470* dt_code 000125 automatic fixed bin(35,0) dcl 371 set ref 380* 382 383* 389* 390* 392 395* 396* 401* 402 404* 410* 411* 413 416* 417* 423* 424 426* 432* 435* 436 439* 445* 448* 449* 450 453* 454* 458* 459 461* 466* 467 467* dt_fidx parameter fixed bin(17,0) dcl 366 set ref 361 388* 394* 409* 415* 431* 438* 447* 452* 465* dt_i 000126 automatic fixed bin(17,0) dcl 372 set ref 422* 423* 434* 435* dt_trans_no 000127 automatic fixed bin(17,0) dcl 373 set ref 387* 388* 390* 393* 394* 396* 408* 409* 411* 414* 415* 417* 430* 434 446* 447* 449* 451* 452* 454* dt_version parameter fixed bin(17,0) dcl 367 set ref 361 388* 394* 409* 415* 431* 438* 447* 452* 465* dt_xforum_meeting_info_ptr parameter pointer dcl 365 ref 361 375 e_code parameter fixed bin(35,0) dcl 1465 ref 1461 1471 e_reason parameter char(512) unaligned dcl 1466 ref 1461 1472 emacs_ 000442 constant entry external dcl 262 ref 630 entry 10 000010 internal static char(32) level 2 packed unaligned dcl 311 set ref 1469* error_table_$long_record 000426 external static fixed bin(35,0) dcl 253 ref 928 1129 et_bc 000130 automatic fixed bin(24,0) dcl 485 set ref 644* 653 658 et_chairman_msg 000131 automatic char(256) unaligned dcl 486 set ref 620* 626 626 et_chairman_msg_exists 000231 automatic bit(1) dcl 487 set ref 526* 621* 625* et_chars 000232 automatic fixed bin(24,0) dcl 488 set ref 658* 660 672 et_code 000233 automatic fixed bin(35,0) dcl 489 set ref 540* 542 544* 571* 574* 580* 583 584* 588* 590 591* 600* 603* 614* 620* 621 630* 634 640* 644* 649* 678* 681 682* et_emacs_flavour 000234 automatic char(32) unaligned dcl 490 set ref 613* 617* 630 630 et_fidx parameter fixed bin(17,0) dcl 479 set ref 474 620* et_flavour parameter bit(1) dcl 480 ref 474 538 564 599 612 619 635 674 et_i 000244 automatic fixed bin(17,0) dcl 491 set ref 688* 689* et_my_label 000246 automatic label variable dcl 492 set ref 579* 580 et_my_overlay based structure level 1 unaligned dcl 504 et_prefix_len 000252 automatic fixed bin(17,0) dcl 493 set ref 668* 672 678 678 et_reply_info 000254 automatic char(80) unaligned dcl 495 set ref 548* 552* 555* 557* et_reply_no 000253 automatic fixed bin(17,0) dcl 494 set ref 674* 676* 678* et_seg based char unaligned dcl 496 ref 660 et_sj 000300 automatic varying char(500) dcl 497 set ref 667* 670 et_spy_ptr parameter pointer dcl 481 ref 474 527 et_str 000476 automatic varying char(510) dcl 498 set ref 660* 662 667 et_subj_len 000677 automatic fixed bin(17,0) dcl 499 set ref 670* 672 678 678 678 et_trans 000262 internal static structure level 1 unaligned dcl 515 et_trans_num 000700 automatic fixed bin(17,0) dcl 500 set ref 678* 686 688 696 697 699* et_trans_seg based structure level 1 packed unaligned dcl 507 et_txt_len 000701 automatic fixed bin(17,0) dcl 501 set ref 672* 678 678 et_unusedb1 000702 automatic bit(1) dcl 502 set ref 571* 600* et_unusedfb24 000703 automatic fixed bin(24,0) dcl 503 set ref 571* 600* et_xforum_meeting_info_ptr parameter pointer dcl 478 ref 474 525 expand_pathname_ 000444 constant entry external dcl 263 ref 1161 ext_dir 52 000262 internal static char(168) level 2 packed unaligned dcl 515 set ref 588* 630 ext_ptr 134 000262 internal static pointer level 2 dcl 515 set ref 580* 588* ext_seg 124 000262 internal static char(32) level 2 packed unaligned dcl 515 set ref 578* 580* 588 630 first_trans 14 based fixed bin(17,0) level 2 dcl 5-24 set ref 1408* flags 17 based structure level 2 packed unaligned dcl 5-24 set ref 1429 1429 forum_$enter_trans 000556 constant entry external dcl 2-4 ref 678 forum_$forum_limits 000560 constant entry external dcl 2-9 ref 1408 forum_$get_message 000562 constant entry external dcl 2-16 ref 620 forum_$set_last_seen_idx 000564 constant entry external dcl 2-23 ref 1391 forum_$set_seen_switch 000566 constant entry external dcl 2-25 ref 1324 1388 forum_error_table_$invalid_trans_idx 000430 external static fixed bin(35,0) dcl 254 ref 734 776 992 1032 forum_error_table_$trans_deleted 000432 external static fixed bin(35,0) dcl 255 ref 1319 forum_error_table_$trans_reaped 000434 external static fixed bin(35,0) dcl 256 ref 1319 forum_user_trans based structure level 1 dcl 3-7 forum_user_trans_ptr 000110 automatic pointer dcl 3-5 set ref 380* 387 389* 390* 393 395* 396* 401* 408 410* 411* 414 416* 417* 423* 430 431 432* 435* 438 439* 445* 446 448* 449* 451 453* 454* 458* 465 466* 540* 548 555 555 614* 728* 730* 739 741 742* 770* 772* 781 783 784* 811* 818 820* 822* 825 826* 827* 831* 838 839* 840* 843 844* 845* 850* 858 859* 861* 862* 867* 871 872* 873* 877* 884* 988* 997 998 999* 1027* 1037 1038 1039* 1068* 1073 1074 1075* 1185* 1192 1194* 1196* 1199 1201* 1203* 1208* 1215 1217* 1219* 1222 1224* 1226* 1232* 1239 1240 1241* 1245* 1248 1249* 1256* 1257 1259* 1261* 1263 1265* 1267* 1271* 1278 1279* 1318* 1349 1350* fr_code 000756 automatic fixed bin(35,0) dcl 1057 set ref 1068* 1070 1070* 1075* 1077 1077* fr_fidx parameter fixed bin(17,0) dcl 1052 set ref 1047 1074* fr_version parameter fixed bin(17,0) dcl 1053 set ref 1047 1074* fr_xforum_meeting_info_ptr parameter pointer dcl 1051 ref 1047 1060 get_pdir_ 000446 constant entry external dcl 264 ref 571 571 596 600 600 have_trans_seg 136 000262 internal static bit(1) initial level 2 packed unaligned dcl 515 set ref 570 595* 648* have_view_seg 136(01) 000262 internal static bit(1) initial level 2 packed unaligned dcl 515 set ref 599 607* hcs_$fs_get_path_name 000450 constant entry external dcl 265 ref 588 hcs_$make_ptr 000452 constant entry external dcl 266 ref 580 hcs_$set_bc_seg 000454 constant entry external dcl 267 ref 610 high 22 based fixed bin(17,0) level 2 dcl 5-24 set ref 426* 434 728* 853* 860 1235* 1244 1429* idx 11 based fixed bin(17,0) level 2 dcl 5-24 set ref 678* index builtin function dcl 335 ref 943 1170 1170 initiate_file_ 000456 constant entry external dcl 268 ref 644 initiate_file_$create 000460 constant entry external dcl 269 ref 571 600 1174 ioa_ 000462 constant entry external dcl 270 ref 533 562 626 638 699 807 929 1129 1151 1157 1181 1286 1345 1364 ioa_$nnl 000464 constant entry external dcl 271 ref 921 1127 ioa_$rsnnl 000466 constant entry external dcl 272 ref 548 555 1425 1427 1429 iocb 20 000570 external static pointer level 3 dcl 7-5 set ref 377* 532* 561* 630* 733* 775* 805* 911* 919* 991* 1031* 1110* 1119* 1285* 1344* iox_$get_line 000470 constant entry external dcl 273 ref 926 1128 iox_$user_input 000436 external static pointer dcl 257 set ref 926* 1128* last_seen 13 based fixed bin(17,0) level 2 dcl 5-24 set ref 401* 831* 1208* 1391 1408* last_trans 15 based fixed bin(17,0) level 2 dcl 5-24 set ref 686 688 692 697* 1327 1401 1414 1416 1420 1422* 1425* length builtin function dcl 336 ref 670 926 926 1128 1128 low 21 based fixed bin(17,0) level 2 dcl 5-24 set ref 422 426* 770* 849 853* 1231 1235* 1429* lt_code 000706 automatic fixed bin(35,0) dcl 799 set ref 811* 813 814* 820* 822* 824 826* 827* 831* 833 834* 839* 840* 842 844* 845* 850* 852 853* 859* 861* 862 862* 867* 870 872* 873* 877* 879 880* 884* 885 885* lt_i 000707 automatic fixed bin(17,0) dcl 800 set ref 849* 850* 860* 861* lt_trans_no 000710 automatic fixed bin(17,0) dcl 801 set ref 818* 822* 825* 827* 838* 840* 843* 845* 858* 860 871* 873* lt_xforum_meeting_info_ptr parameter pointer dcl 795 ref 791 803 mm_xforum_meeting_info_ptr parameter pointer dcl 1360 ref 1356 my_addr based pointer level 2 dcl 504 set ref 580* name based char(32) level 2 in structure "xforum_meeting_info" packed unaligned dcl 5-24 in procedure "xforum_attend_mtg_options" set ref 548* 699* name 000010 internal static char(32) level 2 in structure "xamo_xforum_error_info" packed unaligned dcl 311 in procedure "xforum_attend_mtg_options" set ref 1468* new 17(03) based bit(1) level 3 packed unaligned dcl 5-24 set ref 399 830 1206 1311* 1429* new_trans 16 based fixed bin(17,0) level 2 dcl 5-24 set ref 1408* next_unread 26 based fixed bin(17,0) level 2 dcl 5-24 set ref 692 692* 1315 1316 1326* 1327 1328* 1342 1398 1400* 1401 1402* 1420 1420* nr_code 000754 automatic fixed bin(35,0) dcl 978 set ref 988* 989 992 994* 999* 1000 1000* nr_fidx parameter fixed bin(17,0) dcl 973 set ref 968 998* nr_version parameter fixed bin(17,0) dcl 974 set ref 968 998* nr_xforum_meeting_info_ptr parameter pointer dcl 972 ref 968 980 nt_code 000704 automatic fixed bin(35,0) dcl 716 set ref 728* 730* 731 734 736* 742* 743 743* nt_fidx parameter fixed bin(17,0) dcl 711 set ref 706 741* nt_version parameter fixed bin(17,0) dcl 712 set ref 706 741* nt_xforum_meeting_info_ptr parameter pointer dcl 710 ref 706 718 null builtin function dcl 337 ref 573 602 647 1474 1474 1474 1474 nut_code 001134 automatic fixed bin(35,0) dcl 1301 set ref 1318* 1319 1319 1324* 1333 1335* 1350* 1351 1351* nut_fidx parameter fixed bin(17,0) dcl 1296 set ref 1291 1324* 1349* nut_found 001135 automatic bit(1) unaligned dcl 1302 set ref 1314* 1315 1338* nut_i 001136 automatic fixed bin(17,0) dcl 1303 set ref 1327* 1328 1328* nut_version parameter fixed bin(17,0) dcl 1297 set ref 1291 1324 1349* nut_xforum_meeting_info_ptr parameter pointer dcl 1295 ref 1291 1307 pr_code 000755 automatic fixed bin(35,0) dcl 1016 set ref 1027* 1029 1032 1034* 1039* 1041 1041* pr_fidx parameter fixed bin(17,0) dcl 1011 set ref 1006 1038* pr_version parameter fixed bin(17,0) dcl 1012 set ref 1006 1038* pr_xforum_meeting_info_ptr parameter pointer dcl 1010 ref 1006 1019 process_dir 000262 internal static char(168) level 2 packed unaligned dcl 515 set ref 596* 630 644* pt_code 000705 automatic fixed bin(35,0) dcl 759 set ref 770* 772* 773 776 778* 784* 785 785* pt_fidx parameter fixed bin(17,0) dcl 754 set ref 749 783* pt_version parameter fixed bin(17,0) dcl 755 set ref 749 783* pt_xforum_meeting_info_ptr parameter pointer dcl 753 ref 749 761 quit 000100 stack reference condition dcl 303 ref 529 908 1116 range 17(04) based bit(1) level 3 packed unaligned dcl 5-24 set ref 420 720 728 740* 763 770 782* 848 1229 1312* 1429* reason 52 000010 internal static char(512) level 2 packed unaligned dcl 311 set ref 1472* rtrim builtin function dcl 338 ref 626 626 630 630 630 1141 seen_map based bit(1) array unaligned dcl 5-50 set ref 689* 696* 1322* 1328 1394 1396* 1402 1417* seen_map_ptr 30 based pointer level 2 dcl 5-24 ref 689 696 1322 1328 1394 1396 1402 1417 signal_ 000472 constant entry external dcl 274 ref 1474 spy based structure level 1 unaligned dcl 6-12 spy_ptr 000112 automatic pointer dcl 6-26 set ref 527* 906* 1108* 1453 1453 1454 1454 1455 1455 sts_code 000711 automatic fixed bin(35,0) dcl 901 set ref 926* 928 935 935* 957* 959 sts_reply 000712 automatic char(132) unaligned dcl 902 set ref 926 926 926 926 941 943 946 949 949 951 957 957 sts_reply_len 000753 automatic fixed bin(21,0) dcl 903 set ref 926* 938 941 946 949 949 951 957 957 sts_spy_ptr parameter pointer dcl 897 ref 892 906 sts_xforum_meeting_info_ptr parameter pointer dcl 896 ref 892 905 subj based char level 2 packed unaligned dcl 507 set ref 678* substr builtin function dcl 339 ref 662 941 946 949 949 951 957 957 1139 timer_manager_$sleep 000474 constant entry external dcl 275 ref 534 545 639 701 1365 trans_no 14 based fixed bin(17,0) level 2 dcl 3-7 set ref 387 393 408 414 430 431* 438* 446 451 465* 548* 555* 555* 739 741* 781 783* 818 825 838 843 858 871 997 998* 1037 1038* 1073 1074* 1192 1199 1215 1222 1239 1240* 1248* 1257 1263 1278* 1349* trans_seg_ptr 140 000262 internal static pointer level 2 dcl 515 set ref 571* 573 610* 644* 647 660 678 678 txt based char level 2 packed unaligned dcl 507 set ref 678* unread_count 27 based fixed bin(17,0) level 2 dcl 5-24 set ref 690* 690 1323* 1323 1397* 1397 1418* 1418 1427* unspec builtin function dcl 340 ref 1429 1429 us_code 001152 automatic fixed bin(35,0) dcl 1379 set ref 1388* 1391* 1408* us_current_text 001153 automatic char(33) unaligned dcl 1380 set ref 1429* 1441* us_fidx parameter fixed bin(17,0) dcl 1375 set ref 1369 1388* 1391* 1408* us_i 001164 automatic fixed bin(17,0) dcl 1381 set ref 1401* 1402 1402* 1416* 1417* us_last_trans 001165 automatic fixed bin(17,0) dcl 1382 set ref 1408* 1414 1416 1422 us_new_text 001166 automatic char(12) unaligned dcl 1383 set ref 1427* 1440* us_total_text 001171 automatic char(11) unaligned dcl 1384 set ref 1425* 1439* us_trans_no parameter fixed bin(17,0) dcl 1373 set ref 1369 1388* 1391 1391* 1394 1396 1398 1401 us_unused_b36 001174 automatic bit(36) dcl 1385 set ref 1408* us_version parameter fixed bin(17,0) dcl 1374 ref 1369 1388 1391 verify builtin function dcl 341 ref 946 view_seg_ptr 142 000262 internal static pointer level 2 dcl 515 set ref 600* 602 614* window_$clear_window 000476 constant entry external dcl 276 ref 377 532 561 733 775 805 911 919 991 1031 1110 1119 1285 1344 window_position_info based structure level 1 unaligned dcl 8-25 xamo_xforum_error_info 000010 internal static structure level 1 unaligned dcl 311 set ref 1474 1474 xforum_error_info based structure level 1 unaligned dcl 4-3 xforum_format_$append 000500 constant entry external dcl 277 ref 1194 1201 1217 1224 1241 1249 1259 1265 1279 xforum_format_$display 000502 constant entry external dcl 278 ref 389 395 410 416 432 439 448 453 466 742 784 999 1039 1075 1350 xforum_format_$list 000504 constant entry external dcl 279 ref 820 826 839 844 859 862 872 884 xforum_format_$write 000506 constant entry external dcl 280 ref 614 xforum_help_$display 000510 constant entry external dcl 281 ref 953 1150 xforum_help_line_$change 000512 constant entry external dcl 282 ref 557 559 xforum_help_line_$pop 000516 constant entry external dcl 284 ref 913 963 1120 xforum_help_line_$push 000514 constant entry external dcl 283 ref 924 1112 1182 xforum_meeting_info based structure level 1 unaligned dcl 5-24 xforum_meeting_info_ptr 000106 automatic pointer dcl 307 set ref 375* 379 399 401 420 422 426 426 434 443 445 458 525* 540 548 564 674 678 686 688 689 690 690 692 692 692 696 697 699 718* 720 720 728 728 730 739 740 761* 763 763 770 770 772 781 782 803* 810 830 831 848 849 853 853 860 866 867 877 905* 980* 982 988 997 1019* 1021 1027 1037 1060* 1062 1068 1073 1106* 1184 1206 1208 1229 1231 1235 1235 1244 1254 1256 1271 1307* 1309 1310 1311 1312 1315 1316 1316 1318 1322 1322 1323 1323 1324 1326 1327 1327 1327 1328 1328 1342 1391 1394 1396 1397 1397 1398 1400 1401 1401 1402 1402 1408 1408 1408 1414 1416 1417 1418 1418 1420 1420 1420 1422 1425 1427 1429 1429 1429 1429 1429 1429 1429 1429 1429 xforum_status_$redisplay 000530 constant entry external dcl 289 ref 553 914 1442 xforum_status_$update_current 000520 constant entry external dcl 285 ref 1441 xforum_status_$update_new 000522 constant entry external dcl 286 ref 1440 xforum_status_$update_title 000524 constant entry external dcl 287 ref 552 xforum_status_$update_total 000526 constant entry external dcl 288 ref 1439 xforum_trans_$first_ref 000532 constant entry external dcl 290 ref 445 867 1068 1256 xforum_trans_$first_trans 000534 constant entry external dcl 291 ref 380 811 1185 xforum_trans_$next_ref 000536 constant entry external dcl 292 ref 449 454 873 988 1261 1267 xforum_trans_$next_trans 000540 constant entry external dcl 293 ref 390 396 401 411 417 423 728 730 822 827 831 840 845 850 1196 1203 1208 1219 1226 1232 xforum_trans_$prev_ref 000542 constant entry external dcl 294 ref 1027 xforum_trans_$prev_trans 000544 constant entry external dcl 295 ref 770 772 xforum_trans_$read 000546 constant entry external dcl 296 ref 435 458 540 861 877 1245 1271 1318 xforum_validate_trans_spec_ 000554 constant entry external dcl 299 ref 957 xforum_window_info 000116 automatic structure level 1 unaligned dcl 7-8 xforum_window_mgr$check_window_status 000550 constant entry external dcl 297 ref 531 910 1118 xforum_window_mgr$resynch_windows 000552 constant entry external dcl 298 ref 554 xforum_windows 000570 external static structure level 1 dcl 7-5 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 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 INCLUDE_DELETED internal static fixed bin(17,0) initial dcl 3-24 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 ONLY_DELETED internal static fixed bin(17,0) initial dcl 3-24 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_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 5-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 6-29 SPY_AT_11 internal static fixed bin(17,0) initial dcl 6-49 SPY_AT_12 internal static fixed bin(17,0) initial dcl 6-51 SPY_AT_13 internal static fixed bin(17,0) initial dcl 6-53 SPY_AT_14 internal static fixed bin(17,0) initial dcl 6-55 SPY_AT_16 internal static fixed bin(17,0) initial dcl 6-59 SPY_AT_17 internal static fixed bin(17,0) initial dcl 6-61 SPY_AT_18 internal static fixed bin(17,0) initial dcl 6-63 SPY_AT_19 internal static fixed bin(17,0) initial dcl 6-65 SPY_AT_2 internal static fixed bin(17,0) initial dcl 6-31 SPY_AT_3 internal static fixed bin(17,0) initial dcl 6-33 SPY_AT_4 internal static fixed bin(17,0) initial dcl 6-35 SPY_AT_5 internal static fixed bin(17,0) initial dcl 6-37 SPY_AT_6 internal static fixed bin(17,0) initial dcl 6-39 SPY_AT_7 internal static fixed bin(17,0) initial dcl 6-41 SPY_LOCATION internal static varying char(20) initial array dcl 6-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 W_ACCESS internal static bit(3) initial unaligned dcl 1-11 W_ACCESS_BIN internal static fixed bin(5,0) initial dcl 1-36 alloc_subject_length automatic fixed bin(21,0) dcl 3-4 alloc_text_length automatic fixed bin(21,0) dcl 3-3 break_table_info based structure level 1 dcl 8-76 break_table_info_version internal static fixed bin(17,0) initial dcl 8-80 break_table_info_version_1 internal static fixed bin(17,0) initial dcl 8-80 break_table_ptr automatic pointer dcl 8-75 forum_$close_forum 000000 constant entry external dcl 2-3 forum_$forum_info 000000 constant entry external dcl 2-7 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_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_message 000000 constant entry external dcl 2-27 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 get_editor_key_bindings_info based structure level 1 dcl 8-151 get_editor_key_bindings_info_ptr automatic pointer dcl 8-159 get_editor_key_bindings_info_version_1 internal static char(8) initial unaligned dcl 8-160 line_editor_binding_count automatic fixed bin(17,0) dcl 8-121 line_editor_key_binding_info based structure level 1 dcl 8-129 line_editor_key_binding_info_ptr automatic pointer dcl 8-118 line_editor_key_binding_info_version_3 internal static char(8) initial unaligned dcl 8-148 line_editor_longest_sequence automatic fixed bin(17,0) dcl 8-123 message_type internal static fixed bin(17,0) initial dcl 3-22 more_handler_info based structure level 1 dcl 8-83 more_handler_info_ptr automatic pointer dcl 8-92 more_handler_info_version internal static fixed bin(17,0) initial dcl 8-94 more_handler_info_version_3 internal static fixed bin(17,0) initial dcl 8-94 more_prompt_info based structure level 1 dcl 8-108 more_prompt_info_ptr automatic pointer dcl 8-112 more_prompt_info_version_1 internal static char(8) initial unaligned dcl 8-114 more_responses_info based structure level 1 dcl 8-59 more_responses_info_ptr automatic pointer dcl 8-69 more_responses_info_version_1 internal static fixed bin(17,0) initial dcl 8-67 more_responses_version internal static fixed bin(17,0) initial dcl 8-67 seen_map_string based bit(1000000) unaligned dcl 5-49 set_array based structure level 1 unaligned dcl 5-52 set_editor_key_bindings_info based structure level 1 dcl 8-162 set_editor_key_bindings_info_ptr automatic pointer dcl 8-171 set_editor_key_bindings_info_version_1 internal static char(8) initial unaligned dcl 8-172 token_characters_info based structure level 1 dcl 8-97 token_characters_info_ptr automatic pointer dcl 8-104 token_characters_info_version_1 internal static char(8) initial unaligned dcl 8-106 user_trans_type internal static fixed bin(17,0) initial dcl 3-21 window_edit_line_info based structure level 1 unaligned dcl 8-177 window_edit_line_info_ptr automatic pointer dcl 8-186 window_edit_line_info_version_1 internal static char(8) initial unaligned dcl 8-183 window_position_info_ptr automatic pointer dcl 8-37 window_position_info_version internal static fixed bin(17,0) initial dcl 8-35 window_position_info_version_1 internal static fixed bin(17,0) initial dcl 8-35 window_status_info based structure level 1 dcl 8-45 window_status_info_ptr automatic pointer dcl 8-43 window_status_version internal static fixed bin(17,0) initial dcl 8-52 window_status_version_1 internal static fixed bin(17,0) initial dcl 8-52 NAMES DECLARED BY EXPLICIT CONTEXT. collect_spy_data 012650 constant entry internal dcl 1448 ref 635 637 915 938 941 943 946 949 1121 1149 1156 1164 1170 1172 copy_comments 007431 constant entry external dcl 1083 display_trans 001243 constant entry external dcl 361 enter_trans 002313 constant entry external dcl 474 error 012705 constant entry internal dcl 1461 ref 935 exit_copy_comments 011545 constant label dcl 1288 set ref 1122 exit_display_trans 002305 constant label dcl 471 exit_enter_trans 004464 constant label dcl 703 set ref 535 546 566 575 585 592 604 641 650 655 664 683 exit_list_trans 006056 constant label dcl 889 exit_select_trans_spec 006564 constant label dcl 965 ref 916 first_ref 007243 constant entry external dcl 1047 here 003117 constant label dcl 580 ref 579 list_trans 005214 constant entry external dcl 791 meeting_maintenance 012073 constant entry external dcl 1356 next_ref 006567 constant entry external dcl 968 next_trans 004467 constant entry external dcl 706 next_unread_trans 011550 constant entry external dcl 1291 prev_ref 007015 constant entry external dcl 1006 prev_trans 004741 constant entry external dcl 749 select_trans_spec 006063 constant entry external dcl 892 select_trans_spec_prompt 006205 constant label dcl 921 ref 932 954 959 update_status 012133 constant entry internal dcl 1369 ref 388 394 409 415 431 438 447 452 465 741 783 998 1038 1074 1193 1200 1216 1223 1240 1248 1258 1264 1278 1349 xforum_attend_mtg_options 001230 constant entry external dcl 7 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 14130 14722 13204 14140 Length 15614 13204 572 655 724 416 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME xforum_attend_mtg_options 1060 external procedure is an external procedure. on unit on line 529 80 on unit on unit on line 908 84 on unit on unit on line 1116 84 on unit update_status internal procedure shares stack frame of external procedure xforum_attend_mtg_options. collect_spy_data 66 internal procedure is called during a stack extension. error internal procedure shares stack frame of external procedure xforum_attend_mtg_options. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 xamo_xforum_error_info xforum_attend_mtg_options 000262 et_trans xforum_attend_mtg_options STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME xforum_attend_mtg_options 000106 xforum_meeting_info_ptr xforum_attend_mtg_options 000110 forum_user_trans_ptr xforum_attend_mtg_options 000112 spy_ptr xforum_attend_mtg_options 000114 SPY_VERSION_1 xforum_attend_mtg_options 000116 xforum_window_info xforum_attend_mtg_options 000125 dt_code xforum_attend_mtg_options 000126 dt_i xforum_attend_mtg_options 000127 dt_trans_no xforum_attend_mtg_options 000130 et_bc xforum_attend_mtg_options 000131 et_chairman_msg xforum_attend_mtg_options 000231 et_chairman_msg_exists xforum_attend_mtg_options 000232 et_chars xforum_attend_mtg_options 000233 et_code xforum_attend_mtg_options 000234 et_emacs_flavour xforum_attend_mtg_options 000244 et_i xforum_attend_mtg_options 000246 et_my_label xforum_attend_mtg_options 000252 et_prefix_len xforum_attend_mtg_options 000253 et_reply_no xforum_attend_mtg_options 000254 et_reply_info xforum_attend_mtg_options 000300 et_sj xforum_attend_mtg_options 000476 et_str xforum_attend_mtg_options 000677 et_subj_len xforum_attend_mtg_options 000700 et_trans_num xforum_attend_mtg_options 000701 et_txt_len xforum_attend_mtg_options 000702 et_unusedb1 xforum_attend_mtg_options 000703 et_unusedfb24 xforum_attend_mtg_options 000704 nt_code xforum_attend_mtg_options 000705 pt_code xforum_attend_mtg_options 000706 lt_code xforum_attend_mtg_options 000707 lt_i xforum_attend_mtg_options 000710 lt_trans_no xforum_attend_mtg_options 000711 sts_code xforum_attend_mtg_options 000712 sts_reply xforum_attend_mtg_options 000753 sts_reply_len xforum_attend_mtg_options 000754 nr_code xforum_attend_mtg_options 000755 pr_code xforum_attend_mtg_options 000756 fr_code xforum_attend_mtg_options 000757 cc_bc xforum_attend_mtg_options 000760 cc_code xforum_attend_mtg_options 000761 cc_dir_name xforum_attend_mtg_options 001033 cc_entry_name xforum_attend_mtg_options 001043 cc_i xforum_attend_mtg_options 001044 cc_number_of_comments xforum_attend_mtg_options 001045 cc_reply xforum_attend_mtg_options 001127 cc_reply_len xforum_attend_mtg_options 001130 cc_seg_ptr xforum_attend_mtg_options 001132 cc_trans_no xforum_attend_mtg_options 001133 cc_unusedb1 xforum_attend_mtg_options 001134 nut_code xforum_attend_mtg_options 001135 nut_found xforum_attend_mtg_options 001136 nut_i xforum_attend_mtg_options 001152 us_code update_status 001153 us_current_text update_status 001164 us_i update_status 001165 us_last_trans update_status 001166 us_new_text update_status 001171 us_total_text update_status 001174 us_unused_b36 update_status THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_ne_as alloc_cs cat_realloc_cs call_ext_out_desc call_ext_out call_int_this_desc call_int_other_desc return tra_ext enable shorten_stack ext_entry int_entry int_entry_desc set_cs_eis index_after_cs THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_$suppress_name emacs_ expand_pathname_ forum_$enter_trans forum_$forum_limits forum_$get_message forum_$set_last_seen_idx forum_$set_seen_switch get_pdir_ hcs_$fs_get_path_name hcs_$make_ptr hcs_$set_bc_seg initiate_file_ initiate_file_$create ioa_ ioa_$nnl ioa_$rsnnl iox_$get_line signal_ timer_manager_$sleep window_$clear_window xforum_format_$append xforum_format_$display xforum_format_$list xforum_format_$write xforum_help_$display xforum_help_line_$change xforum_help_line_$pop xforum_help_line_$push xforum_status_$redisplay xforum_status_$update_current xforum_status_$update_new xforum_status_$update_title xforum_status_$update_total xforum_trans_$first_ref xforum_trans_$first_trans xforum_trans_$next_ref xforum_trans_$next_trans xforum_trans_$prev_ref xforum_trans_$prev_trans xforum_trans_$read xforum_validate_trans_spec_ xforum_window_mgr$check_window_status 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_input xforum_windows LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 6 27 001223 7 001227 361 001236 375 001251 377 001255 379 001270 380 001274 382 001305 383 001307 384 001336 387 001337 388 001342 389 001355 390 001370 392 001403 393 001406 394 001411 395 001424 396 001437 397 001452 398 001453 399 001454 401 001457 402 001472 404 001474 405 001520 408 001521 409 001524 410 001537 411 001552 413 001565 414 001570 415 001573 416 001606 417 001621 418 001634 419 001635 420 001636 422 001641 423 001644 424 001657 426 001661 427 001714 430 001715 431 001720 432 001733 434 001746 435 001757 436 001772 438 001774 439 002010 441 002023 442 002025 443 002026 445 002031 446 002044 447 002047 448 002062 449 002075 450 002110 451 002112 452 002115 453 002130 454 002143 455 002156 456 002157 458 002160 459 002173 461 002175 462 002224 465 002225 466 002241 467 002254 471 002305 474 002306 525 002321 526 002325 527 002326 529 002331 531 002345 532 002351 533 002364 534 002403 535 002420 538 002423 540 002430 542 002444 544 002446 545 002472 546 002507 548 002510 552 002546 553 002557 554 002567 555 002604 557 002641 558 002664 559 002665 561 002713 562 002726 564 002742 565 002752 566 002777 570 003000 571 003004 573 003060 574 003065 575 003110 578 003111 579 003114 580 003117 583 003153 584 003155 585 003201 588 003202 590 003237 591 003241 592 003265 595 003266 596 003271 599 003277 600 003310 602 003363 603 003370 604 003413 607 003414 610 003416 612 003433 613 003440 614 003443 616 003456 617 003457 619 003462 620 003467 621 003510 625 003514 626 003516 627 003547 630 003550 634 003702 635 003705 637 003731 638 003747 639 003766 640 004003 641 004004 644 004005 647 004047 648 004054 649 004056 650 004101 653 004102 654 004104 655 004130 658 004131 660 004133 662 004150 663 004154 664 004203 667 004204 668 004225 670 004227 672 004231 674 004240 676 004251 678 004252 681 004324 682 004326 683 004355 686 004356 688 004363 689 004375 690 004402 691 004403 692 004405 696 004414 697 004421 699 004423 701 004447 703 004464 706 004465 718 004475 720 004501 723 004506 725 004533 728 004534 730 004553 731 004566 733 004570 734 004603 736 004634 737 004650 739 004651 740 004655 741 004657 742 004672 743 004705 747 004736 749 004737 761 004747 763 004753 765 004760 767 005005 770 005006 772 005025 773 005040 775 005042 776 005055 778 005106 779 005122 781 005123 782 005127 783 005131 784 005144 785 005157 789 005210 791 005211 803 005222 805 005226 807 005241 810 005255 811 005261 813 005272 814 005274 815 005323 818 005324 820 005327 822 005340 824 005353 825 005356 826 005361 827 005372 828 005405 829 005406 830 005407 831 005412 833 005425 834 005427 835 005456 838 005457 839 005462 840 005473 842 005506 843 005510 844 005513 845 005524 846 005537 847 005540 848 005541 849 005544 850 005547 852 005562 853 005564 855 005617 858 005620 859 005623 860 005634 861 005645 862 005660 864 005673 865 005675 866 005676 867 005701 870 005714 871 005716 872 005721 873 005732 874 005745 875 005746 877 005747 879 005762 880 005764 881 006013 884 006014 885 006025 889 006056 892 006057 905 006071 906 006075 908 006100 910 006114 911 006120 913 006133 914 006140 915 006150 916 006167 919 006172 921 006205 924 006221 926 006244 928 006267 929 006273 932 006306 935 006307 938 006316 941 006340 943 006365 946 006415 949 006447 951 006472 953 006502 954 006530 957 006531 959 006554 963 006557 965 006564 968 006565 980 006575 982 006601 983 006603 985 006630 988 006631 989 006644 991 006646 992 006661 994 006712 995 006726 997 006727 998 006733 999 006746 1000 006761 1004 007012 1006 007013 1019 007023 1021 007027 1022 007031 1024 007056 1027 007057 1029 007072 1031 007074 1032 007107 1034 007140 1035 007154 1037 007155 1038 007161 1039 007174 1041 007207 1045 007240 1047 007241 1060 007251 1062 007255 1063 007257 1065 007304 1068 007305 1070 007320 1073 007340 1074 007344 1075 007357 1077 007372 1081 007423 1083 007424 1106 007437 1108 007443 1110 007446 1112 007461 1114 007504 1116 007505 1118 007521 1119 007525 1120 007540 1121 007545 1122 007564 1125 007567 1126 007571 1127 007574 1128 007610 1129 007633 1131 007653 1134 007655 1135 007700 1137 007701 1139 007710 1141 007714 1143 007731 1144 007756 1145 007760 1146 007761 1149 007765 1150 010003 1151 010030 1152 010043 1153 010045 1154 010046 1156 010052 1157 010070 1158 010104 1159 010106 1161 010107 1162 010134 1164 010136 1165 010154 1168 010204 1170 010205 1172 010246 1174 010264 1175 010325 1177 010327 1178 010363 1181 010364 1182 010404 1184 010435 1185 010441 1186 010452 1188 010454 1189 010503 1192 010504 1193 010507 1194 010522 1195 010537 1196 010540 1198 010553 1199 010556 1200 010561 1201 010574 1202 010611 1203 010612 1204 010625 1205 010626 1206 010627 1208 010632 1209 010645 1211 010647 1212 010673 1215 010674 1216 010677 1217 010712 1218 010727 1219 010730 1221 010743 1222 010746 1223 010751 1224 010764 1225 011001 1226 011002 1227 011015 1228 011016 1229 011017 1231 011022 1232 011025 1233 011040 1235 011042 1236 011075 1239 011076 1240 011101 1241 011114 1242 011131 1244 011132 1245 011143 1246 011156 1248 011160 1249 011174 1250 011211 1252 011212 1253 011214 1254 011215 1256 011220 1257 011233 1258 011236 1259 011251 1260 011266 1261 011267 1262 011302 1263 011304 1264 011307 1265 011322 1266 011337 1267 011340 1268 011353 1269 011354 1271 011355 1272 011370 1274 011372 1275 011421 1278 011422 1279 011436 1280 011453 1282 011505 1285 011506 1286 011521 1288 011545 1291 011546 1307 011556 1309 011562 1310 011564 1311 011566 1312 011570 1314 011572 1315 011573 1316 011602 1318 011603 1319 011616 1322 011624 1323 011632 1324 011634 1326 011667 1327 011672 1328 011707 1330 011717 1331 011721 1333 011722 1335 011724 1336 011752 1338 011753 1340 011755 1342 011756 1344 011760 1345 011773 1346 012007 1349 012010 1350 012024 1351 012037 1354 012070 1356 012071 1364 012101 1365 012115 1367 012132 1369 012133 1388 012135 1391 012171 1394 012216 1396 012226 1397 012231 1398 012233 1400 012236 1401 012240 1402 012255 1404 012265 1408 012267 1414 012316 1416 012322 1417 012331 1418 012336 1419 012337 1420 012341 1422 012350 1425 012352 1427 012405 1429 012440 1439 012603 1440 012614 1441 012625 1442 012636 1444 012646 1448 012647 1453 012663 1454 012666 1455 012674 1457 012704 1461 012705 1468 012707 1469 012713 1470 012716 1471 012721 1472 012723 1474 012727 1476 012764 ----------------------------------------------------------- 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