COMPILATION LISTING OF SEGMENT list_as_requests Compiled by: Multics PL/I Compiler, Release 29, of July 28, 1986 Compiled at: Honeywell Bull, Phx. Az., Sys-M Compiled on: 08/04/87 1629.6 mst Tue Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1984 * 4* * * 5* *********************************************************** */ 6 7 8 /****^ HISTORY COMMENTS: 9* 1) change(84-12-01,Margulies), approve(), audit(), install(): 10* Pre-hcom comments. 11* Written 1984-12, BIM. 12* Modified 1985-02-20, BIM: For daemon and com channel info requests. 13* 2) change(86-11-24,Lippard), approve(86-11-24,PBF7326), 14* audit(86-11-25,GDixon), install(86-11-25,MR12.0-1224): 15* Modified to handle abs_command AS requests. 16* END HISTORY COMMENTS */ 17 18 19 /* list_as_requests: lists and interprets all as requests in the message 20* segment */ 21 22 /* format: style2,idind30 */ 23 24 list_as_requests: 25 procedure options (variable); 26 27 /**** This command is a very simple lister. It lists all requests 28* unless the access present is only sufficient for own access. 29* Fancy control args will just have to wait. */ 30 31 declare ssu_$standalone_invocation entry (ptr, char (*), char (*), ptr, entry, fixed bin (35)); 32 declare ssu_$destroy_invocation entry (ptr); 33 declare ssu_$abort_line entry () options (variable); 34 declare ssu_$arg_count entry (ptr, fixed bin); 35 declare ssu_$arg_ptr entry (ptr, fixed bin, ptr, fixed bin (21)); 36 declare com_err_ entry () options (variable); 37 declare cu_$arg_list_ptr entry returns (pointer); 38 39 declare display_access_class_ entry (bit (72) aligned) returns (character (32) aligned); 40 declare get_user_free_area_ entry returns (pointer); 41 declare ioa_ entry () options (variable); 42 declare message_segment_$read_message_index 43 entry (fixed bin, ptr, ptr, fixed bin (35)); 44 declare message_segment_$open entry (char (*), char (*), fixed bin, fixed bin (35)); 45 declare message_segment_$close entry (fixed bin, fixed bin (35)); 46 declare message_segment_$get_mode_index 47 entry (fixed bin, bit (36) aligned, fixed bin (35)); 48 declare request_id_ entry (fixed binary (71)) returns (character (19)); 49 declare requote_string_ entry (character (*)) returns (character (*)); 50 51 declare system_info_$request_chn entry (bit (36) aligned, fixed bin (71), char (*), char (*)); 52 53 declare expand_pathname_$add_suffix entry (character (*), character (*), character (*), character (*), 54 fixed binary (35)); 55 56 57 declare error_table_$noarg fixed bin (35) ext static; 58 declare error_table_$badopt fixed bin (35) ext static; 59 60 declare argx fixed bin; 61 declare arg_count fixed bin; 62 declare dir_name char (168); 63 declare entryname char (32); 64 declare message_bits bit (mmi.ms_len) based (mmi.ms_ptr) aligned; 65 declare ms_index fixed bin; 66 declare ms_mode bit (36) aligned; 67 declare sci_ptr pointer; 68 declare code fixed bin (35); 69 declare ap pointer; 70 declare al fixed bin (21); 71 declare argument char (al) based (ap); 72 declare 1 mmi aligned like mseg_message_info; 73 74 declare (addr, currentsize, divide, hbound, lbound, size, substr, unspec) builtin; 75 76 77 dir_name = ""; 78 entryname = ""; 79 ms_index = -1; /* for cleanup handler */ 80 call ssu_$standalone_invocation (sci_ptr, "list_as_requests", "", cu_$arg_list_ptr (), SSU_ABORT, code); 81 if code ^= 0 82 then do; 83 call com_err_ (code, "list_as_requests", "Failed to create ssu_ invocation."); 84 return; 85 end; 86 87 call ssu_$arg_count (sci_ptr, arg_count); 88 if arg_count > 0 89 then do argx = 1 to arg_count; 90 call ssu_$arg_ptr (sci_ptr, argx, ap, al); 91 if argument = "-test_ms" 92 then do; 93 if argx = arg_count 94 then call ssu_$abort_line (sci_ptr, error_table_$noarg, 95 "-test_ms must be followed by a message segment pathname."); 96 argx = argx + 1; 97 call ssu_$arg_ptr (sci_ptr, argx, ap, al); 98 call expand_pathname_$add_suffix (argument, "ms", dir_name, entryname, code); 99 if code ^= 0 100 then call ssu_$abort_line (sci_ptr, code, "Invalid pathname ^a.", argument); 101 end; 102 else call ssu_$abort_line (sci_ptr, error_table_$badopt, "Invalid control argument ^a.", argument); 103 end; 104 105 if dir_name = "" 106 then call system_info_$request_chn ((""b), (0), dir_name, entryname); 107 call message_segment_$open (dir_name, entryname, ms_index, code); 108 if code ^= 0 109 then call ssu_$abort_line (sci_ptr, code, "Failed to open message segment ^a>^a.", dir_name, entryname); 110 call message_segment_$get_mode_index (ms_index, ms_mode, code); 111 if code ^= 0 112 then call ssu_$abort_line (sci_ptr, code, "Failed to get mode on message segment ^a>^a.", dir_name, entryname); 113 114 unspec (mmi) = ""b; 115 mmi.version = MSEG_MESSAGE_INFO_V1; 116 mmi.own = ^substr (ms_mode, 3, 1); /* read mode */ 117 mmi.message_code = MSEG_READ_FIRST; 118 code = 0; 119 do while (code = 0); 120 call message_segment_$read_message_index (ms_index, get_user_free_area_ (), addr (mmi), code); 121 if code = 0 122 then do; 123 call PRINT_MESSAGE; 124 free message_bits; 125 end; 126 mmi.message_code = MSEG_READ_AFTER_SPECIFIED; 127 end; 128 call message_segment_$close (ms_index, (0)); 129 return; 130 131 PRINT_MESSAGE: 132 procedure; 133 134 declare request_id char (19); 135 declare ms_id_clock fixed bin (71); 136 declare ms_length_words fixed bin (18); 137 declare 1 header aligned like as_request_header based (mmi.ms_ptr); 138 139 unspec (ms_id_clock) = mmi.ms_id; 140 request_id = request_id_ (ms_id_clock); 141 call ioa_ ("Message ^a from ^a (^w) in ring ^d", request_id, mmi.sender_id, mmi.sender_process_id, 142 mmi.sender_level); 143 call ioa_ (" Authorization ^a, Maximum authorization ^a", 144 display_access_class_ (mmi.sender_authorization), display_access_class_ (mmi.sender_max_authorization)); 145 146 ms_length_words = divide (mmi.ms_len, 36, 18, 0); 147 if ms_length_words < size (as_request_header) 148 then do; 149 call ioa_ (" Message length less than minimum."); 150 return; 151 end; 152 153 if header.version ^= as_request_version_1 154 then do; 155 call ioa_ (" Message header version ^d, but only version ^d is supported.", header.version, 156 as_request_version_1); 157 return; 158 end; 159 if header.type < ASR_FIRST_TYPE | header.type > ASR_LAST_TYPE 160 then do; 161 call ioa_ (" Message type ^d undefined.", header.type); 162 call ioa_ (" Reply channel ^d.", header.reply_channel); 163 return; 164 end; 165 call ioa_ (" ^a request. Reply channel ^d.", ASR_REQUEST_NAMES (header.type), header.reply_channel); 166 go to TYPE (header.type); 167 168 TYPE (1): /* dial server */ 169 call PRINT_DIAL_REQUEST; 170 return; 171 172 TYPE (2): /* dial out */ 173 call PRINT_DIAL_REQUEST; 174 return; 175 176 TYPE (3): /* fpe causes logout */ 177 TYPE (4): /* fpe causes new process */ 178 return; /* nothing to say */ 179 180 TYPE (5): /* "buzzard" -- termination notify */ 181 call PRINT_BUZZARD; 182 return; 183 184 TYPE (6): /* bump */ 185 call PRINT_BUMP; 186 return; 187 188 TYPE (7): /* command execution */ 189 call PRINT_ADMIN_COMMAND; 190 return; 191 192 TYPE (8): /* note pnt changes */ 193 call PRINT_NOTE_PNT; 194 return; 195 196 TYPE (9): /* daemon commands */ 197 call PRINT_DAEMON_COMMAND; 198 return; 199 200 TYPE (10): /* com_channel_info */ 201 call PRINT_COM_CHANNEL_INFO; 202 return; 203 TYPE (11): /* abs_command */ 204 call PRINT_ABS_COMMAND; 205 return; 206 207 208 PRINT_DIAL_REQUEST: 209 procedure; 210 211 request_ptr = mmi.ms_ptr; 212 if ms_length_words < size (dial_server_request) 213 then do; 214 call ioa_ (" Message too short."); 215 return; 216 end; 217 218 if dial_server_request.version ^= dial_server_request_version_4 219 then do; 220 call ioa_ (" Request version ^d, but only ^d is supported.", dial_server_request.version, 221 dial_server_request_version_4); 222 return; 223 end; 224 call ioa_ (" dial_control_channel ^d", dial_server_request.dial_control_channel); 225 call ioa_ (" dial_qualifier ^a", dial_server_request.dial_qualifier); 226 call ioa_ (" channel_name ^a", dial_server_request.channel_name); 227 call ioa_ (" dial_out_destination ^a", dial_server_request.dial_out_destination); 228 call ioa_ (" baud_rate ^d^[ not specified^]", dial_server_request.baud_rate, 229 dial_server_request.baud_rate = -1); 230 if dial_server_request.line_type >= lbound (line_types, 1) 231 & dial_server_request.line_type <= hbound (line_types, 1) 232 then call ioa_ (" line_type ^d (^a)", dial_server_request.line_type, 233 line_types (dial_server_request.line_type)); 234 else call ioa_ (" line_type ^d", dial_server_request.line_type); 235 call ioa_ (" server_type ^a", dial_server_request.server_type); 236 call ioa_ (" flags: ^[^^^]start,^[^^^]stop,^[^^^]privileged_attach,^[^^^]release_channel,", 237 ^dial_server_request.start, ^dial_server_request.stop, ^dial_server_request.privileged_attach, 238 ^dial_server_request.release_channel); 239 call ioa_ (" ^[^^^]registered_server,^[^^^]no_hangup,^[^^^]release_dial_id,^[^^^]tandd_attach,", 240 ^dial_server_request.registered_server, ^dial_server_request.no_hangup, 241 ^dial_server_request.release_dial_id, ^dial_server_request.tandd_attach); 242 call ioa_ (" ^[^^^]privileged_server", ^dial_server_request.privileged_server); 243 call ioa_ (" access_class ^a", display_access_class_ (dial_server_request.access_class)); 244 return; 245 end PRINT_DIAL_REQUEST; 246 247 PRINT_BUZZARD: 248 procedure; 249 250 asr_buzzard_infop = mmi.ms_ptr; 251 if ms_length_words < size (asr_buzzard_info) 252 then do; 253 call ioa_ (" Message length less than minimum."); 254 return; 255 end; 256 if asr_buzzard_info.version ^= asr_buzzard_info_version_1 257 then do; 258 call ioa_ (" Request version ^a, but only version ^a is supported.", asr_buzzard_info.version, 259 asr_buzzard_info_version_1); 260 return; 261 end; 262 call ioa_ (" info_channel ^d", asr_buzzard_info.info_channel); 263 call ioa_ (" reference_id ^w", asr_buzzard_info.my_reference_id); 264 return; 265 end PRINT_BUZZARD; 266 267 268 PRINT_BUMP: 269 procedure; 270 271 asr_bump_user_info_ptr = mmi.ms_ptr; 272 if ms_length_words < size (asr_bump_user_info) 273 then do; 274 call ioa_ (" Message length less than minimum."); 275 return; 276 end; 277 278 if asr_bump_user_info.version ^= asr_bump_user_info_version_1 279 then do; 280 call ioa_ (" Message version is ^a, but only version ^a is supported.", 281 asr_bump_user_info.version, asr_bump_user_info_version_1); 282 return; 283 end; 284 285 call ioa_ (" process_id ^w", asr_bump_user_info.process_id); 286 call ioa_ (" message ^a", asr_bump_user_info.message); 287 call ioa_ (" grace_time_in_seconds ^d", asr_bump_user_info.grace_time_in_seconds); 288 call ioa_ (" reference_id ^w", asr_bump_user_info.reply_reference_id); 289 return; 290 end PRINT_BUMP; 291 292 PRINT_ADMIN_COMMAND: 293 procedure; 294 295 asr_admin_command_info_ptr = mmi.ms_ptr; 296 if ms_length_words < currentsize (asr_admin_command_info) 297 then do; 298 call ioa_ (" Message length less than minimum."); 299 return; 300 end; 301 if asr_admin_command_info.version ^= ASR_AC_VERSION_1 302 then do; 303 call ioa_ (" Request version is ^a, but only version ^a is supported.", 304 asr_admin_command_info.version, ASR_AC_VERSION_1); 305 return; 306 end; 307 308 call ioa_ (" flags: ^[^^^]send_start_wakeup,^[^^^]send_completion_wakeup,", 309 ^asr_admin_command_info.flags.send_start_wakeup, ^asr_admin_command_info.flags.send_completion_wakeup); 310 call ioa_ (" ^[^^^]send_completion_message,^[^^^]send_completion_mail", 311 ^asr_admin_command_info.flags.send_completion_message, ^asr_admin_command_info.flags.send_completion_mail); 312 call ioa_ (" mail_destination ^a", asr_admin_command_info.mail_destination); 313 call ioa_ (" command ^a", requote_string_ (asr_admin_command_info.command)); 314 return; 315 end PRINT_ADMIN_COMMAND; 316 317 PRINT_NOTE_PNT: 318 procedure; 319 320 asr_note_pnt_change_info_ptr = mmi.ms_ptr; 321 if ms_length_words < currentsize (asr_note_pnt_change_info) 322 then do; 323 call ioa_ (" Message length less than minimum."); 324 return; 325 end; 326 if asr_note_pnt_change_info.version ^= ASR_NPC_INFO_VERSION_1 327 then do; 328 call ioa_ (" Request version is ^a, but only version ^a is supported.", 329 asr_note_pnt_change_info.version, ASR_NPC_INFO_VERSION_1); 330 return; 331 end; 332 call ioa_ (" person_id ^a", asr_note_pnt_change_info.person_id); 333 return; 334 end PRINT_NOTE_PNT; 335 336 PRINT_COM_CHANNEL_INFO: 337 procedure; 338 339 asr_com_channel_info_ptr = mmi.ms_ptr; 340 if ms_length_words < currentsize (asr_com_channel_info) 341 then do; 342 call ioa_ (" Message length less than minimum."); 343 return; 344 end; 345 if asr_com_channel_info.version ^= ASR_CCI_VERSION_1 346 then do; 347 call ioa_ (" Request version is ^a, but only version ^a is supported.", 348 asr_com_channel_info.version, ASR_CCI_VERSION_1); 349 return; 350 end; 351 call ioa_ (" channel_name ^a", asr_com_channel_info.channel_name); 352 call ioa_ (" reply_message_handle ^.3b", asr_com_channel_info.reply_message_handle); 353 354 return; 355 356 end PRINT_COM_CHANNEL_INFO; 357 358 PRINT_DAEMON_COMMAND: 359 procedure; 360 361 asr_daemon_command_info_ptr = mmi.ms_ptr; 362 if ms_length_words < currentsize (asr_daemon_command_info) 363 then do; 364 call ioa_ (" Message length less than minimum."); 365 return; 366 end; 367 if asr_daemon_command_info.version ^= ASR_DC_INFO_VERSION_1 368 then do; 369 call ioa_ (" Request version is ^a, but only version ^a is supported.", 370 asr_daemon_command_info.version, ASR_DC_INFO_VERSION_1); 371 return; 372 end; 373 374 call ioa_ (" action_code ^[login^;logout^;quit^;reply^]", asr_daemon_command_info.action_code); 375 call ioa_ (" user_name ^a", asr_daemon_command_info.user_name); 376 call ioa_ (" project_name ^a", asr_daemon_command_info.project_name); 377 call ioa_ (" source_name ^a", asr_daemon_command_info.source_name); 378 call ioa_ (" command ^a", requote_string_ (asr_daemon_command_info.command)); 379 return; 380 end PRINT_DAEMON_COMMAND; 381 382 PRINT_ABS_COMMAND: 383 procedure; 384 385 asr_abs_command_info_ptr = mmi.ms_ptr; 386 if ms_length_words < currentsize (asr_abs_command_info) 387 then do; 388 call ioa_ (" Message length less than minimum."); 389 return; 390 end; 391 if asr_abs_command_info.version ^= ASR_AC_INFO_VERSION_1 392 then do; 393 call ioa_ (" Request version is ^a, but only version ^a is supported.", 394 asr_abs_command_info.version, ASR_AC_INFO_VERSION_1); 395 return; 396 end; 397 398 call ioa_ (" action_code ^[login^;cancel^]", asr_abs_command_info.action_code); 399 call ioa_ (" request_id ^a", request_id_ (asr_abs_command_info.request_id)); 400 return; 401 end PRINT_ABS_COMMAND; 402 end PRINT_MESSAGE; 403 404 SSU_ABORT: 405 procedure; 406 go to ABORT; 407 end SSU_ABORT; 408 409 ABORT: 410 if ms_index ^= -1 411 then call message_segment_$close (ms_index, (0)); 412 return; 413 1 1 /* BEGIN INCLUDE FILE . . . mseg_message_info.incl.pl1 BIM 1984-10-10 */ 1 2 /* format: style3,idind30 */ 1 3 1 4 /* structure returned when message is read from a message segment */ 1 5 1 6 1 7 dcl mseg_message_info_ptr pointer; 1 8 1 9 dcl 1 mseg_message_info based (mseg_message_info_ptr) aligned, 1 10 2 version char (8) aligned, 1 11 2 message_code fixed bin, 1 12 2 control_flags unaligned, 1 13 3 own bit (1), 1 14 3 delete bit (1), 1 15 3 pad bit (34), 1 16 2 ms_ptr ptr, /* pointer to message */ 1 17 2 ms_len fixed bin (24), /* length of message in bits */ 1 18 2 ms_id bit (72), /* unique ID of message */ 1 19 /* input in some cases */ 1 20 2 ms_access_class bit (72), /* message access class */ 1 21 2 sender_id char (32) unaligned,/* process-group ID of sender */ 1 22 2 sender_process_id bit (36) aligned, /* if nonzero, process that sent */ 1 23 2 sender_level fixed bin, /* validation level of sender */ 1 24 2 sender_authorization bit (72), /* access authorization of message sender */ 1 25 2 sender_max_authorization bit (72), /* max authorization of sending process */ 1 26 2 sender_audit bit (36) aligned; /* audit flags */ 1 27 1 28 declare MSEG_MESSAGE_INFO_V1 char (8) aligned init ("msegmi01") int static options (constant); 1 29 1 30 declare ( 1 31 MSEG_READ_FIRST init (1), 1 32 MSEG_READ_LAST init (2), 1 33 MSEG_READ_SPECIFIED init (3), 1 34 MSEG_READ_BEFORE_SPECIFIED init (4), 1 35 MSEG_READ_AFTER_SPECIFIED init (5)) 1 36 fixed bin int static options (constant); 1 37 1 38 declare (MSEG_READ_OWN init ("1"b), 1 39 MSEG_READ_DELETE init ("01"b) 1 40 ) bit (36) aligned internal static options (constant); 1 41 1 42 /* END INCLUDE FILE . . . mseg_message_info.incl.pl1 */ 414 2 1 /* BEGIN INCLUDE FILE ... as_request_header.incl.pl1 */ 2 2 2 3 /* DESCRIPTION: 2 4* Answering Service request information. 2 5**/ 2 6 2 7 2 8 /****^ HISTORY COMMENTS: 2 9* 1) change(00-01-01,JRandom), approve(), audit(), install(): 2 10* Written by someone, at sometime. 2 11* 2) change(84-09-10,Tague), approve(), audit(), install(): 2 12* R. Michael Tague: Added ASR_BUMP_USER request. 2 13* 3) change(84-10-04,Margulies), approve(), audit(), install(): 2 14* BIM: ASR_ADMIN_COMMAND. 2 15* 4) change(85-01-23,Swenson), approve(), audit(), install(): 2 16* E. Swenson for ASR_NOTE_PNT_CHANGE. 2 17* 5) change(85-02-18,Margulies), approve(), audit(), install(): 2 18* BIM: ASR_DAEMON_COMMAND, ASR_COM_CHANNEL_INFO 2 19* 6) change(85-12-12,Lippard), approve(85-12-30,MCR7326), 2 20* audit(86-10-27,GDixon), install(86-10-28,MR12.0-1200): 2 21* Jim Lippard: Added ASR_ABS_COMMAND request. 2 22* END HISTORY COMMENTS */ 2 23 2 24 2 25 /* format: style4 */ 2 26 2 27 dcl as_request_version_1 fixed bin internal static initial (1) options (constant); 2 28 2 29 dcl ( 2 30 ASR_FIRST_TYPE initial (1), 2 31 ASR_DIAL_SERVER initial (1), 2 32 ASR_DIAL_OUT initial (2), 2 33 ASR_FPE_CAUSES_LOGOUT initial (3), 2 34 ASR_FPE_CAUSES_NEW_PROC initial (4), 2 35 ASR_PROC_TERM_NOTIFY initial (5), 2 36 ASR_BUMP_USER initial (6), 2 37 ASR_ADMIN_COMMAND initial (7), 2 38 ASR_NOTE_PNT_CHANGE initial (8), 2 39 ASR_DAEMON_COMMAND initial (9), 2 40 ASR_COM_CHANNEL_INFO initial (10), 2 41 ASR_ABS_COMMAND initial (11), 2 42 ASR_LAST_TYPE initial (11) 2 43 ) fixed bin internal static options (constant); 2 44 2 45 dcl ASR_DEFER_IN_ADMIN_MODE (1:11) bit (1) int static options (constant) 2 46 init ((6) (1) "0"b, "1"b, (4) (1) "0"b); 2 47 2 48 dcl ASR_REQUEST_NAMES (1:11) int static options (constant) 2 49 char (40) init ( 2 50 "Dial request", 2 51 "Dial out request", 2 52 "Logout on fatal process error", 2 53 "New process on fatal process error", 2 54 "Monitor process terminations", 2 55 "Bump user", 2 56 "Execute admin command", 2 57 "Note PNT change", 2 58 "Daemon command", 2 59 "Communications channel info", 2 60 "Absentee command"); 2 61 2 62 dcl 1 as_request_header based aligned, 2 63 2 version fixed bin, /* version number */ 2 64 2 type fixed bin, /* what to do */ 2 65 2 reply_channel fixed bin (71); /* who to tell */ 2 66 2 67 2 68 /* END INCLUDE FILE ... as_request_header.incl.pl1 */ 415 3 1 /* BEGIN INCLUDE FILE ... as_requests.incl.pl1 */ 3 2 /* DESCRIPTION: 3 3* This include file is the repository of as_request_ structures which are 3 4* not so complicated or arcane as to require their own include file. 3 5* It requires as_request_header.incl.pl1 3 6**/ 3 7 3 8 /* HISTORY: 3 9* Written by someone, at sometime. 3 10* Modified: 3 11* 09/10/84 by R. Michael Tague: Add the structure asr_bump_user_info 3 12* and asr_reply_bump_user. 3 13* 01/23/85 by E. Swenson: Add the asr_note_pnt_change_info structure. 3 14**/ 3 15 3 16 /* format: style4 */ 3 17 3 18 /*** return status from an as_request_ call. ***/ 3 19 3 20 dcl asr_replyp ptr; 3 21 dcl 1 asr_reply aligned based (asr_replyp), /* IPC status return for a.s. request */ 3 22 2 code fixed bin (35), /* standard error code */ 3 23 2 data bit (36); /* other data */ 3 24 3 25 /*** request to monitor process destructions, and the destruction notification ***/ 3 26 3 27 dcl asr_buzzard_info_version_1 char (8) init ("buzzard1") int static options (constant); 3 28 dcl asr_buzzard_infop ptr; 3 29 dcl 1 asr_buzzard_info aligned based (asr_buzzard_infop), /* for watching dying processes */ 3 30 2 header aligned like as_request_header, 3 31 2 version char (8), 3 32 2 info_channel fixed bin (71), /* IPC channel to send processid wakeup messges */ 3 33 2 my_reference_id bit (36); /* becomes top 36 bits of death notice */ 3 34 3 35 dcl 1 asr_buzzard_notification aligned based (asr_replyp), /* message on process destruction */ 3 36 2 your_reference_id bit (36), /* from asr_buzzard_info.my_reference_id */ 3 37 2 process_id bit (36); /* process id of dead process */ 3 38 3 39 /* *********************************************************************** 3 40* * asr_bump_user_info - Message segment info structure for the * 3 41* * ASR_BUMP_USER requests. * 3 42* * process-id - process_id of process to be bumped. * 3 43* * message - message to be splat across user terminal when * 3 44* * the bump is begun, i.e., the grace time starts. * 3 45* * No message is sent if message = "". * 3 46* * grace_time_in_seconds * 3 47* * - Amount of time given to the user before the * 3 48* * user's process is actually terminated. * 3 49* * reply_reference_id * 3 50* * - Reference id that will be returned in the * 3 51* * as_reply_bump_user structure. A reply channel * 3 52* * must be specified in reply_channel in the * 3 53* * header of this structure. The reply message * 3 54* * will have the sturcture of asr_reply_bump_user. * 3 55* *********************************************************************** */ 3 56 3 57 dcl asr_bump_user_info_version_1 char (8) init ("asrbump1") int static options (constant); 3 58 3 59 dcl asr_bump_user_info_ptr ptr; 3 60 dcl 1 asr_bump_user_info aligned based (asr_bump_user_info_ptr), 3 61 2 header aligned like as_request_header, 3 62 2 version char (8), 3 63 2 process_id bit (36), 3 64 2 message char (100) unaligned, 3 65 2 grace_time_in_seconds fixed bin, 3 66 2 reply_reference_id bit (36); 3 67 3 68 /* *********************************************************************** 3 69* * asr_reply_bump_user - Structure sent with the IPC reply upon * 3 70* * initiating the bump. Note: the actual * 3 71* * bump does not take place until after the * 3 72* * given of default grace time. * 3 73* * code - Standard system status code. * 3 74* * reference_id * 3 75* * - Reference id supplied in asr_bump_user_info when * 3 76* * bump user request was made. * 3 77* *********************************************************************** */ 3 78 3 79 dcl 1 asr_reply_bump_user aligned based (asr_replyp), 3 80 2 code fixed bin (35), 3 81 2 reference_id bit (36); 3 82 3 83 3 84 dcl asr_admin_command_info_ptr pointer; 3 85 dcl 1 asr_admin_command_info aligned based (asr_admin_command_info_ptr), 3 86 2 header aligned like as_request_header, 3 87 2 version char (8), 3 88 2 flags aligned, 3 89 3 send_start_wakeup bit (1) unaligned, /* over reply channel */ 3 90 3 send_completion_wakeup bit (1) unaligned, /* over reply channel */ 3 91 3 send_completion_message bit (1) unaligned, 3 92 3 send_completion_mail bit (1) unaligned, 3 93 3 dialog bit (1) unaligned, /* NOT YET IMPLEMENTED */ 3 94 3 pad bit (31) unaligned, 3 95 2 dialog_info aligned, /* NOT YET IMPLEMENTED */ 3 96 3 event_channel fixed bin (71), /* NOTIFY ME ON READ/RIGHT */ 3 97 3 output_message_segment_pathname char (200) unaligned, /* Writes go here */ 3 98 3 input_message_segment_pathname char (200) unaligned, /* Reads come here */ 3 99 2 mail_destination char (200) unaligned, 3 100 2 command_length fixed bin (21), 3 101 2 command char (asr_ac_length refer (asr_admin_command_info.command_length)) unaligned; 3 102 3 103 /* See admin_dialog_info.incl.pl1 for related structures */ 3 104 3 105 dcl asr_ac_length fixed bin (21); 3 106 dcl ASR_AC_VERSION_1 char (8) init ("asrac001") int static options (constant); 3 107 3 108 dcl 1 asr_reply_admin_command aligned based (asr_replyp), 3 109 2 code fixed bin (35), 3 110 2 flags aligned, 3 111 3 command_refused bit (1) unaligned, 3 112 3 command_started bit (1) unaligned, 3 113 3 command_completed bit (1) unaligned, /* with or without errors */ 3 114 3 command_aborted bit (1) unaligned, 3 115 3 command_had_errors bit (1) unaligned, /* at least one error */ 3 116 3 pad bit (31) unaligned; 3 117 3 118 /**** The following structure is used by the Ring-1 PNT software to 3 119* notify the answering service of a PNT change which might affect 3 120* logged in processes. */ 3 121 3 122 dcl asr_note_pnt_change_info_ptr ptr; 3 123 3 124 dcl 1 asr_note_pnt_change_info structure aligned based (asr_note_pnt_change_info_ptr), 3 125 2 header aligned like as_request_header, 3 126 2 version char (8), 3 127 2 person_id char (32); 3 128 3 129 dcl ASR_NPC_INFO_VERSION_1 char (8) initial ("asrnpc01") internal static options (constant); 3 130 3 131 /* END INCLUDE FILE ... as_requests.incl.pl1 */ 416 4 1 /* BEGIN INCLUDE FILE asr_abs_command.incl.pl1 */ 4 2 4 3 /****^ HISTORY COMMENTS: 4 4* 1) change(85-12-12,Lippard), approve(85-12-30,MCR7326), 4 5* audit(86-10-27,GDixon), install(86-10-28,MR12.0-1200): 4 6* Written by Jim Lippard. 4 7* END HISTORY COMMENTS */ 4 8 4 9 dcl asr_abs_command_info_ptr ptr; 4 10 4 11 dcl 1 asr_abs_command_info aligned based (asr_abs_command_info_ptr), 4 12 2 header aligned like as_request_header, 4 13 2 version char (8), 4 14 2 action_code fixed bin, 4 15 2 request_id fixed bin (71); 4 16 4 17 dcl ASR_AC_INFO_VERSION_1 char (8) int static options (constant) init ("asrac001"); 4 18 dcl (ASR_AC_LOGIN init (1), 4 19 ASR_AC_CANCEL init (2)) fixed bin int static options (constant); 4 20 4 21 dcl asr_reply_ac_ptr ptr; 4 22 4 23 dcl 1 asr_reply_abs_command aligned based (asr_reply_ac_ptr), 4 24 2 code fixed bin (35); 4 25 4 26 /* END INCLUDE FILE asr_abs_command.incl.pl1 */ 417 5 1 /* Begin include file asr_daemon_command.incl.pl1 BIM 1985-02-18 */ 5 2 /* format: style4 */ 5 3 /* AS request structure for daemon commands. */ 5 4 5 5 dcl asr_daemon_command_info_ptr pointer; 5 6 dcl 1 asr_daemon_command_info aligned based (asr_daemon_command_info_ptr), 5 7 2 header aligned like as_request_header, 5 8 2 version char (8), 5 9 2 action_code fixed bin, 5 10 2 user_name char (32) unaligned, 5 11 2 project_name char (32) unaligned, 5 12 2 source_name char (32) unaligned, 5 13 2 pad (10) bit (36) aligned, /* avoid adding after refer */ 5 14 2 command_length fixed bin (21), 5 15 2 command char (asr_dc_length refer (asr_daemon_command_info.command_length)) unaligned; /* login control args here on login */ 5 16 5 17 dcl asr_dc_length fixed bin (21); 5 18 dcl ASR_DC_INFO_VERSION_1 char (8) init ("asrdc001") int static options (constant); 5 19 5 20 dcl (ASR_DC_LOGIN init (1), 5 21 ASR_DC_LOGOUT init (2), 5 22 ASR_DC_QUIT init (3), 5 23 ASR_DC_REPLY init (4)) fixed bin int static options (constant); 5 24 5 25 declare asr_reply_dc_ptr pointer; 5 26 dcl 1 asr_reply_daemon_command aligned based (asr_reply_dc_ptr), 5 27 2 code fixed bin (35), 5 28 2 flags aligned, 5 29 3 command_refused bit (1) unaligned, /* validate_daemon_commands OFF and no access to sac */ 5 30 3 no_such_daemon bit (1) unaligned, /* nobody home */ 5 31 3 no_access_to_daemon bit (1) unaligned, /* validate_daemon_commands ON and no access to the specific victim */ 5 32 3 pad bit (33) unaligned; 5 33 5 34 /* END INCLUDE FILE ... asr_daemon_command.incl.pl1 */ 418 6 1 /* BEGIN INCLUDE FILE ... asr_com_channel_info.incl.pl1 */ 6 2 6 3 6 4 /****^ HISTORY COMMENTS: 6 5* 1) change(85-02-18,Margulies), approve(), audit(), install(): 6 6* Initial coding. 6 7* 2) change(87-06-07,GDixon), approve(87-07-13,MCR7741), 6 8* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 6 9* Use correct include file name in begin/end comments. 6 10* END HISTORY COMMENTS */ 6 11 6 12 6 13 /* format: style4 */ 6 14 /* request AS to request com channel info */ 6 15 6 16 dcl asr_com_channel_info_ptr pointer; 6 17 dcl 1 asr_com_channel_info aligned based (asr_com_channel_info_ptr), 6 18 2 header aligned like as_request_header, 6 19 2 version char (8), 6 20 2 channel_name char (32) unaligned, 6 21 2 reply_version_requested char (8), 6 22 2 reply_message_handle bit (72) aligned; 6 23 6 24 dcl ASR_CCI_VERSION_1 char (8) init ("asrci001") int static options (constant); 6 25 6 26 dcl asr_reply_cci_ptr pointer; 6 27 dcl 1 asr_reply_com_channel_info aligned based (asr_reply_cci_ptr), 6 28 2 code fixed bin (35), 6 29 2 pad bit (36) aligned; 6 30 6 31 /* END INCLUDE FILE ... asr_com_channel_info.incl.pl1 */ 419 7 1 /* BEGIN INCLUDE FILE ... dial_server_request.incl.pl1 */ 7 2 7 3 /* This include file declares the data structure to be 7 4* passed to the dial facility to allow a process 7 5* to accept dials. 7 6**/ 7 7 /* Modified 11-9-76 by S.T. Kent to add selective channel release flag 7 8* and registered dial server flag 7 9* Modified April 1979 by Larry Johnson for no_hangup option on release channel 7 10* Modified November 1980 by E.N. Kittlitz for baud rate, line server 7 11* type, and to separate dial_out_destination from dial_qualifier 7 12* Modified March 1981 by Robert Coren to add tandd_attach and no_listen bits 7 13* Modified April 1983 by E. N. Kittlitz for access_class. 7 14* Moodified 84-04-04 BIM for privileged_server. 7 15**/ 7 16 7 17 dcl request_ptr ptr; 7 18 7 19 dcl dial_server_request_version_4 fixed bin internal static initial (4); 7 20 7 21 dcl 1 dial_server_request aligned based (request_ptr), 7 22 2 header like as_request_header, /* std header */ 7 23 2 version fixed bin, /* version of this structure */ 7 24 2 dial_control_channel fixed bin (71), /* send dial acknowledgements here */ 7 25 2 dial_qualifier char (22), /* dial qualifier name to use */ 7 26 2 channel_name char (32), /* channel to attach (may have * convention) */ 7 27 2 dial_out_destination char (32), /* phone-no, etc. for dial out */ 7 28 2 baud_rate fixed bin, /* baud rate required */ 7 29 2 line_type fixed bin, /* line type (protocol) required */ 7 30 2 server_type char (32), /* expansion... */ 7 31 2 flags aligned, /* control flags */ 7 32 3 start bit (1) unaligned, /* start as server */ 7 33 3 stop bit (1) unaligned, /* stop as server */ 7 34 3 privileged_attach bit (1) unaligned, /* grab channel */ 7 35 3 release_channel bit (1) unaligned, /* release this channel */ 7 36 3 registered_server bit (1) unaligned, /* request to become a dial server with a registered qualifier */ 7 37 3 no_hangup bit (1) unaligned, /* release channel without hanging it up */ 7 38 3 release_dial_id bit (1) unaligned, /* stop as dial server, but keep current dial-ups */ 7 39 3 tandd_attach bit (1) unaligned, /* grab channel and force it not to listen */ 7 40 3 no_listen bit (1) unaligned, /* don't listen again at release */ 7 41 3 access_class_specified bit (1) unaligned, /* access_class is valid */ 7 42 3 privileged_server bit (1) unaligned, /* allow_dials/registered_server of range */ 7 43 3 pad bit (25) unaligned, 7 44 2 access_class bit (72); 7 45 7 46 7 47 /* END INCLUDE FILE ... dial_server_request.incl.pl1 */ 420 8 1 /* BEGIN INCLUDE FILE ... line_types.incl.pl1 */ 8 2 8 3 /* Written November 10 1975 by Paul Green */ 8 4 /* Modified October 1978 by Larry Johnson to include line_type_names */ 8 5 /* Modified 12/19/78 by J. Stern to add POLLED_VIP line type */ 8 6 /* Modified 9/27/79 by J. Stern to add X25LAP line type */ 8 7 /* Modified Spring 1981 by Charles Hornig to add HDLC line type */ 8 8 /* Modified May 1981 by Robert Coren to add COLTS line type */ 8 9 /* Modified September 1984 by Robert Coren to correctly count VIP as a synchronous line type */ 8 10 8 11 8 12 /****^ HISTORY COMMENTS: 8 13* 1) change(86-02-25,Negaret), approve(87-07-13,MCR7679), 8 14* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 8 15* Add a DSA line type. 8 16* 2) change(87-03-17,Beattie), approve(87-07-13,MCR7656), 8 17* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 8 18* Add HASP_OPR to identify HASP workstation consoles with login service. 8 19* END HISTORY COMMENTS */ 8 20 8 21 8 22 declare (LINE_MC initial (-2), 8 23 LINE_TELNET initial (-1), 8 24 LINE_UNKNOWN initial (0), 8 25 LINE_ASCII initial (1), 8 26 LINE_1050 initial (2), 8 27 LINE_2741 initial (3), 8 28 LINE_ARDS initial (4), 8 29 LINE_SYNCH initial (5), 8 30 LINE_G115 initial (6), 8 31 LINE_BSC initial (7), 8 32 LINE_ETX initial (8), 8 33 LINE_VIP initial (9), 8 34 LINE_ASYNC1 initial (10), 8 35 LINE_ASYNC2 initial (11), 8 36 LINE_ASYNC3 initial (12), 8 37 LINE_SYNC1 initial (13), 8 38 LINE_SYNC2 initial (14), 8 39 LINE_SYNC3 initial (15), 8 40 LINE_POLLED_VIP initial (16), 8 41 LINE_X25LAP initial (17), 8 42 LINE_HDLC initial (18), 8 43 LINE_COLTS initial (19), 8 44 LINE_DSA initial (20), 8 45 LINE_HASP_OPR initial (21) 8 46 ) fixed bin internal static options (constant); 8 47 8 48 dcl max_line_type fixed bin int static options (constant) init (21); 8 49 8 50 declare n_sync_line_types fixed bin int static options (constant) init (10); 8 51 8 52 declare sync_line_type (10) fixed bin int static options (constant) init (5, 6, 7, 9, 13, 14, 15, 16, 17, 18); 8 53 8 54 dcl line_types (-2:21) char (16) int static options (constant) init ( 8 55 "MC", /* -2 */ 8 56 "TELNET", /* -1 */ 8 57 "none", /* 0 */ 8 58 "ASCII", /* 1 */ 8 59 "1050", /* 2 */ 8 60 "2741", /* 3 */ 8 61 "ARDS", /* 4 */ 8 62 "Sync", /* 5 */ 8 63 "G115", /* 6 */ 8 64 "BSC", /* 7 */ 8 65 "202ETX", /* 8 */ 8 66 "VIP", /* 9 */ 8 67 "ASYNC1", /* 10 */ 8 68 "ASYNC2", /* 11 */ 8 69 "ASYNC3", /* 12 */ 8 70 "SYNC1", /* 13 */ 8 71 "SYNC2", /* 14 */ 8 72 "SYNC3", /* 15 */ 8 73 "POLLED_VIP", /* 16 */ 8 74 "X25LAP", /* 17 */ 8 75 "HDLC", /* 18 */ 8 76 "COLTS", /* 19 */ 8 77 "DSA", /* 20 */ 8 78 "HASP_OPR"); /* 21 */ 8 79 8 80 /* END INCLUDE FILE ... line_types.incl.pl1 */ 421 422 end list_as_requests; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 08/04/87 1540.6 list_as_requests.pl1 >special_ldd>install>MR12.1-1054>list_as_requests.pl1 414 1 01/10/85 2002.8 mseg_message_info.incl.pl1 >ldd>include>mseg_message_info.incl.pl1 415 2 10/30/86 2010.5 as_request_header.incl.pl1 >ldd>include>as_request_header.incl.pl1 416 3 02/12/85 1429.5 as_requests.incl.pl1 >ldd>include>as_requests.incl.pl1 417 4 10/30/86 2010.5 asr_abs_command.incl.pl1 >ldd>include>asr_abs_command.incl.pl1 418 5 03/08/85 0852.6 asr_daemon_command.incl.pl1 >ldd>include>asr_daemon_command.incl.pl1 419 6 08/04/87 1140.5 asr_com_channel_info.incl.pl1 >spec>install>1056>asr_com_channel_info.incl.pl1 420 7 09/13/84 0921.5 dial_server_request.incl.pl1 >ldd>include>dial_server_request.incl.pl1 421 8 08/04/87 1140.0 line_types.incl.pl1 >spec>install>1056>line_types.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. ASR_AC_INFO_VERSION_1 000160 constant char(8) initial unaligned dcl 4-17 set ref 391 393* ASR_AC_VERSION_1 000164 constant char(8) initial unaligned dcl 3-106 set ref 301 303* ASR_CCI_VERSION_1 000154 constant char(8) initial unaligned dcl 6-24 set ref 345 347* ASR_DC_INFO_VERSION_1 000156 constant char(8) initial unaligned dcl 5-18 set ref 367 369* ASR_FIRST_TYPE constant fixed bin(17,0) initial dcl 2-29 ref 159 ASR_LAST_TYPE constant fixed bin(17,0) initial dcl 2-29 ref 159 ASR_NPC_INFO_VERSION_1 000162 constant char(8) initial unaligned dcl 3-129 set ref 326 328* ASR_REQUEST_NAMES 000172 constant char(40) initial array unaligned dcl 2-48 set ref 165* MSEG_MESSAGE_INFO_V1 000350 constant char(8) initial dcl 1-28 ref 115 MSEG_READ_AFTER_SPECIFIED constant fixed bin(17,0) initial dcl 1-30 ref 126 MSEG_READ_FIRST constant fixed bin(17,0) initial dcl 1-30 ref 117 access_class 51 based bit(72) level 2 dcl 7-21 set ref 243* 243* action_code 6 based fixed bin(17,0) level 2 in structure "asr_abs_command_info" dcl 4-11 in procedure "list_as_requests" set ref 398* action_code 6 based fixed bin(17,0) level 2 in structure "asr_daemon_command_info" dcl 5-6 in procedure "list_as_requests" set ref 374* addr builtin function dcl 74 ref 120 120 al 000174 automatic fixed bin(21,0) dcl 70 set ref 90* 91 97* 98 98 99 99 102 102 ap 000172 automatic pointer dcl 69 set ref 90* 91 97* 98 99 102 arg_count 000101 automatic fixed bin(17,0) dcl 61 set ref 87* 88 88 93 argument based char unaligned dcl 71 set ref 91 98* 99* 102* argx 000100 automatic fixed bin(17,0) dcl 60 set ref 88* 90* 93 96* 96 97* as_request_header based structure level 1 dcl 2-62 ref 147 as_request_version_1 000427 constant fixed bin(17,0) initial dcl 2-27 set ref 153 155* asr_abs_command_info based structure level 1 dcl 4-11 set ref 386 asr_abs_command_info_ptr 000240 automatic pointer dcl 4-9 set ref 385* 386 391 393 398 399 399 asr_admin_command_info based structure level 1 dcl 3-85 set ref 296 asr_admin_command_info_ptr 000234 automatic pointer dcl 3-84 set ref 295* 296 301 303 308 308 310 310 312 313 asr_bump_user_info based structure level 1 dcl 3-60 set ref 272 asr_bump_user_info_ptr 000232 automatic pointer dcl 3-59 set ref 271* 272 278 280 285 286 287 288 asr_bump_user_info_version_1 000166 constant char(8) initial unaligned dcl 3-57 set ref 278 280* asr_buzzard_info based structure level 1 dcl 3-29 set ref 251 asr_buzzard_info_version_1 000170 constant char(8) initial unaligned dcl 3-27 set ref 256 258* asr_buzzard_infop 000230 automatic pointer dcl 3-28 set ref 250* 251 256 258 262 263 asr_com_channel_info based structure level 1 dcl 6-17 set ref 340 asr_com_channel_info_ptr 000244 automatic pointer dcl 6-16 set ref 339* 340 345 347 351 352 asr_daemon_command_info based structure level 1 dcl 5-6 set ref 362 asr_daemon_command_info_ptr 000242 automatic pointer dcl 5-5 set ref 361* 362 367 369 374 375 376 377 378 asr_note_pnt_change_info based structure level 1 dcl 3-124 set ref 321 asr_note_pnt_change_info_ptr 000236 automatic pointer dcl 3-122 set ref 320* 321 326 328 332 baud_rate 36 based fixed bin(17,0) level 2 dcl 7-21 set ref 228* 228 channel_name 16 based char(32) level 2 in structure "dial_server_request" dcl 7-21 in procedure "list_as_requests" set ref 226* channel_name 6 based char(32) level 2 in structure "asr_com_channel_info" packed unaligned dcl 6-17 in procedure "list_as_requests" set ref 351* code 000170 automatic fixed bin(35,0) dcl 68 set ref 80* 81 83* 98* 99 99* 107* 108 108* 110* 111 111* 118* 119 120* 121 com_err_ 000022 constant entry external dcl 36 ref 83 command 52 based char level 2 in structure "asr_daemon_command_info" packed unaligned dcl 5-6 in procedure "list_as_requests" set ref 378* command 241 based char level 2 in structure "asr_admin_command_info" packed unaligned dcl 3-85 in procedure "list_as_requests" set ref 313* command_length 51 based fixed bin(21,0) level 2 in structure "asr_daemon_command_info" dcl 5-6 in procedure "list_as_requests" ref 362 378 378 command_length 240 based fixed bin(21,0) level 2 in structure "asr_admin_command_info" dcl 3-85 in procedure "list_as_requests" ref 296 313 313 control_flags 3 000176 automatic structure level 2 packed unaligned dcl 72 cu_$arg_list_ptr 000024 constant entry external dcl 37 ref 80 80 currentsize builtin function dcl 74 ref 296 321 340 362 386 dial_control_channel 6 based fixed bin(71,0) level 2 dcl 7-21 set ref 224* dial_out_destination 26 based char(32) level 2 dcl 7-21 set ref 227* dial_qualifier 10 based char(22) level 2 dcl 7-21 set ref 225* dial_server_request based structure level 1 dcl 7-21 set ref 212 dial_server_request_version_4 000010 internal static fixed bin(17,0) initial dcl 7-19 set ref 218 220* dir_name 000102 automatic char(168) unaligned dcl 62 set ref 77* 98* 105 105* 107* 108* 111* display_access_class_ 000026 constant entry external dcl 39 ref 143 143 143 143 243 243 divide builtin function dcl 74 ref 146 entryname 000154 automatic char(32) unaligned dcl 63 set ref 78* 98* 105* 107* 108* 111* error_table_$badopt 000056 external static fixed bin(35,0) dcl 58 set ref 102* error_table_$noarg 000054 external static fixed bin(35,0) dcl 57 set ref 93* expand_pathname_$add_suffix 000052 constant entry external dcl 53 ref 98 flags 50 based structure level 2 in structure "dial_server_request" dcl 7-21 in procedure "list_as_requests" flags 6 based structure level 2 in structure "asr_admin_command_info" dcl 3-85 in procedure "list_as_requests" get_user_free_area_ 000030 constant entry external dcl 40 ref 120 120 grace_time_in_seconds 40 based fixed bin(17,0) level 2 dcl 3-60 set ref 287* hbound builtin function dcl 74 ref 230 header based structure level 1 dcl 137 info_channel 6 based fixed bin(71,0) level 2 dcl 3-29 set ref 262* ioa_ 000032 constant entry external dcl 41 ref 141 143 149 155 161 162 165 214 220 224 225 226 227 228 230 234 235 236 239 242 243 253 258 262 263 274 280 285 286 287 288 298 303 308 310 312 313 323 328 332 342 347 351 352 364 369 374 375 376 377 378 388 393 398 399 lbound builtin function dcl 74 ref 230 line_type 37 based fixed bin(17,0) level 2 dcl 7-21 set ref 230 230 230* 230 234* line_types 000013 constant char(16) initial array unaligned dcl 8-54 set ref 230 230 230* mail_destination 156 based char(200) level 2 packed unaligned dcl 3-85 set ref 312* message 7 based char(100) level 2 packed unaligned dcl 3-60 set ref 286* message_bits based bit dcl 64 ref 124 message_code 2 000176 automatic fixed bin(17,0) level 2 dcl 72 set ref 117* 126* message_segment_$close 000040 constant entry external dcl 45 ref 128 409 message_segment_$get_mode_index 000042 constant entry external dcl 46 ref 110 message_segment_$open 000036 constant entry external dcl 44 ref 107 message_segment_$read_message_index 000034 constant entry external dcl 42 ref 120 mmi 000176 automatic structure level 1 dcl 72 set ref 114* 120 120 ms_id 7 000176 automatic bit(72) level 2 dcl 72 set ref 139 ms_id_clock 000266 automatic fixed bin(71,0) dcl 135 set ref 139* 140* ms_index 000164 automatic fixed bin(17,0) dcl 65 set ref 79* 107* 110* 120* 128* 409 409* ms_len 6 000176 automatic fixed bin(24,0) level 2 dcl 72 set ref 124 124 146 ms_length_words 000270 automatic fixed bin(18,0) dcl 136 set ref 146* 147 212 251 272 296 321 340 362 386 ms_mode 000165 automatic bit(36) dcl 66 set ref 110* 116 ms_ptr 4 000176 automatic pointer level 2 dcl 72 set ref 124 153 155 159 159 161 162 165 165 166 211 250 271 295 320 339 361 385 mseg_message_info based structure level 1 dcl 1-9 my_reference_id 10 based bit(36) level 2 dcl 3-29 set ref 263* no_hangup 50(05) based bit(1) level 3 packed unaligned dcl 7-21 ref 239 own 3 000176 automatic bit(1) level 3 packed unaligned dcl 72 set ref 116* person_id 6 based char(32) level 2 dcl 3-124 set ref 332* privileged_attach 50(02) based bit(1) level 3 packed unaligned dcl 7-21 ref 236 privileged_server 50(10) based bit(1) level 3 packed unaligned dcl 7-21 ref 242 process_id 6 based bit(36) level 2 dcl 3-60 set ref 285* project_name 17 based char(32) level 2 packed unaligned dcl 5-6 set ref 376* registered_server 50(04) based bit(1) level 3 packed unaligned dcl 7-21 ref 239 release_channel 50(03) based bit(1) level 3 packed unaligned dcl 7-21 ref 236 release_dial_id 50(06) based bit(1) level 3 packed unaligned dcl 7-21 ref 239 reply_channel 2 based fixed bin(71,0) level 2 dcl 137 set ref 162* 165* reply_message_handle 20 based bit(72) level 2 dcl 6-17 set ref 352* reply_reference_id 41 based bit(36) level 2 dcl 3-60 set ref 288* request_id 10 based fixed bin(71,0) level 2 in structure "asr_abs_command_info" dcl 4-11 in procedure "list_as_requests" set ref 399* 399* request_id 000260 automatic char(19) unaligned dcl 134 in procedure "PRINT_MESSAGE" set ref 140* 141* request_id_ 000044 constant entry external dcl 48 ref 140 399 399 request_ptr 000246 automatic pointer dcl 7-17 set ref 211* 212 218 220 224 225 226 227 228 228 230 230 230 230 234 235 236 236 236 236 239 239 239 239 242 243 243 requote_string_ 000046 constant entry external dcl 49 ref 313 378 sci_ptr 000166 automatic pointer dcl 67 set ref 80* 87* 90* 93* 97* 99* 102* 108* 111* send_completion_mail 6(03) based bit(1) level 3 packed unaligned dcl 3-85 ref 310 send_completion_message 6(02) based bit(1) level 3 packed unaligned dcl 3-85 ref 310 send_completion_wakeup 6(01) based bit(1) level 3 packed unaligned dcl 3-85 ref 308 send_start_wakeup 6 based bit(1) level 3 packed unaligned dcl 3-85 ref 308 sender_authorization 25 000176 automatic bit(72) level 2 dcl 72 set ref 143* 143* sender_id 13 000176 automatic char(32) level 2 packed unaligned dcl 72 set ref 141* sender_level 24 000176 automatic fixed bin(17,0) level 2 dcl 72 set ref 141* sender_max_authorization 27 000176 automatic bit(72) level 2 dcl 72 set ref 143* 143* sender_process_id 23 000176 automatic bit(36) level 2 dcl 72 set ref 141* server_type 40 based char(32) level 2 dcl 7-21 set ref 235* size builtin function dcl 74 ref 147 212 251 272 source_name 27 based char(32) level 2 packed unaligned dcl 5-6 set ref 377* ssu_$abort_line 000014 constant entry external dcl 33 ref 93 99 102 108 111 ssu_$arg_count 000016 constant entry external dcl 34 ref 87 ssu_$arg_ptr 000020 constant entry external dcl 35 ref 90 97 ssu_$standalone_invocation 000012 constant entry external dcl 31 ref 80 start 50 based bit(1) level 3 packed unaligned dcl 7-21 ref 236 stop 50(01) based bit(1) level 3 packed unaligned dcl 7-21 ref 236 substr builtin function dcl 74 ref 116 system_info_$request_chn 000050 constant entry external dcl 51 ref 105 tandd_attach 50(07) based bit(1) level 3 packed unaligned dcl 7-21 ref 239 type 1 based fixed bin(17,0) level 2 dcl 137 set ref 159 159 161* 165 166 unspec builtin function dcl 74 set ref 114* 139* user_name 7 based char(32) level 2 packed unaligned dcl 5-6 set ref 375* version 4 based char(8) level 2 in structure "asr_buzzard_info" dcl 3-29 in procedure "list_as_requests" set ref 256 258* version 4 based char(8) level 2 in structure "asr_bump_user_info" dcl 3-60 in procedure "list_as_requests" set ref 278 280* version 4 based char(8) level 2 in structure "asr_daemon_command_info" dcl 5-6 in procedure "list_as_requests" set ref 367 369* version 4 based fixed bin(17,0) level 2 in structure "dial_server_request" dcl 7-21 in procedure "list_as_requests" set ref 218 220* version 4 based char(8) level 2 in structure "asr_com_channel_info" dcl 6-17 in procedure "list_as_requests" set ref 345 347* version 4 based char(8) level 2 in structure "asr_note_pnt_change_info" dcl 3-124 in procedure "list_as_requests" set ref 326 328* version based fixed bin(17,0) level 2 in structure "header" dcl 137 in procedure "PRINT_MESSAGE" set ref 153 155* version 4 based char(8) level 2 in structure "asr_admin_command_info" dcl 3-85 in procedure "list_as_requests" set ref 301 303* version 4 based char(8) level 2 in structure "asr_abs_command_info" dcl 4-11 in procedure "list_as_requests" set ref 391 393* version 000176 automatic char(8) level 2 in structure "mmi" dcl 72 in procedure "list_as_requests" set ref 115* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ASR_ABS_COMMAND internal static fixed bin(17,0) initial dcl 2-29 ASR_AC_CANCEL internal static fixed bin(17,0) initial dcl 4-18 ASR_AC_LOGIN internal static fixed bin(17,0) initial dcl 4-18 ASR_ADMIN_COMMAND internal static fixed bin(17,0) initial dcl 2-29 ASR_BUMP_USER internal static fixed bin(17,0) initial dcl 2-29 ASR_COM_CHANNEL_INFO internal static fixed bin(17,0) initial dcl 2-29 ASR_DAEMON_COMMAND internal static fixed bin(17,0) initial dcl 2-29 ASR_DC_LOGIN internal static fixed bin(17,0) initial dcl 5-20 ASR_DC_LOGOUT internal static fixed bin(17,0) initial dcl 5-20 ASR_DC_QUIT internal static fixed bin(17,0) initial dcl 5-20 ASR_DC_REPLY internal static fixed bin(17,0) initial dcl 5-20 ASR_DEFER_IN_ADMIN_MODE internal static bit(1) initial array unaligned dcl 2-45 ASR_DIAL_OUT internal static fixed bin(17,0) initial dcl 2-29 ASR_DIAL_SERVER internal static fixed bin(17,0) initial dcl 2-29 ASR_FPE_CAUSES_LOGOUT internal static fixed bin(17,0) initial dcl 2-29 ASR_FPE_CAUSES_NEW_PROC internal static fixed bin(17,0) initial dcl 2-29 ASR_NOTE_PNT_CHANGE internal static fixed bin(17,0) initial dcl 2-29 ASR_PROC_TERM_NOTIFY internal static fixed bin(17,0) initial dcl 2-29 LINE_1050 internal static fixed bin(17,0) initial dcl 8-22 LINE_2741 internal static fixed bin(17,0) initial dcl 8-22 LINE_ARDS internal static fixed bin(17,0) initial dcl 8-22 LINE_ASCII internal static fixed bin(17,0) initial dcl 8-22 LINE_ASYNC1 internal static fixed bin(17,0) initial dcl 8-22 LINE_ASYNC2 internal static fixed bin(17,0) initial dcl 8-22 LINE_ASYNC3 internal static fixed bin(17,0) initial dcl 8-22 LINE_BSC internal static fixed bin(17,0) initial dcl 8-22 LINE_COLTS internal static fixed bin(17,0) initial dcl 8-22 LINE_DSA internal static fixed bin(17,0) initial dcl 8-22 LINE_ETX internal static fixed bin(17,0) initial dcl 8-22 LINE_G115 internal static fixed bin(17,0) initial dcl 8-22 LINE_HASP_OPR internal static fixed bin(17,0) initial dcl 8-22 LINE_HDLC internal static fixed bin(17,0) initial dcl 8-22 LINE_MC internal static fixed bin(17,0) initial dcl 8-22 LINE_POLLED_VIP internal static fixed bin(17,0) initial dcl 8-22 LINE_SYNC1 internal static fixed bin(17,0) initial dcl 8-22 LINE_SYNC2 internal static fixed bin(17,0) initial dcl 8-22 LINE_SYNC3 internal static fixed bin(17,0) initial dcl 8-22 LINE_SYNCH internal static fixed bin(17,0) initial dcl 8-22 LINE_TELNET internal static fixed bin(17,0) initial dcl 8-22 LINE_UNKNOWN internal static fixed bin(17,0) initial dcl 8-22 LINE_VIP internal static fixed bin(17,0) initial dcl 8-22 LINE_X25LAP internal static fixed bin(17,0) initial dcl 8-22 MSEG_READ_BEFORE_SPECIFIED internal static fixed bin(17,0) initial dcl 1-30 MSEG_READ_DELETE internal static bit(36) initial dcl 1-38 MSEG_READ_LAST internal static fixed bin(17,0) initial dcl 1-30 MSEG_READ_OWN internal static bit(36) initial dcl 1-38 MSEG_READ_SPECIFIED internal static fixed bin(17,0) initial dcl 1-30 asr_ac_length automatic fixed bin(21,0) dcl 3-105 asr_buzzard_notification based structure level 1 dcl 3-35 asr_dc_length automatic fixed bin(21,0) dcl 5-17 asr_reply based structure level 1 dcl 3-21 asr_reply_abs_command based structure level 1 dcl 4-23 asr_reply_ac_ptr automatic pointer dcl 4-21 asr_reply_admin_command based structure level 1 dcl 3-108 asr_reply_bump_user based structure level 1 dcl 3-79 asr_reply_cci_ptr automatic pointer dcl 6-26 asr_reply_com_channel_info based structure level 1 dcl 6-27 asr_reply_daemon_command based structure level 1 dcl 5-26 asr_reply_dc_ptr automatic pointer dcl 5-25 asr_replyp automatic pointer dcl 3-20 max_line_type internal static fixed bin(17,0) initial dcl 8-48 mseg_message_info_ptr automatic pointer dcl 1-7 n_sync_line_types internal static fixed bin(17,0) initial dcl 8-50 ssu_$destroy_invocation 000000 constant entry external dcl 32 sync_line_type internal static fixed bin(17,0) initial array dcl 8-52 NAMES DECLARED BY EXPLICIT CONTEXT. ABORT 002226 constant label dcl 409 ref 406 PRINT_ABS_COMMAND 004512 constant entry internal dcl 382 ref 203 PRINT_ADMIN_COMMAND 003600 constant entry internal dcl 292 ref 188 PRINT_BUMP 003417 constant entry internal dcl 268 ref 184 PRINT_BUZZARD 003300 constant entry internal dcl 247 ref 180 PRINT_COM_CHANNEL_INFO 004137 constant entry internal dcl 336 ref 200 PRINT_DAEMON_COMMAND 004256 constant entry internal dcl 358 ref 196 PRINT_DIAL_REQUEST 002556 constant entry internal dcl 208 ref 168 172 PRINT_MESSAGE 002244 constant entry internal dcl 131 ref 123 PRINT_NOTE_PNT 004041 constant entry internal dcl 317 ref 192 SSU_ABORT 004643 constant entry internal dcl 404 ref 80 80 TYPE 000000 constant label array(11) dcl 168 ref 166 list_as_requests 001351 constant entry external dcl 24 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 5130 5210 4655 5140 Length 5646 4655 60 421 252 2 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME list_as_requests 838 external procedure is an external procedure. PRINT_MESSAGE internal procedure shares stack frame of external procedure list_as_requests. PRINT_DIAL_REQUEST internal procedure shares stack frame of external procedure list_as_requests. PRINT_BUZZARD internal procedure shares stack frame of external procedure list_as_requests. PRINT_BUMP internal procedure shares stack frame of external procedure list_as_requests. PRINT_ADMIN_COMMAND internal procedure shares stack frame of external procedure list_as_requests. PRINT_NOTE_PNT internal procedure shares stack frame of external procedure list_as_requests. PRINT_COM_CHANNEL_INFO internal procedure shares stack frame of external procedure list_as_requests. PRINT_DAEMON_COMMAND internal procedure shares stack frame of external procedure list_as_requests. PRINT_ABS_COMMAND internal procedure shares stack frame of external procedure list_as_requests. SSU_ABORT 64 internal procedure is assigned to an entry variable. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 dial_server_request_version_4 list_as_requests STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME list_as_requests 000100 argx list_as_requests 000101 arg_count list_as_requests 000102 dir_name list_as_requests 000154 entryname list_as_requests 000164 ms_index list_as_requests 000165 ms_mode list_as_requests 000166 sci_ptr list_as_requests 000170 code list_as_requests 000172 ap list_as_requests 000174 al list_as_requests 000176 mmi list_as_requests 000230 asr_buzzard_infop list_as_requests 000232 asr_bump_user_info_ptr list_as_requests 000234 asr_admin_command_info_ptr list_as_requests 000236 asr_note_pnt_change_info_ptr list_as_requests 000240 asr_abs_command_info_ptr list_as_requests 000242 asr_daemon_command_info_ptr list_as_requests 000244 asr_com_channel_info_ptr list_as_requests 000246 request_ptr list_as_requests 000260 request_id PRINT_MESSAGE 000266 ms_id_clock PRINT_MESSAGE 000270 ms_length_words PRINT_MESSAGE THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. r_e_as call_ext_out_desc call_ext_out return_mac tra_ext_1 shorten_stack ext_entry int_entry op_freen_ THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. com_err_ cu_$arg_list_ptr display_access_class_ expand_pathname_$add_suffix get_user_free_area_ ioa_ message_segment_$close message_segment_$get_mode_index message_segment_$open message_segment_$read_message_index request_id_ requote_string_ ssu_$abort_line ssu_$arg_count ssu_$arg_ptr ssu_$standalone_invocation system_info_$request_chn THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$badopt error_table_$noarg LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 24 001350 77 001356 78 001361 79 001364 80 001366 81 001437 83 001441 84 001471 87 001472 88 001503 90 001513 91 001530 93 001536 96 001565 97 001566 98 001603 99 001641 101 001701 102 001702 103 001735 105 001737 107 001774 108 002021 110 002057 111 002072 114 002130 115 002133 116 002135 117 002144 118 002146 119 002147 120 002152 121 002200 123 002202 124 002203 126 002210 127 002212 128 002213 129 002225 409 002226 412 002243 131 002244 139 002245 140 002250 141 002261 143 002315 146 002362 147 002365 149 002367 150 002403 153 002404 155 002407 157 002432 159 002433 161 002441 162 002461 163 002502 165 002503 166 002530 168 002533 170 002534 172 002535 174 002536 176 002537 180 002540 182 002541 184 002542 186 002543 188 002544 190 002545 192 002546 194 002547 196 002550 198 002551 200 002552 202 002553 203 002554 205 002555 208 002556 211 002557 212 002561 214 002564 215 002600 218 002601 220 002606 222 002630 224 002631 225 002650 226 002671 227 002712 228 002733 230 002764 234 003020 235 003043 236 003064 239 003141 242 003217 243 003245 244 003277 247 003300 250 003301 251 003303 253 003306 254 003322 256 003323 258 003330 260 003354 262 003355 263 003375 264 003416 268 003417 271 003420 272 003422 274 003425 275 003441 278 003442 280 003447 282 003473 285 003474 286 003514 287 003535 288 003556 289 003577 292 003600 295 003601 296 003603 298 003612 299 003626 301 003627 303 003633 305 003657 308 003660 310 003714 312 003752 313 003773 314 004037 317 004041 320 004042 321 004044 323 004047 324 004063 326 004064 328 004071 330 004115 332 004116 333 004136 336 004137 339 004140 340 004142 342 004145 343 004161 345 004162 347 004167 349 004213 351 004214 352 004234 354 004255 358 004256 361 004257 362 004261 364 004270 365 004304 367 004305 369 004311 371 004335 374 004336 375 004356 376 004402 377 004423 378 004444 379 004510 382 004512 385 004513 386 004515 388 004520 389 004534 391 004535 393 004542 395 004566 398 004567 399 004607 400 004641 404 004642 406 004650 ----------------------------------------------------------- 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