COMPILATION LISTING OF SEGMENT message_status Compiled by: Multics PL/I Compiler, Release 28e, of February 14, 1985 Compiled at: Honeywell Multics Op. - System M Compiled on: 06/30/86 1352.3 mst Mon Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1984 * 4* * * 5* *********************************************************** */ 6 /* This command prints information about mailboxes on which messages 7* are being accepted or deferred. */ 8 9 /****^ HISTORY COMMENTS: 10* 1) change(84-06-11,Lippard), approve(), audit(), 11* install(86-06-30,MR12.0-1080): 12* Written by Jim Lippard. 13* 2) change(85-09-10,Lippard), approve(85-11-18,MCR7298), 14* audit(86-01-10,Spitzer), install(86-01-20,MR12.0-1006): 15* Modified to work as an active function. 16* 3) change(86-05-09,Lippard), approve(86-06-24,MCR7434), 17* audit(86-06-24,Hartogs), install(86-06-30,MR12.0-1080): 18* Modified to reject -all as an active function. 19* END HISTORY COMMENTS */ 20 21 message_status: msgst: procedure options (variable); 22 dcl ME char (14) internal static options (constant) init ("message_status"); 23 dcl VERSION char (3) internal static options (constant) init ("1.2"); 24 25 dcl com_err_ entry () options (variable); 26 27 dcl get_system_free_area_ entry () returns (ptr); 28 29 dcl hcs_$fs_get_path_name entry (ptr, char (*), fixed bin, char (*), fixed bin (35)); 30 31 dcl interpret_ptr_ entry (ptr, ptr, ptr); 32 33 dcl ioa_ entry () options (variable); 34 35 dcl mlsys_utils_$parse_mailbox_control_args entry (ptr, fixed bin, ptr, char (*), char (*), fixed bin (35)); 36 37 dcl message_facility_$default_wakeup_handler entry (ptr, ptr); 38 dcl message_facility_$default_alarm_handler entry (ptr, ptr); 39 dcl message_facility_$get_msgf_mbx_ptr entry (char (*), char (*), ptr, fixed bin (35)); 40 dcl message_facility_$get_msg_array_ptr entry (ptr, ptr, ptr, fixed bin, fixed bin (35)); 41 dcl message_facility_$get_wakeup_state entry (ptr, bit (*), fixed bin (35)); 42 dcl message_facility_$get_message_format entry (ptr, bit (1) aligned, fixed bin (35)); 43 dcl message_facility_$get_prefix entry (ptr, char (32) var, bit (1) aligned, fixed bin (35)); 44 dcl message_facility_$get_alarm_handler entry (ptr, entry, ptr, fixed bin (71), fixed bin (35)); 45 dcl message_facility_$get_wakeup_handler entry (ptr, entry, ptr, fixed bin (35)); 46 dcl message_facility_$get_next_msgf_mbx_ptr entry (ptr, ptr); 47 dcl message_facility_$get_mbx_path entry (ptr, char (*), char (*), bit (1) aligned, fixed bin (35)); 48 49 dcl pathname_ entry (char (*), char (*)) returns (char (168)); 50 51 dcl ssu_$abort_line entry () options (variable); 52 dcl ssu_$arg_ptr entry (ptr, fixed bin, ptr, fixed bin (21)); 53 dcl ssu_$destroy_invocation entry (ptr); 54 dcl ssu_$print_message entry () options (variable); 55 dcl ssu_$return_arg entry (ptr, fixed bin, bit (1) aligned, ptr, fixed bin (21)); 56 dcl ssu_$standalone_invocation entry (ptr, char (*), char (*), ptr, entry, fixed bin (35)); 57 58 dcl user_info_$whoami entry (char (*), char (*), char (*)); 59 60 dcl cleanup condition; 61 62 dcl active_function bit (1) aligned; 63 64 dcl fawt  AWTaylor awt Multics VóR; ¼Rë…™ê®RæãL°noneVIP7400_DTR NÝžØMZication} {-control_args}"); 168 169 path = TRUE; 170 end; 171 end; 172 173 if all & path then call ssu_$abort_line (sci_ptr, (0), 174 "A mailbox specification and ""-all"" are mutually exclusive."); 175 176 if ^all & ^path then do; 177 call user_info_$whoami (person, project, ""); 178 dname = ">udd>" || rtrim (project) || ">" || person; 179 ename = rtrim (person) || ".mbx"; 180 default = TRUE; 181 end; 182 183 if all then do; 184 call message_facility_$get_next_msgf_mbx_ptr (null (), msgf_mbx_ptr); 185 186 do while (msgf_mbx_ptr ^= null ()); 187 call message_facility_$get_wakeup_state (msgf_mbx_ptr, flags, code); 188 if code ^= 0 then call ssu_$abort_line (sci_ptr, code); 189 if substr (flags, 4, 2) ^= "00"b then do; 190 call message_facility_$get_mbx_path (msgf_mbx_ptr, dname, ename, default, code); 191 192 if code ^= 0 then call ssu_$abort_line (sci_ptr, code); 193 194 call process_mailbox; 195 printed_something = TRUE; 196 end; 197 call message_facility_$get_next_msgf_mbx_ptr (msgf_mbx_ptr, msgf_mbx_ptr); 198 end; 199 if ^printed_something then call ssu_$abort_line (sci_ptr, (0), 200 "You are not currently accepting or deferring messages on any mailboxes."); 201 end; 202 203 else do; 204 call message_facility_$get_msgf_mbx_ptr (dname, ename, msgf_mbx_ptr, code); 205 206 if code ^= 0 then call ssu_$abort_line (sci_ptr, code, "^a", pathname_ (dname, ename)); 207 208 call message_facility_$get_wakeup_state (msgf_mbx_ptr, flags, code); 209 210 if code ^= 0 then call ssu_$abort_line (sci_ptr, code, "^a", pathname_ (dname, ename)); 211 212 if substr (flags, 4, 2) = "00"b then call ssu_$abort_line (sci_ptr, (0), 213 "You are not accepting or deferring messages on the specified mailbox. ^a", pathname_ (dname, ename)); 214 215 call process_mailbox; 216 end; 217 218 call cleanup_msgst; 219 RETURN_FROM_MST: 220 return; 221 222 process_mailbox: proc; 223 224 return_string = ""; 225 226 /* get wakeup state */ 227 call message_facility_$get_wakeup_state (msgf_mbx_ptr, flags, code); 228 229 if code ^= 0 then do; 230 call ssu_$print_message (sci_ptr, code, "^a", pathname_ (dname, ename)); 231 return; 232 end; 233 234 /* get message format */ 235 call message_facility_$get_message_format (msgf_mbx_ptr, short_format, code); 236 237 if code ^= 0 then do; 238 call ssu_$print_message (sci_ptr, code, "^a", pathname_ (dname, ename)); 239 return; 240 end; 241 242 /* get prefix */ 243 call message_facility_$get_prefix (msgf_mbx_ptr, prefix, short_prefix, code); 244 245 if code ^= 0 then do; 246 call ssu_$print_message (sci_ptr, code, "^a", pathname_ (dname, ename)); 247 return; 248 end; 249 250 /* get handler info */ 251 call message_facility_$get_wakeup_handler (msgf_mbx_ptr, wakeup_handler, wakeup_info_ptr, code); 252 253 if code ^= 0 then do; 254 call ssu_$print_message (sci_ptr, code, "^a", pathname_ (dname, ename)); 255 return; 256 end; 257 258 /* get alarm info */ 259 call message_facility_$get_alarm_handler (msgf_mbx_ptr, alarm_handler, alarm_info_ptr, alarm_time, code); 260 261 if code ^= 0 then do; 262 call ssu_$print_message (sci_ptr, code, "^a", pathname_ (dname, ename)); 263 return; 264 end; 265 266 /* convert wakeup/alarm handlers to char strings */ 267 wakeup_ptr = codeptr (wakeup_handler); 268 alarm_ptr = codeptr (alarm_handler); 269 270 call hcs_$fs_get_path_name (wakeup_ptr, wakeup_dname, (0), wakeup_ename, code); 271 272 if code ^= 0 then do; 273 call ssu_$print_message (sci_ptr, code, "^a", pathname_ (dname, ename)); 274 return; 275 end; 276 277 call hcs_$fs_get_path_name (alarm_ptr, alarm_dname, (0), alarm_ename, code); 278 279 if code ^= 0 then do; 280 call ssu_$print_message (sci_ptr, code, "^a", pathname_ (dname, ename)); 281 return; 282 end; 283 if ^active_function then do; 284 285 /* get number of messages */ 286 call message_facility_$get_msg_array_ptr (msgf_mbx_ptr, sys_area_ptr, msg_array_ptr, n_messages, code); 287 288 if code ^= 0 then do; 289 call ssu_$print_message (sci_ptr, code, "^a", pathname_ (dname, ename)); 290 return; 291 end; 292 293 /* print info */ 294 call ioa_ ("^[^/^]Mailbox: ^a^[ (default)^]", printed_something, pathname_ (dname, ename), default); 295 call ioa_ ("Number of messages: ^d", n_messages); 296 call ioa_ ("Wakeup state: ^[deferring^;accepting^] messages", substr (flags, 5, 1)); 297 call ioa_ ("^3x^[not ^]holding messages", ^substr (flags, 1, 1)); 298 call ioa_ ("^3x^[not ^]holding notifications", ^substr (flags, 2, 1)); 299 call ioa_ ("^3x^[not ^]printing notifications", ^substr (flags, 3, 1)); 300 call ioa_ ("Message format: ^[short^;long^]", short_format); 301 if prefix ^= "" then call ioa_ ("Prefix string: ^a^[ (short prefix)^]", prefix, short_prefix); 302 303 call interpret_ptr_ (codeptr (wakeup_handler), environmentptr (wakeup_handler), addr (strbuf)); 304 call ioa_ ("Wakeup handler: ^a^a^/^3x(^a|^a)", strbuf.segment, strbuf.entryn, 305 pathname_ (wakeup_dname, wakeup_ename), strbuf.offset); 306 call_string_ptr = wakeup_info_ptr; 307 if wakeup_handler = message_facility_$default_wakeup_handler & wakeup_info_ptr ^= null () then 308 if call_string ^= "" then 309 call ioa_ ("^[Wakeup call^;Call^] string: ^a", (wakeup_info_ptr ^= alarm_info_ptr), call_string); 310 if alarm_time ^= 0 then do; 311 call interpret_ptr_ (codeptr (alarm_handler), environmentptr (alarm_handler), addr (strbuf)); 312 call ioa_ ("Alarm handler: ^a^a^/^3x(^a|^a)", strbuf.segment, strbuf.entryn, 313 pathname_ (alarm_dname, alarm_ename), strbuf.offset); 314 call ioa_ ("Alarm wakeup every ^d seconds", alarm_time); 315 call_string_ptr = alarm_info_ptr; 316 if (wakeup_info_ptr ^= alarm_info_ptr) 317 & (alarm_handler = message_facility_$default_alarm_handler) 318 & (alarm_info_ptr ^= null ()) then 319 if call_string ^= "" then call ioa_ ("Alarm call string: ^a", call_string); 320 end; 321 end; 322 323 else do; /* active function case */ 324 if wakeup_handler ^= message_facility_$default_wakeup_handler 325 | alarm_handler ^= message_facility_$default_alarm_handler then 326 call ssu_$abort_line (sci_ptr, (0), "The current wakeup state cannot be described by control arguments due to non-standard alarm or wakeup handler."); 327 328 return_string = "accept_messages -mailbox " || rtrim (pathname_ (dname, ename)); 329 330 if substr (flags, 1, 1) then return_string = return_string || " -hold_messages"; 331 else return_string = return_string || " -no_hold_messages"; 332 333 if substr (flags, 2, 1) then return_string = return_string || " -hold_notifications"; 334 else return_string = return_string || " -no_hold_notifications"; 335 336 if substr (flags, 3, 1) then return_string = return_string || " -notifications"; 337 else return_string = return_string || " -no_notifications"; 338 339 if short_format then return_string = return_string || " -short"; 340 else return_string = return_string || " -long"; 341 342 return_string = return_string || " -prefix """ || prefix || """"; 343 if short_prefix then return_string = return_string || " -short_prefix"; 344 else return_string = return_string || " -no_short_prefix"; 345 346 call_string_ptr = wakeup_info_ptr; 347 if wakeup_info_ptr ^= null () then 348 return_string = return_string || " -call """ || rtrim (call_string) || """"; 349 else return_string = return_string || " -call """""; 350 351 return_string = return_string || " -time " || ltrim (character (alarm_time)); 352 353 if substr (flags, 5, 1) then return_string = return_string || ";defer_messages"; 354 355 return_arg = return_string; 356 end; /* active function case */ 357 end process_mailbox; 358 359 cleanup_msgst: proc; 360 if sci_ptr ^= null () then call ssu_$destroy_invocation (sci_ptr); 361 if msg_array_ptr ^= null () then free msg_array in (sys_area); 362 return; 363 end cleanup_msgst; 364 365 abort_msgst: proc; 366 call cleanup_msgst; 367 go to RETURN_FROM_MST; 368 end abort_msgst; 369 370 1 1 /* BEGIN INCLUDE FILE ... interpret_ptr_struc.incl.pl1 */ 1 2 1 3 dcl 1 struc based (strp) aligned, /* This useful structure is in trace_stack pgms */ 1 4 2 comment char (64), /* name of boundseg, or thing pointed to, or .. */ 1 5 2 segment char (32), /* name of segment, or segment number with # */ 1 6 2 entryn char (33), /* entry name, preceded by $, or blank */ 1 7 2 offset char (6), /* offset in segment, or blank */ 1 8 2 opname char (32), /* may be pl1 operator name */ 1 9 2 ring char (1) unal, /* ring number of ptr */ 1 10 2 std_flag bit (1) unal, /* TRUE if std object. */ 1 11 2 xpad bit (26) unal, 1 12 2 bitoff char (4), /* bit offset */ 1 13 2 modifier char (8), /* ptr modifier, or special code like "noaccess" */ 1 14 2 symbolp ptr, /* ptr to symbol section */ 1 15 2 instruction_counter fixed bin, /* binary instruction counter */ 1 16 2 sourcemap fixed bin, /* source map offset in symbol section */ 1 17 2 compiler char (8), /* name of compiler */ 1 18 2 text_ptr ptr, /* ptr to segment text */ 1 19 2 stack_ptr ptr; /* ptr to stack frame */ 1 20 1 21 dcl 1 strbuf aligned like struc; /* If referenced, will make storage for struc */ 1 22 1 23 /* END INCLUDE FILE ... interpret_ptr_struc.incl.pl1 */ 371 372 2 1 /* BEGIN INCLUDE FILE ... mlsys_parse_ca_options.incl.pl1 */ 2 2 /* Created: June 1983 by G. Palter */ 2 3 /* Modified: March 1984 by G. Palter to remove ignore_log_save option */ 2 4 2 5 /* Options for the mlsys_utils_$parse_address_control_arguments, mlsys_utils_$parse_address_list_control_arguments, and 2 6* mlsys_utils_$parse_mailbox_control_arguments entrypoints */ 2 7 2 8 dcl 1 parse_ca_options aligned based (parse_ca_options_ptr), 2 9 2 version character (8) unaligned, 2 10 2 logbox_creation_mode fixed binary, /* specifies the action to be taken if the address/mailbox is 2 11* the user's logbox, address/mailbox validation is requested, 2 12* and the logbox does not exist */ 2 13 2 savebox_creation_mode fixed binary, /* ... same as above but for any savebox */ 2 14 2 flags, 2 15 3 abort_on_errors bit (1) unaligned, /* ON => use ssu_$abort_line to report errors (ie: abort on 2 16* the first error); OFF => use ssu_$print_message */ 2 17 3 validate_addresses bit (1) unaligned, /* ON => validate the existence of the address/mailbox; 2 18* OFF => only validate the command/request line syntax */ 2 19 3 mbz bit (34) unaligned; /* must be set to ""b by the caller */ 2 20 2 21 dcl PARSE_CA_OPTIONS_VERSION_1 character (8) static options (constant) initial ("mlspca01"); 2 22 2 23 dcl parse_ca_options_ptr pointer; 2 24 2 25 2 26 /* Defined logbox/savebox creation modes */ 2 27 2 28 dcl (DONT_CREATE_MAILBOX initial (0), /* do not create the mailbox and issue an error message */ 2 29 QUERY_TO_CREATE_MAILBOX initial (1), /* ask the user for permission to create the mailbox */ 2 30 CREATE_AND_ANNOUNCE_MAILBOX initial (2), /* create the mailbox and inform the user of this action */ 2 31 SILENTLY_CREATE_MAILBOX initial (3)) /* create the mailbox but don't inform the user */ 2 32 fixed binary static options (constant); 2 33 2 34 /* END INCLUDE FILE ... mlsys_parse_ca_options.incl.pl1 */ 373 374 3 1 /* BEGIN INCLUDE FILE msg_array.incl.pl1 */ 3 2 /* Written 05/29/84 by Jim Lippard */ 3 3 3 4 dcl 1 msg_array (n_messages) aligned based (msg_array_ptr), 3 5 2 message_id bit (72), 3 6 2 message_number fixed bin, 3 7 2 flags, 3 8 3 printed bit (1) unal, 3 9 3 mbz bit (35) unal; 3 10 3 11 dcl msg_array_ptr ptr; 3 12 3 13 dcl n_messages fixed bin; 3 14 3 15 dcl DELETE_UNHELD bit (3) internal static options (constant) init ("100"b); 3 16 dcl DONT_DELETE_MESSAGES bit (3) internal static options (constant) init ("010"b); 3 17 dcl DONT_DELETE_NOTIFICATIONS bit (3) internal static options (constant) init ("001"b); 3 18 3 19 /* END INCLUDE FILE msg_array.incl.pl1 */ 375 376 377 end message_status; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 06/30/86 1342.8 message_status.pl1 >spec>install>1080>message_status.pl1 371 1 06/11/74 0602.3 interpret_ptr_struc.incl.pl1 >ldd>include>interpret_ptr_struc.incl.pl1 373 2 06/18/84 1324.1 mlsys_parse_ca_options.incl.pl1 >ldd>include>mlsys_parse_ca_options.incl.pl1 375 3 11/08/84 0926.0 msg_array.incl.pl1 >ldd>include>msg_array.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. DONT_CREATE_MAILBOX constant fixed bin(17,0) initial dcl 2-28 ref 155 156 FALSE constant bit(1) initial dcl 129 ref 132 158 ME 000003 constant char(14) initial unaligned dcl 22 set ref 139* 142* PARSE_CA_OPTIONS_VERSION_1 000000 constant char(8) initial unaligned dcl 2-21 ref 154 TRUE constant bit(1) initial dcl 128 ref 151 157 169 180 195 VERSION 000002 constant char(3) initial unaligned dcl 23 set ref 139* abort_on_errors 4 000301 automatic bit(1) level 3 packed unaligned dcl 90 set ref 157* active_function 000106 automatic bit(1) dcl 62 set ref 147* 151 283 addr builtin function dcl 124 ref 161 161 303 303 311 311 alarm_dname 000122 automatic char(168) unaligned dcl 68 set ref 277* 312* 312* alarm_ename 000174 automatic char(32) unaligned dcl 69 set ref 277* 312* 312* alarm_handler 000110 automatic entry variable dcl 64 set ref 259* 268 311 311 311 311 316 324 alarm_info_ptr 000114 automatic pointer dcl 65 set ref 259* 307 315 316 316 alarm_ptr 000120 automatic pointer dcl 67 set ref 268* 277* alarm_time 000116 automatic fixed bin(71,0) dcl 66 set ref 259* 310 314* 351 all 000204 automatic bit(1) dcl 71 set ref 132* 151* 173 176 183 arg based char unaligned dcl 76 ref 151 151 arg_count 000205 automatic fixed bin(17,0) dcl 73 set ref 147* 149 arg_len 000210 automatic fixed bin(21,0) dcl 75 set ref 150* 151 151 arg_ptr 000206 automatic pointer dcl 74 set ref 150* 151 151 call_string based char(512) dcl 78 set ref 307 307* 316 316* 347 call_string_ptr 000212 automatic pointer dcl 79 set ref 306* 307 307 315* 316 316 346* 347 character builtin function dcl 124 ref 351 cleanup 000100 stack reference condition dcl 60 ref 136 code 001424 automatic fixed bin(35,0) dcl 126 set ref 139* 141 142* 161* 163 163* 187* 188 188* 190* 192 192* 204* 206 206* 208* 210 210* 227* 229 230* 235* 237 238* 243* 245 246* 251* 253 254* 259* 261 262* 270* 272 273* 277* 279 280* 286* 288 289* codeptr builtin function dcl 124 ref 267 268 303 303 311 311 com_err_ 000010 constant entry external dcl 25 ref 142 default 000214 automatic bit(1) dcl 81 set ref 132* 180* 190* 294* dname 000215 automatic char(168) unaligned dcl 83 set ref 161* 178* 190* 204* 206* 206* 210* 210* 212* 212* 230* 230* 238* 238* 246* 246* 254* 254* 262* 262* 273* 273* 280* 280* 289* 289* 294* 294* 328* ename 000267 automatic char(32) unaligned dcl 84 set ref 161* 179* 190* 204* 206* 206* 210* 210* 212* 212* 230* 230* 238* 238* 246* 246* 254* 254* 262* 262* 273* 273* 280* 280* 289* 289* 294* 294* 328* entryn 30 001426 automatic char(33) level 2 dcl 1-21 set ref 304* 312* environmentptr builtin function dcl 124 ref 303 303 311 311 flags 000277 automatic bit(5) unaligned dcl 86 in procedure "msgst" set ref 187* 189 208* 212 227* 296 296 297 298 299 330 333 336 353 flags 4 000301 automatic structure level 2 in structure "local_pcao" dcl 90 in procedure "msgst" get_system_free_area_ 000012 constant entry external dcl 27 ref 134 hcs_$fs_get_path_name 000014 constant entry external dcl 29 ref 270 277 idx 000300 automatic fixed bin(17,0) dcl 88 set ref 149* 150* 161* 165* 165* interpret_ptr_ 000016 constant entry external dcl 31 ref 303 311 ioa_ 000020 constant entry external dcl 33 ref 294 295 296 297 298 299 300 301 304 307 312 314 316 local_pcao 000301 automatic structure level 1 dcl 90 set ref 161 161 logbox_creation_mode 2 000301 automatic fixed bin(17,0) level 2 dcl 90 set ref 155* ltrim builtin function dcl 124 ref 351 mbz 4(02) 000301 automatic bit(34) level 3 packed unaligned dcl 90 set ref 159* message_facility_$default_alarm_handler 000026 constant entry external dcl 38 ref 316 324 message_facility_$default_wakeup_handler 000024 constant entry external dcl 37 ref 307 324 message_facility_$get_alarm_handler 000042 constant entry external dcl 44 ref 259 message_facility_$get_mbx_path 000050 constant entry external dcl 47 ref 190 message_facility_$get_message_format 000036 constant entry external dcl 42 ref 235 message_facility_$get_msg_array_ptr 000032 constant entry external dcl 40 ref 286 message_facility_$get_msgf_mbx_ptr 000030 constant entry external dcl 39 ref 204 message_facility_$get_next_msgf_mbx_ptr 000046 constant entry external dcl 46 ref 184 197 message_facility_$get_prefix 000040 constant entry external dcl 43 ref 243 message_facility_$get_wakeup_handler 000044 constant entry external dcl 45 ref 251 message_facility_$get_wakeup_state 000034 constant entry external dcl 41 ref 187 208 227 mlsys_utils_$parse_mailbox_control_args 000022 constant entry external dcl 35 ref 161 msg_array based structure array level 1 dcl 3-4 ref 361 msg_array_ptr 001520 automatic pointer dcl 3-11 set ref 133* 286* 361 361 msgf_mbx_ptr 000306 automatic pointer dcl 92 set ref 184* 186 187* 190* 197* 197* 204* 208* 227* 235* 243* 251* 259* 286* n_messages 001522 automatic fixed bin(17,0) dcl 3-13 set ref 286* 295* 361 null builtin function dcl 124 ref 133 139 139 184 184 186 307 316 347 360 361 offset 41 001426 automatic char(6) level 2 dcl 1-21 set ref 304* 312* parse_ca_options based structure level 1 dcl 2-8 path 000310 automatic bit(1) dcl 94 set ref 132* 167 169* 173 176 pathname_ 000052 constant entry external dcl 49 ref 206 206 210 210 212 212 230 230 238 238 246 246 254 254 262 262 273 273 280 280 289 289 294 294 304 304 312 312 328 person 000311 automatic char(22) unaligned dcl 96 set ref 177* 178 179 prefix 000322 automatic varying char(32) dcl 99 set ref 243* 301 301* 342 printed_something 000333 automatic bit(1) dcl 101 set ref 132* 195* 199 294* project 000317 automatic char(9) unaligned dcl 97 set ref 177* 178 return_arg based varying char dcl 105 set ref 355* return_len 000336 automatic fixed bin(21,0) dcl 104 set ref 147* 355 return_ptr 000334 automatic pointer dcl 103 set ref 147* 355 return_string 000337 automatic varying char(2000) dcl 106 set ref 224* 328* 330* 330 331* 331 333* 333 334* 334 336* 336 337* 337 339* 339 340* 340 342* 342 343* 343 344* 344 347* 347 349* 349 351* 351 353* 353 355 rtrim builtin function dcl 124 ref 178 179 328 347 savebox_creation_mode 3 000301 automatic fixed bin(17,0) level 2 dcl 90 set ref 156* sci_ptr 001324 automatic pointer dcl 108 set ref 133* 139* 147* 150* 161* 163* 167* 173* 188* 192* 199* 206* 210* 212* 230* 238* 246* 254* 262* 273* 280* 289* 324* 360 360* segment 20 001426 automatic char(32) level 2 dcl 1-21 set ref 304* 312* short_format 001326 automatic bit(1) dcl 110 set ref 235* 300* 339 short_prefix 001327 automatic bit(1) dcl 111 set ref 243* 301* 343 ssu_$abort_line 000054 constant entry external dcl 51 ref 163 167 173 188 192 199 206 210 212 324 ssu_$arg_ptr 000056 constant entry external dcl 52 ref 150 ssu_$destroy_invocation 000060 constant entry external dcl 53 ref 360 ssu_$print_message 000062 constant entry external dcl 54 ref 230 238 246 254 262 273 280 289 ssu_$return_arg 000064 constant entry external dcl 55 ref 147 ssu_$standalone_invocation 000066 constant entry external dcl 56 ref 139 strbuf 001426 automatic structure level 1 dcl 1-21 set ref 303 303 311 311 struc based structure level 1 dcl 1-3 substr builtin function dcl 124 ref 189 212 296 296 297 298 299 330 333 336 353 sys_area based area(1024) dcl 115 ref 361 sys_area_ptr 001330 automatic pointer dcl 116 set ref 134* 286* 361 user_info_$whoami 000070 constant entry external dcl 58 ref 177 validate_addresses 4(01) 000301 automatic bit(1) level 3 packed unaligned dcl 90 set ref 158* version 000301 automatic char(8) level 2 packed unaligned dcl 90 set ref 154* wakeup_dname 001342 automatic char(168) unaligned dcl 121 set ref 270* 304* 304* wakeup_ename 001414 automatic char(32) unaligned dcl 122 set ref 270* 304* 304* wakeup_handler 001332 automatic entry variable dcl 118 set ref 251* 267 303 303 303 303 307 324 wakeup_info_ptr 001336 automatic pointer dcl 119 set ref 251* 306 307 307 316 346 347 wakeup_ptr 001340 automatic pointer dcl 120 set ref 267* 270* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. CREATE_AND_ANNOUNCE_MAILBOX internal static fixed bin(17,0) initial dcl 2-28 DELETE_UNHELD internal static bit(3) initial unaligned dcl 3-15 DONT_DELETE_MESSAGES internal static bit(3) initial unaligned dcl 3-16 DONT_DELETE_NOTIFICATIONS internal static bit(3) initial unaligned dcl 3-17 QUERY_TO_CREATE_MAILBOX internal static fixed bin(17,0) initial dcl 2-28 SILENTLY_CREATE_MAILBOX internal static fixed bin(17,0) initial dcl 2-28 parse_ca_options_ptr automatic pointer dcl 2-23 strp automatic pointer dcl 113 NAMES DECLARED BY EXPLICIT CONTEXT. RETURN_FROM_MST 001707 constant label dcl 219 ref 367 abort_msgst 004342 constant entry internal dcl 365 ref 139 139 cleanup_msgst 004307 constant entry internal dcl 359 ref 136 218 366 message_status 000510 constant entry external dcl 21 msgst 000501 constant entry external dcl 21 process_mailbox 001710 constant entry internal dcl 222 ref 194 215 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 4756 5050 4370 4766 Length 5374 4370 72 310 366 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME msgst 1072 external procedure is an external procedure. on unit on line 136 64 on unit process_mailbox internal procedure shares stack frame of external procedure msgst. cleanup_msgst 68 internal procedure is called by several nonquick procedures. abort_msgst 64 internal procedure is assigned to an entry variable. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME msgst 000106 active_function msgst 000110 alarm_handler msgst 000114 alarm_info_ptr msgst 000116 alarm_time msgst 000120 alarm_ptr msgst 000122 alarm_dname msgst 000174 alarm_ename msgst 000204 all msgst 000205 arg_count msgst 000206 arg_ptr msgst 000210 arg_len msgst 000212 call_string_ptr msgst 000214 default msgst 000215 dname msgst 000267 ename msgst 000277 flags msgst 000300 idx msgst 000301 local_pcao msgst 000306 msgf_mbx_ptr msgst 000310 path msgst 000311 person msgst 000317 project msgst 000322 prefix msgst 000333 printed_something msgst 000334 return_ptr msgst 000336 return_len msgst 000337 return_string msgst 001324 sci_ptr msgst 001326 short_format msgst 001327 short_prefix msgst 001330 sys_area_ptr msgst 001332 wakeup_handler msgst 001336 wakeup_info_ptr msgst 001340 wakeup_ptr msgst 001342 wakeup_dname msgst 001414 wakeup_ename msgst 001424 code msgst 001426 strbuf msgst 001520 msg_array_ptr msgst 001522 n_messages msgst 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 call_int_other return tra_ext enable shorten_stack ext_entry int_entry free_based THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ get_system_free_area_ hcs_$fs_get_path_name interpret_ptr_ ioa_ message_facility_$default_alarm_handler message_facility_$default_wakeup_handler message_facility_$get_alarm_handler message_facility_$get_mbx_path message_facility_$get_message_format message_facility_$get_msg_array_ptr message_facility_$get_msgf_mbx_ptr message_facility_$get_next_msgf_mbx_ptr message_facility_$get_prefix message_facility_$get_wakeup_handler message_facility_$get_wakeup_state mlsys_utils_$parse_mailbox_control_args pathname_ ssu_$abort_line ssu_$arg_ptr ssu_$destroy_invocation ssu_$print_message ssu_$return_arg ssu_$standalone_invocation user_info_$whoami NO EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 21 000500 132 000515 133 000522 134 000525 136 000533 139 000555 141 000616 142 000620 143 000644 147 000645 149 000664 150 000673 151 000710 154 000730 155 000733 156 000735 157 000736 158 000740 159 000742 161 000744 163 001002 165 001021 167 001023 169 001052 171 001054 173 001056 176 001107 177 001113 178 001134 179 001203 180 001232 183 001235 184 001237 186 001252 187 001256 188 001277 189 001316 190 001321 192 001352 194 001371 195 001372 197 001374 198 001404 199 001405 201 001435 204 001436 206 001463 208 001534 210 001555 212 001626 215 001702 218 001703 219 001707 222 001710 224 001711 227 001712 229 001733 230 001735 231 002004 235 002005 237 002020 238 002022 239 002071 243 002072 245 002107 246 002111 247 002160 251 002161 253 002176 254 002200 255 002247 259 002250 261 002267 262 002271 263 002340 267 002341 268 002343 270 002345 272 002377 273 002401 274 002450 277 002451 279 002503 280 002505 281 002554 283 002555 286 002560 288 002577 289 002601 290 002650 294 002651 295 002720 296 002743 297 002767 298 003013 299 003040 300 003065 301 003105 303 003136 304 003157 306 003232 307 003234 310 003312 311 003314 312 003335 314 003411 315 003431 316 003433 321 003507 324 003510 328 003565 330 003637 331 003656 333 003670 334 003706 336 003720 337 003736 339 003750 340 003766 342 004000 343 004044 344 004063 346 004075 347 004077 349 004163 351 004176 353 004256 355 004274 357 004305 359 004306 360 004314 361 004327 362 004340 365 004341 366 004347 367 004354 ----------------------------------------------------------- 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