COMPILATION LISTING OF SEGMENT user Compiled by: Multics PL/I Compiler, Release 30, of February 16, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 07/13/88 1045.8 mst Wed Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1988 * 4* * * 5* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 6* * * 7* * Copyright (c) 1972 by Massachusetts Institute of * 8* * Technology and Honeywell Information Systems, Inc. * 9* * * 10* *********************************************************** */ 11 12 13 /* format: style4 */ 14 user: procedure options (variable); 15 16 /* USER - active function to return user parameters */ 17 18 19 /****^ HISTORY COMMENTS: 20* 1) change(86-03-01,Gilcrease), approve(86-03-27,MCR7370), 21* audit(86-06-23,Lippard), install(86-06-30,MR12.0-1082): 22* First comment for hcom. 23* 24* Modified April 1979 by T. Casey for MR7.0a to return "foreground" from [user abs_queue] in foreground job 25* initial_term_(id type) added and term_(id type) changed to return current info. 09/12/79 S. Herbst 26* Modified Feb 1980 by M. B. Armstrong to implement multiple rate structures. (UNCA). 27* Modified June 1981 by E. N. Kittlitz for UNCA rate structures 28* Modified Augues 30 1981 by William M. York to add accounting keywords 29* (limit, monthly_limit, cutoff_date, shift_limit, spending, monthly_spending, 30* shift_spending, and limit_type), to clean up the code, and add comments 31* to each action 32* Modified October 1982 by E. N. Kittlitz for request_id 33* Added 256K (256k) keyword 07/14/83 S. Herbst 34* Added all keyword, printed in sorted list 10/3/83 C Spitzer 35* Modified 1984-07-28 BIM to implement all in maintainable way, 36* add auth_range, min_auth. 37* Modified 1984-09-13 by JAFalksen, to utilize date_time_$format("date"|"time"|"date_time" 38* Modified 1984-12-05 BIM: fixed dcl of user_info_$attributes 39* Modified 1984-12-05 C Spitzer. fix subscriptrange errors 40* 2) change(86-03-27,Gilcrease), approve(86-03-27,MCR7370), 41* audit(86-06-23,Lippard), install(86-06-30,MR12.0-1082): 42* Add the keywords absout_truncation, absentee_restarted for -truncate 43* absout, SCP6297. 44* 3) change(87-11-30,Parisek), approve(88-02-11,MCR7849), 45* audit(88-03-07,Lippard), install(88-07-13,MR12.2-1047): 46* Added the min_ring, max_ring, & ring_range keywords. SCP6367 47* END HISTORY COMMENTS */ 48 49 50 dcl alp pointer; 51 dcl ap ptr, /* ptr to argument */ 52 al fixed bin (21), /* lth of argument */ 53 all_switch bit (1) aligned, 54 bchr char (al) based (ap) unal, /* argument */ 55 answer char (al) varying based (ap); /* return argument */ 56 57 dcl time fixed bin (71), 58 nactsw bit (1), 59 (got_login_data, got_auth, got_limits) bit (1) aligned, 60 term_id_sw bit (1), 61 K256_switch bit (2) aligned, 62 switch fixed bin, 63 ec fixed bin (35), 64 attr char (300) varying, 65 (nm, pj, ac, grp) char (32), 66 f float bin, 67 (an, sb, wt) fixed bin, 68 (tli, ocpu) fixed bin (71), 69 wd char (9), 70 dn char (168), 71 id char (8), 72 (np, pf, pp) fixed bin, 73 tt char (32), 74 (i, n) fixed bin, 75 b36 bit (36), 76 (auth, max_auth) bit (72) aligned, 77 auth_range (2) bit (72) aligned, 78 rs_number fixed bin, 79 string char (300) varying, 80 auth_string char (644), 81 (absolute_limit, absolute_spending, monthly_limit, monthly_spending) float bin, 82 (shift_limits, shift_spendings) dimension (0:7) float bin, 83 cutoff_date fixed bin (71), 84 limit_type fixed bin, 85 current_shift fixed bin, 86 fb71 fixed bin (71), 87 char19 char (19), 88 (truncate, restarted) bit (1), 89 rg_range (2) fixed bin, 90 ring_string char (3); 91 92 dcl process_type (0:3) char (12) static options (constant) 93 init ("initializer", "interactive", "absentee", "daemon"); 94 95 dcl service_type (0:7) char (8) static options (constant) 96 init ("unknown", "login", "FTP", "MC", "slave", "type5", "autocall", "inactive"); 97 1 1 /* BEGIN INCLUDE FILE ... line_types.incl.pl1 */ 1 2 1 3 /* Written November 10 1975 by Paul Green */ 1 4 /* Modified October 1978 by Larry Johnson to include line_type_names */ 1 5 /* Modified 12/19/78 by J. Stern to add POLLED_VIP line type */ 1 6 /* Modified 9/27/79 by J. Stern to add X25LAP line type */ 1 7 /* Modified Spring 1981 by Charles Hornig to add HDLC line type */ 1 8 /* Modified May 1981 by Robert Coren to add COLTS line type */ 1 9 /* Modified September 1984 by Robert Coren to correctly count VIP as a synchronous line type */ 1 10 1 11 1 12 /****^ HISTORY COMMENTS: 1 13* 1) change(86-02-25,Negaret), approve(87-07-13,MCR7679), 1 14* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 1 15* Add a DSA line type. 1 16* 2) change(87-03-17,Beattie), approve(87-07-13,MCR7656), 1 17* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 1 18* Add HASP_OPR to identify HASP workstation consoles with login service. 1 19* END HISTORY COMMENTS */ 1 20 1 21 1 22 declare (LINE_MC initial (-2), 1 23 LINE_TELNET initial (-1), 1 24 LINE_UNKNOWN initial (0), 1 25 LINE_ASCII initial (1), 1 26 LINE_1050 initial (2), 1 27 LINE_2741 initial (3), 1 28 LINE_ARDS initial (4), 1 29 LINE_SYNCH initial (5), 1 30 LINE_G115 initial (6), 1 31 LINE_BSC initial (7), 1 32 LINE_ETX initial (8), 1 33 LINE_VIP initial (9), 1 34 LINE_ASYNC1 initial (10), 1 35 LINE_ASYNC2 initial (11), 1 36 LINE_ASYNC3 initial (12), 1 37 LINE_SYNC1 initial (13), 1 38 LINE_SYNC2 initial (14), 1 39 LINE_SYNC3 initial (15), 1 40 LINE_POLLED_VIP initial (16), 1 41 LINE_X25LAP initial (17), 1 42 LINE_HDLC initial (18), 1 43 LINE_COLTS initial (19), 1 44 LINE_DSA initial (20), 1 45 LINE_HASP_OPR initial (21) 1 46 ) fixed bin internal static options (constant); 1 47 1 48 dcl max_line_type fixed bin int static options (constant) init (21); 1 49 1 50 declare n_sync_line_types fixed bin int static options (constant) init (10); 1 51 1 52 declare sync_line_type (10) fixed bin int static options (constant) init (5, 6, 7, 9, 13, 14, 15, 16, 17, 18); 1 53 1 54 dcl line_types (-2:21) char (16) int static options (constant) init ( 1 55 "MC", /* -2 */ 1 56 "TELNET", /* -1 */ 1 57 "none", /* 0 */ 1 58 "ASCII", /* 1 */ 1 59 "1050", /* 2 */ 1 60 "2741", /* 3 */ 1 61 "ARDS", /* 4 */ 1 62 "Sync", /* 5 */ 1 63 "G115", /* 6 */ 1 64 "BSC", /* 7 */ 1 65 "202ETX", /* 8 */ 1 66 "VIP", /* 9 */ 1 67 "ASYNC1", /* 10 */ 1 68 "ASYNC2", /* 11 */ 1 69 "ASYNC3", /* 12 */ 1 70 "SYNC1", /* 13 */ 1 71 "SYNC2", /* 14 */ 1 72 "SYNC3", /* 15 */ 1 73 "POLLED_VIP", /* 16 */ 1 74 "X25LAP", /* 17 */ 1 75 "HDLC", /* 18 */ 1 76 "COLTS", /* 19 */ 1 77 "DSA", /* 20 */ 1 78 "HASP_OPR"); /* 21 */ 1 79 1 80 /* END INCLUDE FILE ... line_types.incl.pl1 */ 98 2 1 /* BEGIN INCLUDE FILE iocbx.incl.pl1 */ 2 2 /* written 27 Dec 1973, M. G. Smith */ 2 3 /* returns attributes removed, hashing support BIM Spring 1981 */ 2 4 /* version made character string June 1981 BIM */ 2 5 /* Modified 11/29/82 by S. Krupp to add new entries and to change 2 6* version number to IOX2. */ 2 7 /* format: style2 */ 2 8 2 9 dcl 1 iocb aligned based, /* I/O control block. */ 2 10 2 version character (4) aligned, /* IOX2 */ 2 11 2 name char (32), /* I/O name of this block. */ 2 12 2 actual_iocb_ptr ptr, /* IOCB ultimately SYNed to. */ 2 13 2 attach_descrip_ptr ptr, /* Ptr to printable attach description. */ 2 14 2 attach_data_ptr ptr, /* Ptr to attach data structure. */ 2 15 2 open_descrip_ptr ptr, /* Ptr to printable open description. */ 2 16 2 open_data_ptr ptr, /* Ptr to open data structure (old SDB). */ 2 17 2 event_channel bit (72), /* Event channel for asynchronous I/O. */ 2 18 2 detach_iocb entry (ptr, fixed bin (35)), 2 19 /* detach_iocb(p) */ 2 20 2 open entry (ptr, fixed, bit (1) aligned, fixed bin (35)), 2 21 /* open(p,mode,not_used) */ 2 22 2 close entry (ptr, fixed bin (35)), 2 23 /* close(p) */ 2 24 2 get_line entry (ptr, ptr, fixed (21), fixed (21), fixed bin (35)), 2 25 /* get_line(p,bufptr,buflen,actlen) */ 2 26 2 get_chars entry (ptr, ptr, fixed (21), fixed (21), fixed bin (35)), 2 27 /* get_chars(p,bufptr,buflen,actlen) */ 2 28 2 put_chars entry (ptr, ptr, fixed (21), fixed bin (35)), 2 29 /* put_chars(p,bufptr,buflen) */ 2 30 2 modes entry (ptr, char (*), char (*), fixed bin (35)), 2 31 /* modes(p,newmode,oldmode) */ 2 32 2 position entry (ptr, fixed, fixed (21), fixed bin (35)), 2 33 /* position(p,u1,u2) */ 2 34 2 control entry (ptr, char (*), ptr, fixed bin (35)), 2 35 /* control(p,order,infptr) */ 2 36 2 read_record entry (ptr, ptr, fixed (21), fixed (21), fixed bin (35)), 2 37 /* read_record(p,bufptr,buflen,actlen) */ 2 38 2 write_record entry (ptr, ptr, fixed (21), fixed bin (35)), 2 39 /* write_record(p,bufptr,buflen) */ 2 40 2 rewrite_record entry (ptr, ptr, fixed (21), fixed bin (35)), 2 41 /* rewrite_record(p,bufptr,buflen) */ 2 42 2 delete_record entry (ptr, fixed bin (35)), 2 43 /* delete_record(p) */ 2 44 2 seek_key entry (ptr, char (256) varying, fixed (21), fixed bin (35)), 2 45 /* seek_key(p,key,len) */ 2 46 2 read_key entry (ptr, char (256) varying, fixed (21), fixed bin (35)), 2 47 /* read_key(p,key,len) */ 2 48 2 read_length entry (ptr, fixed (21), fixed bin (35)), 2 49 /* read_length(p,len) */ 2 50 2 open_file entry (ptr, fixed bin, char (*), bit (1) aligned, fixed bin (35)), 2 51 /* open_file(p,mode,desc,not_used,s) */ 2 52 2 close_file entry (ptr, char (*), fixed bin (35)), 2 53 /* close_file(p,desc,s) */ 2 54 2 detach entry (ptr, char (*), fixed bin (35)), 2 55 /* detach(p,desc,s) */ 2 56 /* Hidden information, to support SYN attachments. */ 2 57 2 ios_compatibility ptr, /* Ptr to old DIM's IOS transfer vector. */ 2 58 2 syn_inhibits bit (36), /* Operations inhibited by SYN. */ 2 59 2 syn_father ptr, /* IOCB immediately SYNed to. */ 2 60 2 syn_brother ptr, /* Next IOCB SYNed as this one is. */ 2 61 2 syn_son ptr, /* First IOCB SYNed to this one. */ 2 62 2 hash_chain_ptr ptr; /* Next IOCB in hash bucket */ 2 63 2 64 declare iox_$iocb_version_sentinel 2 65 character (4) aligned external static; 2 66 2 67 /* END INCLUDE FILE iocbx.incl.pl1 */ 99 100 101 dcl 1 terminal_info aligned, 102 2 version fixed bin init (1), 103 2 id char (4) unaligned, 104 2 term_type char (32) unaligned, 105 2 line_type fixed bin, 106 2 baud_rate fixed bin, 107 2 reserved (4) fixed bin; 108 109 dcl inarg char (24); 110 111 /* The following 3 arrays MUST all be dimensioned at the same size. 112*ITEM_ALPHA_ORDER indicates what order each data item is printed in when we find 113*the "all" keyword (use a 0 for a place holder if it is not to be printed for 114*"all"). item is the array of implemented keywords in no special order. New 115*ones may be added on the end of the list. user_data indicates which of the 3 116*types of user_info_ data must be retrieved to implement the keyword. If none 117*of them are correct, use a 0 as a place holder. */ 118 119 dcl ITEM_ALPHA_ORDER (58) fixed bin int static options (constant) init (1, 2, 3, 4, 54, 5, 6, 7, 55, 8, 9, 0, 11, 12, 0, 53, 56, 57, 58, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 0, 28, 29, 0, 51, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49); 120 dcl item (58) char (24) aligned int static options (constant) init ( 121 "256k_switch", /* case 1 */ 122 "abs_queue", /* case 2 */ 123 "absentee", /* case 3 */ 124 "absentee_request_id", /* case 4 */ 125 "absin", /* case 5 */ 126 "absout", /* case 6 */ 127 "account", /* case 7 */ 128 "anonymous", /* case 8 */ 129 "attributes", /* case 9 */ 130 "auth", /* case 10 */ 131 "auth_long", /* case 11 */ 132 "brief_bit", /* case 12 */ 133 "charge_type", /* case 13 */ 134 "cpu_secs", /* case 14 */ 135 "cutoff_date", /* case 15 */ 136 "device_channel", /* case 16 */ 137 "group", /* case 17 */ 138 "initial_term_id", /* case 18 */ 139 "initial_term_type", /* case 19 */ 140 "limit", /* case 20 */ 141 "limit_type", /* case 21 */ 142 "line_type", /* case 22 */ 143 "log_time", /* case 23 */ 144 "login_date", /* case 24 */ 145 "login_time", /* case 25 */ 146 "login_word", /* case 26 */ 147 "max_auth", /* case 27 */ 148 "max_auth_long", /* case 28 */ 149 "monthly_limit", /* case 29 */ 150 "monthly_spending", /* case 30 */ 151 "n_processes", /* case 31 */ 152 "name", /* case 32 */ 153 "outer_module", /* case 33 */ 154 "preemption_time", /* case 34 */ 155 "process_id", /* case 35 */ 156 "process_overseer", /* case 36 */ 157 "process_type", /* case 37 */ 158 "project", /* case 38 */ 159 "protected", /* case 39 */ 160 "rate_structure_name", /* case 40 */ 161 "rate_structure_number", /* case 41 */ 162 "secondary", /* case 42 */ 163 "service_type", /* case 43 */ 164 "shift_limit", /* case 44 */ 165 "shift_spending", /* case 45 */ 166 "spending", /* case 46 */ 167 "term_id", /* case 47 */ 168 "term_type", /* case 48 */ 169 "weight", /* case 49 */ 170 "min_auth", /* case 50 */ 171 "min_auth_long", /* case 51 */ 172 "auth_range", /* case 52 */ 173 "auth_range_long", /* case 53 */ 174 "absentee_restarted", /* case 54 */ 175 "absout_truncation", /* case 55 */ 176 "min_ring", /* case 56 */ 177 "max_ring", /* case 57 */ 178 "ring_range"); /* case 58 */ 179 180 dcl user_data (58) fixed bin int static options (constant) init 181 ((6) 0, 1, 1, 0, 2, 2, 0, 0, 0, 3, (4) 0, 3, 3, 0, (4) 1, 2, 2, 182 3, 3, 0, 1, (5) 0, 1, 0, 0, 0, 1, 0, 0, 3, 3, 0, 0, 1, (4) 0, 0, 0, 183 0, 0, 0); 184 185 dcl item_synonyms (3) char (24) int static options (constant) init 186 ("abs_rqid", "256k", "256K"); 187 dcl item_synonyms_position (3) fixed bin int static options (constant) init (4, 1, 1); 188 189 dcl error_table_$not_act_fnc fixed bin (35) ext; 190 dcl error_table_$badopt fixed bin(35) ext static; 191 192 dcl cu_$arg_list_ptr entry (ptr); 193 dcl cu_$arg_ptr entry (fixed bin, ptr, fixed bin (21), fixed bin (35)); 194 dcl cu_$af_arg_ptr entry (fixed bin, ptr, fixed bin (21), fixed bin (35)); 195 dcl get_process_id_ entry () returns (bit (36)); 196 dcl cu_$af_return_arg_rel entry (fixed bin, ptr, fixed bin (21), fixed bin (35), ptr); 197 dcl active_fnc_err_ entry options (variable); 198 dcl com_err_ entry options (variable); 199 dcl ioa_ entry options (variable); 200 dcl iox_$control entry (ptr, char (*), ptr, fixed bin (35)); 201 dcl iox_$user_io ptr external; 202 dcl date_time_$format entry (char(*), fixed bin(71), char(*), char(*)) returns(char(250) var); 203 dcl requote_string_ entry (char (*)) returns (char (*)); 204 dcl user_info_$authorization_range entry ((2) bit (72) aligned); 205 dcl user_info_$login_data entry options (variable); 206 dcl user_info_$absin entry (char (*)); 207 dcl user_info_$absout entry (char (*)); 208 dcl (user_info_$absout_truncation, user_info_$absentee_restarted) entry (bit(1)); 209 dcl user_info_$outer_module entry (char (*)); 210 dcl user_info_$attributes entry (char (*) varying); 211 dcl user_info_$service_type entry (fixed bin); 212 dcl user_info_$process_type entry (fixed bin); 213 dcl user_info_$terminal_data entry options (variable); 214 dcl user_info_$responder entry (char (*)); 215 dcl user_info_$usage_data entry options (variable); 216 dcl user_info_$load_ctl_info entry options (variable); 217 dcl user_info_$absentee_queue entry (fixed bin); 218 dcl user_info_$rs_name entry (char (*)); 219 dcl user_info_$rs_number entry (fixed bin); 220 dcl user_info_$limits entry (float bin, float bin, fixed bin (71), fixed bin, 221 (0:7) float bin, float bin, float bin, (0:7) float bin); 222 dcl user_info_$absentee_request_id entry (fixed bin (71)); 223 dcl user_info_$ring_range entry ((2) fixed bin); 224 dcl system_info_$next_shift_change entry (fixed bin, fixed bin (71), fixed bin, fixed bin (71)); 225 dcl hcs_$get_usage_values entry (fixed bin, fixed bin (71), fixed bin); 226 dcl hcs_$get_authorization entry (bit (72) aligned, bit (72) aligned); 227 dcl hcs_$set_256K_switch entry (bit (2) aligned, bit (2) aligned, fixed bin (35)); 228 dcl convert_access_class_$to_string entry (bit (72) aligned, char (*), fixed bin (35)); 229 dcl convert_access_class_$to_string_short entry (bit (72) aligned, char (*), fixed bin (35)); 230 dcl convert_access_class_$to_string_range entry ((2) bit (72) aligned, character (*), fixed binary (35)); 231 dcl convert_access_class_$to_string_range_short entry ((2) bit (72) aligned, character (*), 232 fixed binary (35)); 233 dcl request_id_ entry (fixed bin (71)) returns (char (19)); 234 dcl ioa_$rsnnl entry options (variable); 235 236 dcl (addr, clock, hbound, index, ltrim, rtrim) builtin; 237 238 /* ======================================================= */ 239 240 all_switch, nactsw, got_limits, got_auth, got_login_data = "0"b; 241 call cu_$arg_list_ptr (alp); 242 call cu_$af_arg_ptr (1, ap, al, ec); 243 if ec = error_table_$not_act_fnc then do; 244 call cu_$arg_ptr (1, ap, al, ec); 245 nactsw = "1"b; 246 end; 247 if ec ^= 0 then do; 248 er: if nactsw then call com_err_ (ec, "user", ""); 249 else call active_fnc_err_ (ec, "user", ""); 250 return; 251 end; 252 inarg = bchr; 253 254 if inarg = "all" then all_switch = "1"b; 255 else do; 256 do switch = 1 to hbound (item, 1); 257 if inarg = item (switch) then go to have_good_item; 258 end; 259 do switch = 1 to hbound (item_synonyms, 1); 260 if inarg = item_synonyms (switch) then do; 261 switch = item_synonyms_position (switch); 262 goto have_good_item; 263 end; 264 end; 265 if nactsw then call com_err_ (0, "user", "Invalid keyword: ^a", inarg); 266 else call active_fnc_err_ (0, "user", "Invalid keyword: ^a", inarg); 267 return; 268 end; 269 270 have_good_item: 271 if all_switch & ^nactsw then do; 272 call active_fnc_err_ (error_table_$badopt, "user", "The ""all"" keyword is invalid in an active function invocation."); 273 return; 274 end; 275 276 if all_switch then 277 do i = 1 to 3; 278 call get_user_data (i); 279 end; 280 else 281 call get_user_data (user_data (switch)); 282 283 284 if all_switch then do i = 1 to hbound (ITEM_ALPHA_ORDER, 1); 285 if ITEM_ALPHA_ORDER (i) ^= 0 then call process_one_item (ITEM_ALPHA_ORDER (i)); 286 end; 287 else call process_one_item (switch); 288 return; 289 290 291 get_user_data: 292 proc (type); 293 294 dcl type fixed bin; 295 296 if type = 1 then call user_info_$login_data (nm, pj, ac, an, sb, wt, tli, wd); 297 else if type = 2 then call hcs_$get_authorization (auth, max_auth); 298 else if type = 3 then call user_info_$limits (monthly_limit, absolute_limit, cutoff_date, 299 limit_type, shift_limits, monthly_spending, absolute_spending, shift_spendings); 300 301 return; 302 end get_user_data; 303 304 process_one_item: 305 procedure (switch) options (non_quick); 306 declare switch fixed bin; 307 declare i fixed bin; 308 309 go to case (switch); 310 311 case (32): /* name */ 312 dn = nm; 313 go to j1; 314 315 case (38): /* project */ 316 dn = pj; 317 go to j1; 318 319 case (7): /* account */ 320 dn = ac; 321 go to j1; 322 323 case (25): /* login_time */ 324 j3: string = date_time_$format ("time", tli, "", ""); 325 go to exit; 326 327 case (24): /* login_date */ 328 string = date_time_$format ("date", tli, "", ""); 329 go to exit; 330 331 case (8): /* anonymous */ 332 if an = 1 then string = "true"; 333 else string = "false"; 334 go to exit; 335 336 case (42): /* secondary */ 337 if sb = 1 then string = "true"; 338 else string = "false"; 339 go to exit; 340 341 case (49): /* weight */ 342 f = wt / 1e1; 343 go to j2; 344 345 case (26): /* login_word */ 346 dn = wd; 347 go to j1; 348 349 case (23): /* log_time */ 350 time = clock () - tli; 351 f = time / 60e6; 352 go to j2; 353 354 case (36): /* process_overseer */ 355 call user_info_$responder (dn); 356 go to j1; 357 358 case (18): /* initial_term_id */ 359 iterm_id: 360 call user_info_$terminal_data (id, tt); 361 dn = id; 362 go to j1; 363 364 case (19): /* initial_term_type */ 365 call user_info_$absentee_queue (n); 366 if n ^= -1 then do; 367 string = "Absentee"; 368 go to exit; 369 end; 370 iterm_type: 371 call user_info_$terminal_data (id, tt); 372 string = rtrim (tt); 373 go to exit; 374 375 case (14): /* cpu_secs */ 376 call user_info_$usage_data (np, ocpu); 377 call hcs_$get_usage_values (pf, time, pp); 378 time = time + ocpu; 379 f = time / 1e6; 380 j2: call ioa_$rsnnl ("^.1f", string, i, f); 381 go to exit; 382 383 case (16): /* device_channel */ 384 call user_info_$terminal_data (id, tt, dn); /* get channel name */ 385 j1: string = rtrim (dn); 386 go to exit; 387 388 case (31): /* n_processes */ 389 call user_info_$usage_data (np, ocpu); 390 call ioa_$rsnnl ("^d", string, i, np); 391 go to exit; 392 393 case (3): /* absentee */ 394 call user_info_$absentee_queue (n); 395 if n = -1 then string = "false"; 396 else string = "true"; 397 go to exit; 398 399 case (2): /* abs_queue */ 400 call user_info_$absentee_queue (n); 401 if n = -1 then string = "interactive"; 402 else if n = 0 then string = "foreground"; 403 else call ioa_$rsnnl ("^d", string, i, n); 404 go to exit; 405 406 case (39): /* protected */ 407 call user_info_$load_ctl_info (grp, sb, tli); 408 string = "false"; 409 if sb = 0 then if tli > clock () then string = "true"; 410 go to exit; 411 412 case (12): /* brief_bit */ 413 call user_info_$attributes (attr); 414 if index (attr, "brief") = 0 then string = "false"; 415 else string = "true"; 416 go to exit; 417 418 case (17): /* group */ 419 call user_info_$load_ctl_info (grp); 420 dn = grp; 421 go to j1; 422 423 case (34): /* preemption_time */ 424 call user_info_$load_ctl_info (grp, sb, tli); 425 go to j3; 426 427 case (9): /* attributes */ 428 call user_info_$attributes (string); 429 go to exit; 430 431 case (5): /* absin */ 432 call user_info_$absin (dn); 433 go to j1; 434 435 case (6): /* absout */ 436 call user_info_$absout (dn); 437 go to j1; 438 439 case (33): /* outer_module */ 440 call user_info_$outer_module (dn); 441 go to j1; 442 443 case (35): /* process_id */ 444 b36 = get_process_id_ (); 445 call ioa_$rsnnl ("^w", string, i, b36); 446 go to exit; 447 448 case (10): /* auth */ 449 call convert_access_class_$to_string_short (auth, auth_string, ec); 450 if ec ^= 0 then go to er; 451 if auth_string = "" then string = "system_low"; 452 else string = rtrim (auth_string); 453 go to exit; 454 455 case (11): /* auth_long */ 456 call convert_access_class_$to_string (auth, auth_string, ec); 457 if ec ^= 0 then go to er; 458 if auth_string = "" then string = "system_low"; 459 else string = rtrim (auth_string); 460 go to exit; 461 462 case (27): /* max_auth */ 463 call convert_access_class_$to_string_short (max_auth, auth_string, ec); 464 if ec ^= 0 then go to er; 465 if auth_string = "" then string = "system_low"; 466 else string = rtrim (auth_string); 467 go to exit; 468 469 case (28): /* max_auth_long */ 470 call convert_access_class_$to_string (max_auth, auth_string, ec); 471 if ec ^= 0 then go to er; 472 if auth_string = "" then string = "system_low"; 473 else string = rtrim (auth_string); 474 go to exit; 475 476 case (50): /* min_auth */ 477 call user_info_$authorization_range (auth_range); 478 call convert_access_class_$to_string_short (auth_range (1), auth_string, ec); 479 if ec ^= 0 then go to er; 480 if auth_string = "" then auth_string = "system_low"; 481 string = rtrim (auth_string); 482 go to exit; 483 484 case (51): /* min_auth */ 485 call user_info_$authorization_range (auth_range); 486 call convert_access_class_$to_string (auth_range (1), auth_string, ec); 487 if ec ^= 0 then go to er; 488 if auth_string = "" then auth_string = "system_low"; 489 string = rtrim (auth_string); 490 go to exit; 491 492 case (52): /* auth_range */ 493 call user_info_$authorization_range (auth_range); 494 call convert_access_class_$to_string_range_short (auth_range, auth_string, ec); 495 if ec ^= 0 then go to er; 496 if auth_string = "" then auth_string = "system_low"; 497 string = rtrim (auth_string); 498 go to exit; 499 500 case (53): /* auth_range_long */ 501 call user_info_$authorization_range (auth_range); 502 call convert_access_class_$to_string_range (auth_range, auth_string, ec); 503 if ec ^= 0 then go to er; 504 if auth_string = "" then auth_string = "system_low"; 505 string = rtrim (auth_string); 506 go to exit; 507 508 case (22): /* line_type */ 509 call user_info_$terminal_data ((""), (0), (""), i); 510 dn = line_types (i); 511 goto j1; 512 513 case (43): /* service_type */ 514 call user_info_$service_type (i); 515 dn = service_type (i); 516 goto j1; 517 518 case (37): /* process_type */ 519 call user_info_$process_type (i); 520 dn = process_type (i); 521 goto j1; 522 523 case (13): /* charge_type */ 524 call user_info_$terminal_data ((""), (""), (""), (0), dn); 525 go to j1; 526 527 case (47): /* term_id */ 528 term_id_sw = "1"b; 529 get_term: call user_info_$process_type (i); 530 if i > 1 then /* absentee or daemon process */ 531 if term_id_sw then go to iterm_id; 532 else if i = 2 then do; 533 string = "Absentee"; 534 go to exit; 535 end; 536 else go to iterm_type; 537 538 /* Interactive or initializer process */ 539 540 call iox_$control (iox_$user_io, "terminal_info", addr (terminal_info), ec); 541 if ec ^= 0 then do; 542 if term_id_sw then go to iterm_id; 543 else go to iterm_type; 544 end; 545 if term_id_sw then string = rtrim (terminal_info.id); 546 else string = rtrim (terminal_info.term_type); 547 go to exit; 548 549 case (48): /* term_type */ 550 term_id_sw = "0"b; 551 go to get_term; 552 553 case (40): /* rate_structure_name */ 554 call user_info_$rs_name (nm); 555 string = nm; 556 go to exit; 557 558 case (41): /* rate_structure_number */ 559 call user_info_$rs_number (rs_number); 560 call ioa_$rsnnl ("^d", string, i, rs_number); 561 go to exit; 562 563 case (20): /* limit */ 564 call ioa_$rsnnl ("^.2f", string, i, absolute_limit); 565 goto exit; 566 567 case (15): /* cutoff_date */ 568 string = date_time_$format ("date_time", cutoff_date, "", ""); 569 goto exit; 570 571 case (29): /* monthly_limit */ 572 call ioa_$rsnnl ("^.2f", string, i, monthly_limit); 573 goto exit; 574 575 case (44): /* shift_limit */ 576 call system_info_$next_shift_change (current_shift, (0), (0), (0)); 577 call ioa_$rsnnl ("^.2f", string, i, shift_limits (current_shift)); 578 goto exit; 579 580 case (46): /* spending */ 581 call ioa_$rsnnl ("^.2f", string, i, absolute_spending); 582 goto exit; 583 584 case (30): /* monthly_spending */ 585 call ioa_$rsnnl ("^.2f", string, i, monthly_spending); 586 goto exit; 587 588 case (45): /* shift_spending */ 589 call system_info_$next_shift_change (current_shift, (0), (0), (0)); 590 call ioa_$rsnnl ("^.2f", string, i, shift_spendings (current_shift)); 591 goto exit; 592 593 case (21): /* limit_type */ 594 if limit_type = 0 595 then string = "absolute"; 596 else if limit_type = 1 597 then string = "day"; 598 else if limit_type = 2 599 then string = "month"; 600 else if limit_type = 3 601 then string = "year"; 602 else if limit_type = 4 603 then string = "calendar_year"; 604 else if limit_type = 5 605 then string = "fiscal_year"; 606 goto exit; 607 608 case (4): /* absentee_request_id */ /* abs_rqid */ 609 call user_info_$absentee_request_id (fb71); 610 if fb71 ^= 0 then do; 611 char19 = request_id_ (fb71); 612 string = char19; 613 end; 614 else string = "0"; 615 go to exit; 616 617 case (1): /* 256k_switch (allow 256K segments) */ /* 256k */ /* 256K */ 618 call hcs_$set_256K_switch ("00"b, K256_switch, (0)); 619 if K256_switch = "11"b then string = "true"; 620 else string = "false"; 621 go to exit; 622 623 case (54): /* absentee_restarted */ 624 call user_info_$absentee_restarted (restarted); 625 if restarted then string = "true"; 626 else string = "false"; 627 go to exit; 628 629 case (55): /* absout_truncation */ 630 call user_info_$absout_truncation (truncate); 631 if truncate then string = "true"; 632 else string = "false"; 633 634 case (56): /* min_ring */ 635 call user_info_$ring_range (rg_range); 636 call ioa_$rsnnl ("^d", ring_string, (0), rg_range (1)); 637 string = rtrim(ring_string); 638 go to exit; 639 640 case (57): /* max ring */ 641 call user_info_$ring_range (rg_range); 642 call ioa_$rsnnl ("^d", ring_string, (0), rg_range (2)); 643 string = rtrim(ring_string); 644 go to exit; 645 646 case (58): /* ring range (lowest and highest) */ 647 call user_info_$ring_range (rg_range); 648 call ioa_$rsnnl ("^d:^d", ring_string, (0), rg_range (1), rg_range (2)); 649 string = rtrim(ring_string); 650 go to exit; 651 652 653 /* End of moby CASE statement */ 654 655 /* Common return point for many actions */ 656 657 exit: if all_switch then do; 658 if string ^= "" 659 then call ioa_ ("^a:^24t^a", item (switch), ltrim (string)); 660 end; 661 else if nactsw then 662 call ioa_ ("^a", string); 663 else do; 664 call cu_$af_return_arg_rel (i, ap, al, (0), alp); 665 answer = requote_string_ ((string)); 666 end; 667 return; 668 end process_one_item; 669 end user; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 07/13/88 0905.4 user.pl1 >special_ldd>install>MR12.2-1047>user.pl1 98 1 08/06/87 0913.4 line_types.incl.pl1 >ldd>include>line_types.incl.pl1 99 2 06/03/83 1008.5 iocbx.incl.pl1 >ldd>include>iocbx.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. ITEM_ALPHA_ORDER 000745 constant fixed bin(17,0) initial array dcl 119 set ref 284 285 285* K256_switch 000115 automatic bit(2) dcl 57 set ref 617* 619 absolute_limit 000770 automatic float bin(27) dcl 57 set ref 298* 563* absolute_spending 000771 automatic float bin(27) dcl 57 set ref 298* 580* ac 000254 automatic char(32) packed unaligned dcl 57 set ref 296* 319 active_fnc_err_ 000026 constant entry external dcl 197 ref 249 266 272 addr builtin function dcl 236 ref 540 540 al 000104 automatic fixed bin(21,0) dcl 51 set ref 242* 244* 252 664* 665 all_switch 000105 automatic bit(1) dcl 51 set ref 240* 254* 270 276 284 657 alp 000100 automatic pointer dcl 50 set ref 241* 664* an 000275 automatic fixed bin(17,0) dcl 57 set ref 296* 331 answer based varying char dcl 51 set ref 665* ap 000102 automatic pointer dcl 51 set ref 242* 244* 252 664* 665 attr 000120 automatic varying char(300) dcl 57 set ref 412* 414 auth 000402 automatic bit(72) dcl 57 set ref 297* 448* 455* auth_range 000406 automatic bit(72) array dcl 57 set ref 476* 478* 484* 486* 492* 494* 500* 502* auth_string 000527 automatic char(644) packed unaligned dcl 57 set ref 448* 451 452 455* 458 459 462* 465 466 469* 472 473 478* 480 480* 481 486* 488 488* 489 494* 496 496* 497 502* 504 504* 505 b36 000401 automatic bit(36) packed unaligned dcl 57 set ref 443* 445* bchr based char packed unaligned dcl 51 ref 252 char19 001022 automatic char(19) packed unaligned dcl 57 set ref 611* 612 clock builtin function dcl 236 ref 349 409 com_err_ 000030 constant entry external dcl 198 ref 248 265 convert_access_class_$to_string 000124 constant entry external dcl 228 ref 455 469 486 convert_access_class_$to_string_range 000130 constant entry external dcl 230 ref 502 convert_access_class_$to_string_range_short 000132 constant entry external dcl 231 ref 494 convert_access_class_$to_string_short 000126 constant entry external dcl 229 ref 448 462 478 cu_$af_arg_ptr 000020 constant entry external dcl 194 ref 242 cu_$af_return_arg_rel 000024 constant entry external dcl 196 ref 664 cu_$arg_list_ptr 000014 constant entry external dcl 192 ref 241 cu_$arg_ptr 000016 constant entry external dcl 193 ref 244 current_shift 001017 automatic fixed bin(17,0) dcl 57 set ref 575* 577 588* 590 cutoff_date 001014 automatic fixed bin(71,0) dcl 57 set ref 298* 567* date_time_$format 000040 constant entry external dcl 202 ref 323 327 567 dn 000307 automatic char(168) packed unaligned dcl 57 set ref 311* 315* 319* 345* 354* 361* 383* 385 420* 431* 435* 439* 510* 515* 520* 523* ec 000117 automatic fixed bin(35,0) dcl 57 set ref 242* 243 244* 247 248* 249* 448* 450 455* 457 462* 464 469* 471 478* 479 486* 487 494* 495 502* 503 540* 541 error_table_$badopt 000012 external static fixed bin(35,0) dcl 190 set ref 272* error_table_$not_act_fnc 000010 external static fixed bin(35,0) dcl 189 ref 243 f 000274 automatic float bin(27) dcl 57 set ref 341* 351* 379* 380* fb71 001020 automatic fixed bin(71,0) dcl 57 set ref 608* 610 611* get_process_id_ 000022 constant entry external dcl 195 ref 443 got_auth 000112 automatic bit(1) dcl 57 set ref 240* got_limits 000113 automatic bit(1) dcl 57 set ref 240* got_login_data 000111 automatic bit(1) dcl 57 set ref 240* grp 000264 automatic char(32) packed unaligned dcl 57 set ref 406* 418* 420 423* hbound builtin function dcl 236 ref 256 259 284 hcs_$get_authorization 000120 constant entry external dcl 226 ref 297 hcs_$get_usage_values 000116 constant entry external dcl 225 ref 377 hcs_$set_256K_switch 000122 constant entry external dcl 227 ref 617 i 000377 automatic fixed bin(17,0) dcl 57 in procedure "user" set ref 276* 278* 284* 285 285* i 000100 automatic fixed bin(17,0) dcl 307 in procedure "process_one_item" set ref 380* 390* 403* 445* 508* 510 513* 515 518* 520 529* 530 532 560* 563* 571* 577* 580* 584* 590* 664* id 000362 automatic char(8) packed unaligned dcl 57 in procedure "user" set ref 358* 361 370* 383* id 1 001035 automatic char(4) level 2 in structure "terminal_info" packed packed unaligned dcl 101 in procedure "user" set ref 545 inarg 001055 automatic char(24) packed unaligned dcl 109 set ref 252* 254 257 260 265* 266* index builtin function dcl 236 ref 414 ioa_ 000032 constant entry external dcl 199 ref 658 661 ioa_$rsnnl 000136 constant entry external dcl 234 ref 380 390 403 445 560 563 571 577 580 584 590 636 642 648 iox_$control 000034 constant entry external dcl 200 ref 540 iox_$user_io 000036 external static pointer dcl 201 set ref 540* item 000211 constant char(24) initial array dcl 120 set ref 256 257 658* item_synonyms 000075 constant char(24) initial array packed unaligned dcl 185 ref 259 260 item_synonyms_position 000072 constant fixed bin(17,0) initial array dcl 187 ref 261 limit_type 001016 automatic fixed bin(17,0) dcl 57 set ref 298* 593 596 598 600 602 604 line_types 001037 constant char(16) initial array packed unaligned dcl 1-54 ref 510 ltrim builtin function dcl 236 ref 658 658 max_auth 000404 automatic bit(72) dcl 57 set ref 297* 462* 469* monthly_limit 000772 automatic float bin(27) dcl 57 set ref 298* 571* monthly_spending 000773 automatic float bin(27) dcl 57 set ref 298* 584* n 000400 automatic fixed bin(17,0) dcl 57 set ref 364* 366 393* 395 399* 401 402 403* nactsw 000110 automatic bit(1) packed unaligned dcl 57 set ref 240* 245* 248 265 270 661 nm 000234 automatic char(32) packed unaligned dcl 57 set ref 296* 311 553* 555 np 000364 automatic fixed bin(17,0) dcl 57 set ref 375* 388* 390* ocpu 000302 automatic fixed bin(71,0) dcl 57 set ref 375* 378 388* pf 000365 automatic fixed bin(17,0) dcl 57 set ref 377* pj 000244 automatic char(32) packed unaligned dcl 57 set ref 296* 315 pp 000366 automatic fixed bin(17,0) dcl 57 set ref 377* process_type 001217 constant char(12) initial array packed unaligned dcl 92 ref 520 request_id_ 000134 constant entry external dcl 233 ref 611 requote_string_ 000042 constant entry external dcl 203 ref 665 restarted 001030 automatic bit(1) packed unaligned dcl 57 set ref 623* 625 rg_range 001032 automatic fixed bin(17,0) array dcl 57 set ref 634* 636* 640* 642* 646* 648* 648* ring_string 001034 automatic char(3) packed unaligned dcl 57 set ref 636* 637 642* 643 648* 649 rs_number 000412 automatic fixed bin(17,0) dcl 57 set ref 558* 560* rtrim builtin function dcl 236 ref 372 385 452 459 466 473 481 489 497 505 545 546 637 643 649 sb 000276 automatic fixed bin(17,0) dcl 57 set ref 296* 336 406* 409 423* service_type 001177 constant char(8) initial array packed unaligned dcl 95 ref 515 shift_limits 000774 automatic float bin(27) array dcl 57 set ref 298* 577* shift_spendings 001004 automatic float bin(27) array dcl 57 set ref 298* 590* string 000413 automatic varying char(300) dcl 57 set ref 323* 327* 331* 333* 336* 338* 367* 372* 380* 385* 390* 395* 396* 401* 402* 403* 408* 409* 414* 415* 427* 445* 451* 452* 458* 459* 465* 466* 472* 473* 481* 489* 497* 505* 533* 545* 546* 555* 560* 563* 567* 571* 577* 580* 584* 590* 593* 596* 598* 600* 602* 604* 612* 614* 619* 620* 625* 626* 631* 632* 637* 643* 649* 658 658 658 661* 665 switch 000116 automatic fixed bin(17,0) dcl 57 in procedure "user" set ref 256* 257* 259* 260 261* 261* 280 287* switch parameter fixed bin(17,0) dcl 306 in procedure "process_one_item" ref 304 309 658 system_info_$next_shift_change 000114 constant entry external dcl 224 ref 575 588 term_id_sw 000114 automatic bit(1) packed unaligned dcl 57 set ref 527* 530 542 545 549* term_type 2 001035 automatic char(32) level 2 packed packed unaligned dcl 101 set ref 546 terminal_info 001035 automatic structure level 1 dcl 101 set ref 540 540 time 000106 automatic fixed bin(71,0) dcl 57 set ref 349* 351 377* 378* 378 379 tli 000300 automatic fixed bin(71,0) dcl 57 set ref 296* 323* 327* 349 406* 409 423* truncate 001027 automatic bit(1) packed unaligned dcl 57 set ref 629* 631 tt 000367 automatic char(32) packed unaligned dcl 57 set ref 358* 370* 372 383* type parameter fixed bin(17,0) dcl 294 ref 291 296 297 298 user_data 000117 constant fixed bin(17,0) initial array dcl 180 set ref 280* user_info_$absentee_queue 000100 constant entry external dcl 217 ref 364 393 399 user_info_$absentee_request_id 000110 constant entry external dcl 222 ref 608 user_info_$absentee_restarted 000056 constant entry external dcl 208 ref 623 user_info_$absin 000050 constant entry external dcl 206 ref 431 user_info_$absout 000052 constant entry external dcl 207 ref 435 user_info_$absout_truncation 000054 constant entry external dcl 208 ref 629 user_info_$attributes 000062 constant entry external dcl 210 ref 412 427 user_info_$authorization_range 000044 constant entry external dcl 204 ref 476 484 492 500 user_info_$limits 000106 constant entry external dcl 220 ref 298 user_info_$load_ctl_info 000076 constant entry external dcl 216 ref 406 418 423 user_info_$login_data 000046 constant entry external dcl 205 ref 296 user_info_$outer_module 000060 constant entry external dcl 209 ref 439 user_info_$process_type 000066 constant entry external dcl 212 ref 518 529 user_info_$responder 000072 constant entry external dcl 214 ref 354 user_info_$ring_range 000112 constant entry external dcl 223 ref 634 640 646 user_info_$rs_name 000102 constant entry external dcl 218 ref 553 user_info_$rs_number 000104 constant entry external dcl 219 ref 558 user_info_$service_type 000064 constant entry external dcl 211 ref 513 user_info_$terminal_data 000070 constant entry external dcl 213 ref 358 370 383 508 523 user_info_$usage_data 000074 constant entry external dcl 215 ref 375 388 version 001035 automatic fixed bin(17,0) initial level 2 dcl 101 set ref 101* wd 000304 automatic char(9) packed unaligned dcl 57 set ref 296* 345 wt 000277 automatic fixed bin(17,0) dcl 57 set ref 296* 341 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. LINE_1050 internal static fixed bin(17,0) initial dcl 1-22 LINE_2741 internal static fixed bin(17,0) initial dcl 1-22 LINE_ARDS internal static fixed bin(17,0) initial dcl 1-22 LINE_ASCII internal static fixed bin(17,0) initial dcl 1-22 LINE_ASYNC1 internal static fixed bin(17,0) initial dcl 1-22 LINE_ASYNC2 internal static fixed bin(17,0) initial dcl 1-22 LINE_ASYNC3 internal static fixed bin(17,0) initial dcl 1-22 LINE_BSC internal static fixed bin(17,0) initial dcl 1-22 LINE_COLTS internal static fixed bin(17,0) initial dcl 1-22 LINE_DSA internal static fixed bin(17,0) initial dcl 1-22 LINE_ETX internal static fixed bin(17,0) initial dcl 1-22 LINE_G115 internal static fixed bin(17,0) initial dcl 1-22 LINE_HASP_OPR internal static fixed bin(17,0) initial dcl 1-22 LINE_HDLC internal static fixed bin(17,0) initial dcl 1-22 LINE_MC internal static fixed bin(17,0) initial dcl 1-22 LINE_POLLED_VIP internal static fixed bin(17,0) initial dcl 1-22 LINE_SYNC1 internal static fixed bin(17,0) initial dcl 1-22 LINE_SYNC2 internal static fixed bin(17,0) initial dcl 1-22 LINE_SYNC3 internal static fixed bin(17,0) initial dcl 1-22 LINE_SYNCH internal static fixed bin(17,0) initial dcl 1-22 LINE_TELNET internal static fixed bin(17,0) initial dcl 1-22 LINE_UNKNOWN internal static fixed bin(17,0) initial dcl 1-22 LINE_VIP internal static fixed bin(17,0) initial dcl 1-22 LINE_X25LAP internal static fixed bin(17,0) initial dcl 1-22 iocb based structure level 1 dcl 2-9 iox_$iocb_version_sentinel external static char(4) dcl 2-64 max_line_type internal static fixed bin(17,0) initial dcl 1-48 n_sync_line_types internal static fixed bin(17,0) initial dcl 1-50 sync_line_type internal static fixed bin(17,0) initial array dcl 1-52 NAMES DECLARED BY EXPLICIT CONTEXT. case 000000 constant label array(58) dcl 311 ref 309 er 001473 constant label dcl 248 ref 450 457 464 471 479 487 495 503 exit 005477 constant label dcl 657 ref 325 329 334 339 368 373 381 386 391 397 404 410 416 429 446 453 460 467 474 482 490 498 506 534 547 556 561 565 569 573 578 582 586 591 606 615 621 627 638 644 650 get_term 004256 constant label dcl 529 ref 551 get_user_data 002032 constant entry internal dcl 291 ref 278 280 have_good_item 001721 constant label dcl 270 ref 257 262 iterm_id 002375 constant label dcl 358 ref 530 542 iterm_type 002440 constant label dcl 370 ref 532 543 j1 002616 constant label dcl 385 ref 313 317 321 347 356 362 421 433 437 441 511 516 521 525 j2 002544 constant label dcl 380 ref 343 352 j3 002175 constant label dcl 323 ref 425 process_one_item 002146 constant entry internal dcl 304 ref 285 287 user 001404 constant entry external dcl 14 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 6422 6562 5701 6432 Length 7114 5701 140 316 521 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME user 652 external procedure is an external procedure. get_user_data internal procedure shares stack frame of external procedure user. process_one_item 182 internal procedure is declared options(non_quick). STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME process_one_item 000100 i process_one_item user 000100 alp user 000102 ap user 000104 al user 000105 all_switch user 000106 time user 000110 nactsw user 000111 got_login_data user 000112 got_auth user 000113 got_limits user 000114 term_id_sw user 000115 K256_switch user 000116 switch user 000117 ec user 000120 attr user 000234 nm user 000244 pj user 000254 ac user 000264 grp user 000274 f user 000275 an user 000276 sb user 000277 wt user 000300 tli user 000302 ocpu user 000304 wd user 000307 dn user 000362 id user 000364 np user 000365 pf user 000366 pp user 000367 tt user 000377 i user 000400 n user 000401 b36 user 000402 auth user 000404 max_auth user 000406 auth_range user 000412 rs_number user 000413 string user 000527 auth_string user 000770 absolute_limit user 000771 absolute_spending user 000772 monthly_limit user 000773 monthly_spending user 000774 shift_limits user 001004 shift_spendings user 001014 cutoff_date user 001016 limit_type user 001017 current_shift user 001020 fb71 user 001022 char19 user 001027 truncate user 001030 restarted user 001032 rg_range user 001034 ring_string user 001035 terminal_info user 001055 inarg user THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. fx1_to_fl2 alloc_char_temp call_ext_out_desc call_ext_out call_int_this return_mac tra_ext_1 shorten_stack ext_entry int_entry set_chars_eis index_chars_eis clock_mac THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. active_fnc_err_ com_err_ convert_access_class_$to_string convert_access_class_$to_string_range convert_access_class_$to_string_range_short convert_access_class_$to_string_short cu_$af_arg_ptr cu_$af_return_arg_rel cu_$arg_list_ptr cu_$arg_ptr date_time_$format get_process_id_ hcs_$get_authorization hcs_$get_usage_values hcs_$set_256K_switch ioa_ ioa_$rsnnl iox_$control request_id_ requote_string_ system_info_$next_shift_change user_info_$absentee_queue user_info_$absentee_request_id user_info_$absentee_restarted user_info_$absin user_info_$absout user_info_$absout_truncation user_info_$attributes user_info_$authorization_range user_info_$limits user_info_$load_ctl_info user_info_$login_data user_info_$outer_module user_info_$process_type user_info_$responder user_info_$ring_range user_info_$rs_name user_info_$rs_number user_info_$service_type user_info_$terminal_data user_info_$usage_data THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. error_table_$badopt error_table_$not_act_fnc iox_$user_io LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 14 001403 101 001411 240 001413 241 001420 242 001426 243 001445 244 001451 245 001467 247 001471 248 001473 249 001521 250 001544 252 001545 254 001552 256 001561 257 001567 258 001575 259 001577 260 001605 261 001613 262 001616 264 001617 265 001621 266 001662 267 001720 270 001721 272 001725 273 001753 276 001754 278 001763 279 001765 280 001770 284 001777 285 002007 286 002020 287 002023 288 002031 291 002032 296 002034 297 002101 298 002115 301 002144 304 002145 309 002153 311 002156 313 002162 315 002163 317 002167 319 002170 321 002174 323 002175 325 002236 327 002237 329 002277 331 002300 333 002311 334 002315 336 002316 338 002327 339 002333 341 002334 343 002341 345 002342 347 002346 349 002347 351 002353 352 002362 354 002363 356 002374 358 002375 361 002413 362 002417 364 002420 366 002427 367 002433 368 002437 370 002440 372 002456 373 002477 375 002500 377 002515 378 002531 379 002535 380 002544 381 002574 383 002575 385 002616 386 002637 388 002640 390 002655 391 002704 393 002705 395 002714 396 002725 397 002731 399 002732 401 002741 402 002753 403 002763 404 003011 406 003012 408 003033 409 003040 410 003052 412 003053 414 003064 415 003101 416 003105 418 003106 420 003117 421 003123 423 003124 425 003145 427 003146 429 003157 431 003160 433 003171 435 003172 437 003203 439 003204 441 003215 443 003216 445 003225 446 003255 448 003256 450 003277 451 003305 452 003320 453 003340 455 003341 457 003362 458 003370 459 003403 460 003423 462 003424 464 003445 465 003453 466 003466 467 003506 469 003507 471 003530 472 003536 473 003551 474 003571 476 003572 478 003601 479 003623 480 003631 481 003641 482 003661 484 003662 486 003671 487 003713 488 003721 489 003731 490 003751 492 003752 494 003761 495 004003 496 004011 497 004021 498 004041 500 004042 502 004051 503 004073 504 004101 505 004111 506 004131 508 004132 510 004156 511 004165 513 004166 515 004174 516 004203 518 004204 520 004212 521 004221 523 004222 525 004252 527 004253 529 004256 530 004265 532 004273 533 004275 534 004301 540 004302 541 004336 542 004341 543 004343 545 004344 546 004367 547 004407 549 004410 551 004412 553 004413 555 004424 556 004432 558 004433 560 004442 561 004471 563 004472 565 004521 567 004522 569 004564 571 004565 573 004614 575 004615 577 004636 578 004667 580 004670 582 004717 584 004720 586 004747 588 004750 590 004771 591 005022 593 005023 596 005033 598 005042 600 005051 602 005060 604 005070 606 005077 608 005100 610 005107 611 005112 612 005123 613 005131 614 005132 615 005136 617 005137 619 005155 620 005167 621 005173 623 005174 625 005203 626 005214 627 005220 629 005221 631 005230 632 005241 634 005245 636 005255 637 005306 638 005327 640 005330 642 005337 643 005370 644 005411 646 005412 648 005421 649 005455 650 005476 657 005477 658 005502 660 005562 661 005564 664 005606 665 005626 666 005672 667 005673 ----------------------------------------------------------- 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