COMPILATION LISTING OF SEGMENT uc_ls_validate_request_ Compiled by: Multics PL/I Compiler, Release 30, of February 16, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 07/13/88 1025.9 mst Wed Options: optimize map 1 /****^ ******************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* ******************************************** */ 6 7 8 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 9 /* */ 10 /* This module is part of the Multics Network Architecture (MNA) version of */ 11 /* user control. MNA user control serves users coming into Multics via */ 12 /* separate networks (eg, the Distributed Systems Architecture (DSA) */ 13 /* network. MNA user control is not used for logins through the Multics */ 14 /* Communications System (MCS). A separate MCS user control system serves */ 15 /* MCS users. */ 16 /* */ 17 /* To Be Supplied: */ 18 /* 1) Brief module description. See MDD010 or MTBs 751 and 752 for details */ 19 /* about this module, and its relationship to modules in the MCS user */ 20 /* control system. */ 21 /* 2) Operator error message documentation. This program calls */ 22 /* sys_log_$general but does not contain the required descriptions of */ 23 /* these messages. This omission was waived for initial installation */ 24 /* of the subsystem by the auditor, security coordinator, and by MDC */ 25 /* management. */ 26 /* */ 27 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 28 29 /****^ HISTORY COMMENTS: 30* 1) change(86-04-07,Swenson), approve(87-07-13,MCR7737), 31* audit(87-04-24,GDixon), install(87-08-04,MR12.1-1055): 32* Initial coding. 33* 2) change(87-04-07,GDixon), approve(87-07-13,MCR7737), 34* audit(87-07-30,Brunelle), install(87-08-04,MR12.1-1055): 35* A) Correct problem with enter (anonymous no password) logins. 36* B) Change wakeup priority for ute.event to coincide with that used by 37* dialup_. 38* C) Reordered statements to reflect changes to user_table_entry.incl.pl1 39* and user_table_entry.incl.pl1 and login_server_validate_response 40* structure. 41* D) Improved sys_log_ messages. 42* E) Added login_server_validate_response.last_incorrect_password.time. 43* F) Use login_server_validate_request.connection_info.line_type. (dsa 123) 44* 3) change(87-05-11,GDixon), approve(87-07-13,MCR7737), 45* audit(87-07-30,Brunelle), install(87-08-04,MR12.1-1055): 46* A) Use named constants from dialup_values.incl.pl1 for ute.tag values. 47* 4) change(87-05-13,GDixon), approve(87-07-13,MCR7737), 48* audit(87-07-30,Brunelle), install(87-08-04,MR12.1-1055): 49* A) Set ute.line_type from login_server_validate_request.line_type. 50* B) Remove use of uc_validate_info.line_type. 51* END HISTORY COMMENTS */ 52 53 /* format: style4,indattr */ 54 55 uc_ls_validate_request_: 56 procedure (P_ls_request_server_info_ptr, 57 P_ls_request_ptr, P_ls_request_lth, 58 P_ls_reply_data_ptr, P_ls_reply_data_lth, 59 P_ls_ipc_reply_ptr, P_code); 60 61 /**** TBS: Add auditing of errors. */ 62 63 /* Parameters */ 64 65 dcl P_ls_request_server_info_ptr ptr parameter; 66 dcl P_ls_request_ptr ptr parameter; 67 dcl P_ls_request_lth fixed bin (18) parameter; 68 dcl P_ls_reply_data_ptr ptr parameter; 69 dcl P_ls_reply_data_lth fixed bin (18) parameter; 70 dcl P_ls_ipc_reply_ptr ptr parameter; 71 dcl P_code fixed bin (35) parameter; 72 73 /* Automatic */ 74 75 dcl abort_label label automatic; 76 dcl 1 auto_uc_validate_info aligned like uc_validate_info automatic; 77 dcl code fixed bin (35) automatic; 78 dcl ip ptr automatic; 79 dcl validate_code fixed bin (35) automatic; 80 81 /* Entries */ 82 83 dcl as_any_other_handler_$no_cleanup entry (char (*), label); 84 dcl asu_$setup_login_server_handle entry (ptr); 85 dcl ipc_$decl_event_call_chn entry (fixed bin (71), entry, ptr, fixed bin, fixed bin (35)); 86 dcl uc_login_ entry (ptr, ptr, fixed bin (35)); 87 dcl uc_proc_term_handler_ entry (ptr); 88 dcl user_table_mgr_$allocate entry (fixed bin) returns (ptr); 89 dcl user_table_mgr_$free entry (ptr); 90 91 /* External */ 92 93 dcl as_error_table_$dialup_error fixed bin (35) ext static; 94 dcl as_error_table_$tty_no_room fixed bin (35) ext static; 95 dcl error_table_$unimplemented_version fixed bin (35) ext static; 96 97 /* Constant */ 98 99 dcl ME char (23) initial ("uc_ls_validate_request_") internal static options (constant); 100 101 dcl (ANONYMOUS initial (1), 102 NOT_ANONYMOUS initial (0)) fixed bin internal static options (constant); 103 104 dcl (TRUE initial ("1"b), 105 FALSE initial ("0"b)) bit (1) aligned internal static options (constant); 106 107 /* Conditions */ 108 109 dcl any_other condition; 110 111 /* Builtin */ 112 113 dcl (addr, currentsize, null, substr, unspec) 114 builtin; 115 116 /* Program */ 117 118 utep = null (); 119 ls_request_server_info_ptr = P_ls_request_server_info_ptr; 120 ls_request_ptr = P_ls_request_ptr; 121 ls_reply_message_ptr = P_ls_ipc_reply_ptr; 122 123 abort_label = ERROR_RETURN; 124 code = 0; 125 126 on any_other 127 call as_any_other_handler_$no_cleanup (ME, FAULT_LABEL); 128 129 if login_server_validate_request.header.request_version ^= 130 LS_VALIDATE_REQUEST_VERSION_1 then 131 call Abort (SL_LOG_SILENT, error_table_$unimplemented_version, 132 "Expected login_server_validate_request version ^a, received ^a.", 133 LS_VALIDATE_REQUEST_VERSION_1, login_server_validate_request.header.request_version); 134 135 utep = user_table_mgr_$allocate (PT_INTERACTIVE); 136 if utep = null then 137 call Abort (SL_LOG, as_error_table_$tty_no_room, 138 "The answer table is full."); 139 call ipc_$decl_event_call_chn (ute.event, uc_proc_term_handler_, 140 utep, INT_LOGIN_PRIO, code); 141 if code ^= 0 then 142 call Abort (SL_LOG, code, 143 "Setting event call handler for user table entry (^p).", utep); 144 145 146 /**** Initialize validate_info and reply_message structures */ 147 148 unspec (ls_reply_message) = ""b; 149 150 uc_validate_info_ptr = addr (auto_uc_validate_info); 151 unspec (uc_validate_info) = ""b; 152 153 154 /**** Fill in ute from validate request info */ 155 156 ute.person = login_server_validate_request.person_id; 157 ute.project = login_server_validate_request.project_id; 158 if login_server_validate_request.network_connection_type = 159 NETWORK_CONNECTION_DSA_FILE_TRANSFER then 160 ute.tag = TAG_UFT; 161 else 162 ute.tag = TAG_INTERACTIVE; 163 164 if login_server_validate_request.flags.anonymous then do; 165 ute.anonymous = ANONYMOUS; 166 uc_validate_info.flags.check_anonymous_password = TRUE; 167 end; 168 else if login_server_validate_request.flags.anon_no_password then do; 169 ute.anonymous = ANONYMOUS; 170 uc_validate_info.flags.check_anonymous_password = FALSE; 171 end; 172 else ute.anonymous = NOT_ANONYMOUS; 173 174 ute.network_connection_type = 175 login_server_validate_request.network_connection_type; 176 ute.tty_name = 177 login_server_validate_request.connection_info.connection_name; 178 ute.tty_id_code = 179 login_server_validate_request.connection_info.terminal_id; 180 ute.terminal_type = 181 login_server_validate_request.connection_info.terminal_type; 182 ute.line_type = 183 login_server_validate_request.connection_info.line_type; 184 185 if login_server_validate_request.flags.auth_given then do; 186 ute.login_flags.auth_given = TRUE; 187 ute.process_authorization = 188 login_server_validate_request.authorization; 189 end; 190 191 ute.login_flags.cpw = 192 login_server_validate_request.flags.change_password; 193 ute.login_flags.generate_pw = 194 login_server_validate_request.flags.gpw; 195 196 ute.login_flags.cdp = 197 login_server_validate_request.flags.change_default_proj; 198 ute.login_flags.cda = 199 login_server_validate_request.flags.change_default_auth; 200 201 if ute.login_flags.cpw then do; 202 uc_validate_info.password = 203 login_server_validate_request.new_password; 204 ute.old_password = 205 login_server_validate_request.current_password; 206 end; 207 else uc_validate_info.password = 208 login_server_validate_request.current_password; 209 210 /**** The operator flag indicates that the user wants to log in as an 211* operator. This is the functional replacement of "dial system.". */ 212 213 ute.login_flags.operator = login_server_validate_request.flags.operator; 214 215 ute.login_server_info.his_handle = 216 login_server_validate_request.header.reply_handle; 217 ute.login_server_info.process_id = 218 ls_request_server_info.request_info.sender_process_id; 219 ute.login_server_info.response_event_channel = 220 login_server_validate_request.header.reply_event_channel; 221 ute.login_server_info.termination_event_channel = 222 login_server_validate_request.terminate_event_channel; 223 224 225 /**** Finish filling in uc_validate_info */ 226 227 uc_validate_info.channel_info.access_class_range (*) = 228 login_server_validate_request.connection_info.access_class_range; 229 230 /**** TBS: At present, there is no check to see if a user, undergoing I&A, 231* has access to use the particular channel on which he is attempting to 232* log in. This really should be done by the AS since we can reject the 233* login as we do for MCS channels if the user lacks appropriate access. 234* For the time being, however, we perform no discretionary access checking 235* on the login channel name. */ 236 237 uc_validate_info.flags.check_channel_access = FALSE; 238 239 240 /**** Clear out message buffer used to hold login messages for the user */ 241 242 as_data_$ls_message_buffer_cur_lth = 0; 243 244 call uc_login_ (uc_validate_info_ptr, utep, validate_code); 245 246 /**** Validate_code gets placed in the response record. */ 247 248 if validate_code = 0 then 249 call asu_$setup_login_server_handle (utep); 250 251 call Setup_Response (); 252 253 if validate_code ^= 0 then 254 goto ERROR_RETURN; 255 else 256 goto RETURN; 257 FAULT_LABEL: 258 code = as_error_table_$dialup_error; 259 ERROR_RETURN: 260 if utep ^= null () then 261 call user_table_mgr_$free (utep); 262 RETURN: 263 P_code = code; 264 return; 265 266 Setup_Response: 267 procedure (); 268 269 ls_response_ptr = P_ls_reply_data_ptr; 270 unspec (login_server_validate_response) = ""b; 271 272 login_server_validate_response.header.message_type = 273 LS_VALIDATE_RESPONSE; 274 login_server_validate_response.header.header_pad = ""b; 275 login_server_validate_response.header.version = 276 LS_VALIDATE_RESPONSE_VERSION_1; 277 278 login_server_validate_response.handle = 279 ute.login_server_info.our_handle; 280 login_server_validate_response.authorization = 281 ute.process_authorization; 282 login_server_validate_response.authorization_range = 283 ute.process_authorization_range; 284 login_server_validate_response.status_code = validate_code; 285 login_server_validate_response.person_id = 286 substr (ute.person, 1, 22); 287 login_server_validate_response.project_id = 288 substr (ute.project, 1, 9); 289 login_server_validate_response.n_disconnected_processes = 290 uc_validate_info.number_disconnected_processes; 291 292 login_server_validate_response.previous_login_info.time = 293 uc_validate_info.last_login_info.time; 294 login_server_validate_response.previous_login_info.terminal_type = 295 uc_validate_info.last_login_info.terminal_type; 296 login_server_validate_response.previous_login_info.terminal_id = 297 uc_validate_info.last_login_info.terminal_id; 298 299 login_server_validate_response.incorrect_passwords = 300 uc_validate_info.last_bad_pw_info.number; 301 login_server_validate_response.last_incorrect_password.terminal_type = 302 uc_validate_info.last_bad_pw_info.terminal_type; 303 login_server_validate_response.last_incorrect_password.terminal_id = 304 uc_validate_info.last_bad_pw_info.terminal_id; 305 306 if ute.login_result = 1 /* do not allow retry */ then 307 login_server_validate_response.flags.disconnect = TRUE; 308 else login_server_validate_response.flags.disconnect = FALSE; 309 login_server_validate_response.flags.password_changed = 310 uc_validate_info.output_info.flags.changed_password; 311 login_server_validate_response.flags.default_auth_changed = 312 uc_validate_info.output_info.flags.default_authorization_changed; 313 login_server_validate_response.flags.default_proj_changed = 314 uc_validate_info.output_info.flags.changed_default_project; 315 login_server_validate_response.flags.password_expired = 316 uc_validate_info.output_info.flags.password_expired; 317 login_server_validate_response.flags.password_unused_too_long = 318 uc_validate_info.output_info.flags.password_unused_too_long; 319 320 ip = as_data_$rs_ptrs (0); 321 if login_server_validate_response.flags.password_unused_too_long then 322 login_server_validate_response.password_interval = 323 installation_parms.password_expiration_interval; 324 else if login_server_validate_response.flags.password_expired then 325 login_server_validate_response.password_interval = 326 installation_parms.password_change_interval; 327 328 login_server_validate_response.flags.pad = ""b; 329 330 P_ls_reply_data_lth = currentsize (login_server_validate_response); 331 return; 332 end Setup_Response; 333 334 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 335 /* */ 336 /* Abort: Report an error via sys_log_$general and stop execution if a */ 337 /* nonzero code was given. */ 338 /* */ 339 /* Syntax: call Abort (severity, code, ioa_ctl, args); */ 340 /* */ 341 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 342 343 Abort: 344 procedure options (variable); 345 346 dcl cu_$arg_list_ptr entry returns (ptr); 347 dcl sys_log_$general entry (ptr); 348 349 sl_info = sl_info_sev_code_msg; 350 sl_info.caller = ME; 351 sl_info.arg_list_ptr = cu_$arg_list_ptr (); 352 call sys_log_$general (addr (sl_info)); 353 code = sl_info.code; 354 if code ^= 0 then go to abort_label; 355 356 end Abort; 357 358 /* format: off */ 359 /* BEGIN INCLUDE FILE ... as_data_.incl.pl1 ... */ 1 2 1 3 /* format: style4 */ 1 4 1 5 /* This file must be kept in sync with as_data_.alm */ 1 6 1 7 /****^ HISTORY COMMENTS: 1 8* 1) change(86-09-21,Beattie), approve(86-09-22,MCR7542), 1 9* audit(86-10-31,Brunelle), install(86-11-12,MR12.0-1211): 1 10* Remove references to the 963 and 029 preaccess commands and remove support 1 11* for ARDS, 202_ETX, 2741 and 1050 in system interfaces. 1 12* 2) change(86-09-25,Swenson), approve(87-07-20,MCR7737), 1 13* audit(87-07-20,GDixon), install(87-08-04,MR12.1-1056): 1 14* Add references to as_data_ entrypoints added for Login Server. 1 15* 3) change(87-03-03,Brunelle), approve(87-07-20,MCR7697), 1 16* audit(87-07-20,GDixon), install(87-08-04,MR12.1-1056): 1 17* Added new user signal field of inacrcvd (14) to handle inactivity response 1 18* from user. 1 19* END HISTORY COMMENTS */ 1 20 1 21 dcl as_data_$BS char (1) aligned ext static; /* BACKSPACE character */ 1 22 dcl as_data_$CR char (1) aligned ext static; /* CARRIAGE RETURN character */ 1 23 dcl as_data_$abs_dim char (32) ext static; /* absentee DIM */ 1 24 dcl as_data_$acct_update_priority fixed bin ext static; /* accounting update IPC priority */ 1 25 dcl as_data_$acsdir char (168) ext static; /* Access Control Segment directory */ 1 26 dcl as_data_$ansp ptr ext static; /* answer_table */ 1 27 dcl as_data_$as_procid bit (36) aligned ext static; /* Answering Service process id */ 1 28 dcl as_data_$as_ring fixed bin (3) ext static; /* AS operating ring */ 1 29 dcl as_data_$as_tty char (6); /* AS master tty channel */ 1 30 dcl as_data_$asmtp ptr ext static; /* AS meter table */ 1 31 dcl as_data_$autp ptr ext static; /* absentee_user_table */ 1 32 dcl as_data_$buzzardp ptr ext static; /* dpg_ list of buteo processes */ 1 33 dcl as_data_$cdtp ptr ext static; /* CDT */ 1 34 dcl as_data_$default_weight fixed bin (35) ext; /* default user process load control weight */ 1 35 dcl as_data_$devtabp ptr ext static; /* device_table */ 1 36 dcl as_data_$dft_user_ring fixed bin (3) ext static; /* default user ring */ 1 37 dcl as_data_$dutp ptr ext static; /* daemon_user_table */ 1 38 dcl as_data_$g115_dim char (32) ext static; 1 39 dcl as_data_$lct_initialized bit (1) aligned ext static; /* LCT allocated in ring 0 */ 1 40 dcl as_data_$lct_size fixed bin ext static; /* CDT tty channels + spares */ 1 41 dcl as_data_$max_user_ring fixed bin (3) ext static; /* maximum user ring */ 1 42 dcl as_data_$mgtp ptr ext static; /* master group table */ 1 43 dcl as_data_$mrd_dim char (32) ext static; /* daemon's message routing DIM */ 1 44 dcl as_data_$ntty_dim char (32) ext static; /* network connection DIM */ 1 45 dcl as_data_$pdtdir char (168) ext static; /* PDT directory */ 1 46 dcl as_data_$pit_ptr ptr ext static; /* pit_temp_ */ 1 47 dcl as_data_$rcpdir char (168) ext static; /* RCP directory */ 1 48 dcl as_data_$request_priority fixed bin ext static; 1 49 dcl as_data_$rs_ptrs (0:9) ptr ext static; /* rate_structures */ 1 50 dcl as_data_$rtdtp ptr ext static; /* RTDT */ 1 51 dcl as_data_$sat_htp ptr ext static; /* SAT hash table */ 1 52 dcl as_data_$satp ptr ext static; /* SAT */ 1 53 dcl as_data_$suffix (0:9) char (2) unaligned ext static; 1 54 dcl as_data_$sysdir char (168) ext static; /* system control directory */ 1 55 dcl as_data_$teens_suffix (10:19) char (2) unaligned ext static; 1 56 dcl as_data_$terminet_tabs_string char (144) varying ext static; 1 57 dcl as_data_$tty_dim char (32) ext static; /* standard interactive DIM */ 1 58 dcl as_data_$update_priority fixed bin ext static; /* ??? */ 1 59 dcl as_data_$version char (8) ext static; /* AS version */ 1 60 dcl as_data_$whoptr ptr ext static; /* whotab */ 1 61 1 62 dcl 1 as_data_$login_args aligned ext static, /* control arguments for login */ 1 63 2 n_login_args fixed bin, 1 64 2 pad fixed bin, 1 65 2 login_args (55 /* as_data_$login_args.n_login_args */) char (24) unaligned; 1 66 1 67 dcl 1 as_data_$signal_types ext static aligned, /* IPC process control signals */ 1 68 2 n_signals fixed bin, 1 69 2 pad fixed bin, 1 70 2 signals (14 /* as_data_$signal_types.n_signals */) char (8) unaligned; 1 71 1 72 dcl 1 as_data_$system_signal_types ext static aligned, /* IPC process control signals */ 1 73 2 n_system_signals fixed bin, 1 74 2 pad fixed bin, 1 75 2 system_signals (10 /* as_data_$system_signal_types.n_system_signals */) char (8) unaligned; 1 76 1 77 dcl as_data_$login_words fixed bin ext static aligned, 1 78 /* interactive login words */ 1 79 1 as_data_login_words aligned based (addr (as_data_$login_words)), 1 80 2 n_words fixed bin, 1 81 2 pad fixed bin, 1 82 2 words (0 refer (as_data_login_words.n_words)) char (16) unaligned; 1 83 1 84 dcl as_data_$debug_flag bit (1) aligned external static; 1 85 dcl as_data_$ls_request_server_info_ptr ptr external static; 1 86 dcl as_data_$ls_message_buffer_cur_lth fixed bin (18) external static; 1 87 dcl as_data_$ls_message_buffer_max_lth fixed bin (18) external static; 1 88 dcl as_data_$ls_message_buffer_ptr ptr external static; 1 89 1 90 /* END INCLUDE FILE ... as_data_.incl.pl1 ... */ 359 360 /* BEGIN INCLUDE FILE as_wakeup_priorities.incl.pl1 */ 2 2 2 3 /* This include file defines the priorities of all of the event channels used by the answering service. 2 4* 2 5* They are declared as named constants. They are used in calls to ipc_$decl_ev_call_chn. 2 6* The names correspond to the functions of the event call handlers. 2 7* For brevity in names, MC means message coordinator, and LOGIN includes logout as well. 2 8* 2 9* The comment on each constant lists the procedure(s) that use it to set event channel priorities. 2 10* See the code in those procedures for information on the handlers themselves 2 11* (which are entry variables in some cases, and thus could not be documented in this file). 2 12* 2 13* The priorities range from zero (highest) to 22 (lowest used by the answering service). 2 14* 2 15* The event wait channel on which the A.S. goes blocked awaiting input on the initializer console has highest 2 16* of all priorities, set by as_init_ calling ipc_$set_wait_prior. 2 17* 2 18* Written June 1981 by T. Casey for MR9.0 2 19* Modified 1984-10-15 BIM for sac -> as_request. 2 20* as_request is above login, since sac is important and 2 21* dial requests for already logged in users can take 2 22* first dibs over new logins. 2 23**/ 2 24 2 25 dcl MC_PRIO fixed bin int static options (constant) init (1); /* mc_commands_, mc_con_rec_, mc_util_, mrd_tester */ 2 26 dcl SYSERR_COPY_PRIO fixed bin int static options (constant) init (2); /* syserr_log_man_ */ 2 27 dcl SHUTDOWN_PRIO fixed bin int static options (constant) init (3); /* admin */ 2 28 dcl ACCT_UPDATE_PRIO fixed bin int static options (constant) init (4); /* act_ctl_ */ 2 29 dcl DAEMON_LOGIN_PRIO fixed bin int static options (constant) init (8); /* daemon_user_manager_ */ 2 30 dcl AS_REQUEST_PRIO fixed bin int static options (constant) init (7); /* as_request_ */ 2 31 dcl INSTALL_PRIO fixed bin int static options (constant) init (8); /* up_sysctl_ */ 2 32 dcl INT_LOGIN_PRIO fixed bin int static options (constant) init (8); /* asu_, dialup_, ftp_dialup_ */ 2 33 dcl MPX_LOAD_PRIO fixed bin int static options (constant) init (11); 2 34 /* as_vip7760_mpx_, as_mcs_mpx_, as_ibm3270_mpx_, as_hasp_mpx_ */ 2 35 dcl ABS_DEFER_PRIO fixed bin int static options (constant) init (19); /* absentee_utility_ */ 2 36 dcl ABS_LOGIN_PRIO fixed bin int static options (constant) init (20); /* abentee_user_manager_ */ 2 37 dcl CORE_FLUSH_PRIO fixed bin int static options (constant) init (22); /* as_meter_ */ 2 38 2 39 /* END INCLUDE FILE as_wakeup_priorities.incl.pl1 */ 360 361 /* BEGIN INCLUDE FILE ... dialup_values.incl.pl1 */ 3 2 3 3 /* format: style4 */ 3 4 3 5 /* Values for "cdte.tra_vec" used by dialup_ and others. */ 3 6 3 7 /* Modified by T. Casey April 1976 to add WAIT_NEW_PASSWORD 3 8* - in 1977 and 1978 to add WAIT_(GREETING_MSG DELETE_CHANNEL) 3 9* - and in October 1979 to add WAIT_CONNECT_REQUEST 3 10* Modified by Robert Coren in May 1981 to add TANDD_ATTACH values and 3 11* WAIT_DISCARD_WAKEUP 3 12* Modified by T. Casey, July 1981, for MR9.0, to add WAIT_BEFORE_HANGUP. 3 13* Modified by E. N. Kittlitz, July 1982, to add TTY_MASKED. 3 14**/ 3 15 3 16 /****^ HISTORY COMMENTS: 3 17* 1) change(87-04-20,GDixon), approve(87-07-13,MCR7741), 3 18* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 3 19* Add constant arrays naming cdte.state, cdte.tra_vec and ute.active values. 3 20* 2) change(87-05-11,GDixon), approve(87-07-13,MCR7741), 3 21* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 3 22* Add named constants for instance tags. 3 23* END HISTORY COMMENTS */ 3 24 3 25 dcl (WAIT_DIALUP init (1), /* Channel waiting for dialup. */ 3 26 WAIT_ANSWERBACK initial (2), /* WRU sent, waiting for reply */ 3 27 WAIT_LOGIN_LINE init (3), /* Greeting typed, wait for login command. */ 3 28 WAIT_LOGIN_ARGS init (4), /* Want rest of login line */ 3 29 WAIT_OLD_PASSWORD init (5), /* "-cpw" was specified. Wait for old password. */ 3 30 WAIT_PASSWORD init (6), /* Waiting for password. (If "-cpw", repeat of new one.) */ 3 31 WAIT_NEW_PASSWORD init (7), /* "-cpw" was specified. Wait for new password */ 3 32 WAIT_LOGOUT_SIG init (8), /* Channel is hooked up. Wait for logout. */ 3 33 WAIT_LOGOUT init (9), /* A logout has been requested. Wait for process to die */ 3 34 WAIT_LOGOUT_HOLD init (10), /* As above but don't hang up when it dies. */ 3 35 WAIT_DETACH init (11), /* As above but ignore channel afterwards. */ 3 36 WAIT_NEW_PROC init (12), /* As above but make new process and continue. */ 3 37 WAIT_REMOVE init (13), /* As above but completely expunge channel. */ 3 38 WAIT_FIN_PRIV_ATTACH init (14), /* When channel dials up, connect it to user */ 3 39 WAIT_DIAL_RELEASE init (15), /* Waiting for master process to release. */ 3 40 WAIT_DIAL_OUT init (16), /* Waiting for auto call to complete */ 3 41 WAIT_HANGUP init (17), /* Wait for the hangup event to occur for a channel */ 3 42 WAIT_SLAVE_REQUEST init (18), /* Ignore line until someone asks */ 3 43 WAIT_GREETING_MSG init (19), /* Print greeting message and wait for login line */ 3 44 WAIT_DELETE_CHANNEL init (20), /* Channel deleted - mark cdte after process is destroyed */ 3 45 WAIT_CONNECT_REQUEST init (21), /* logged in; awaiting request re disconnected processes */ 3 46 WAIT_TANDD_HANGUP init (22), /* when channel hangs up, proceed with t & d attachment */ 3 47 WAIT_FIN_TANDD_ATTACH init (23), /* when channel dials up, finish t & d attachment */ 3 48 WAIT_DISCARD_WAKEUPS init (24), /* disregard all wakeups on channel */ 3 49 WAIT_BEFORE_HANGUP init (25), /* allow output to print before hanging up */ 3 50 WAIT_DESTROY_REQUEST init (26), /* waiting to continue with destroy request after process has destroyed itself */ 3 51 WAIT_NEW_PROC_REQUEST init (27) /* waiting to continue with new_proc request after process has destroyed itself */ 3 52 ) fixed bin internal static options (constant); 3 53 3 54 dcl TRA_VEC_VALUES (0:13) char (32) aligned int static options (constant) init 3 55 /* names of ute.destroy_flag values */ 3 56 ("", "wait dialup", "wait answerback", "wait login line", /* 0-3 */ 3 57 "wait login args", "wait old password", "wait password", /* 4-6 */ 3 58 "wait new password", "wait logout signal", "wait logout", /* 7-9 */ 3 59 "wait logout hold", "wait detach", "wait new proc", /* 10-12 */ 3 60 "wait remove"); /* -13 */ 3 61 3 62 /* Values for "cdte.state", typewriter state. */ 3 63 3 64 dcl (TTY_MASKED init (-1), /* Terminal channel is there, but masked by MCS */ 3 65 TTY_HUNG init (1), /* Terminal channel is there, but dead. */ 3 66 TTY_KNOWN init (2), /* Channel being "listened" to, awaiting dialup. */ 3 67 TTY_DIALED init (5) /* Channel is dialed up. This is normal state. */ 3 68 ) fixed bin internal static options (constant); 3 69 3 70 dcl STATE_VALUES (-1:5) char (15) aligned int static options (constant) init 3 71 /* names of cdte.state values */ 3 72 ("masked", "dead", "hung up", "listening", "", "", "dialed up"); 3 73 3 74 /* Values for "cdte.in_use" and "ate.active" */ 3 75 3 76 dcl (NOW_FREE init (0), /* Entry is empty. */ 3 77 NOW_HUNG_UP init (1), /* Entry is usable but tty is hung up. */ 3 78 NOW_LISTENING init (2), /* Entry is waiting for phone call. */ 3 79 NOW_DIALED init (3), /* Entry is connected but login not complete. */ 3 80 NOW_LOGGED_IN init (4), /* Entry is logged in but no process. */ 3 81 NOW_HAS_PROCESS init (5), /* Entry has a valid process. */ 3 82 NOW_DIALING init (6), /* Entry (auto_call line) is dialing */ 3 83 NOW_DIALED_OUT init (7) /* Entry (auto_call line) is in use */ 3 84 ) fixed bin internal static options (constant); 3 85 3 86 dcl ACTIVE_VALUES (0:5) char (18) aligned int static options (constant) init 3 87 /* names of ute.active values */ 3 88 ("free", "hung-up", "listening", "dialed", "logged in, no proc", "logged in & proc"); 3 89 3 90 3 91 /**** Values for ute.tag */ 3 92 3 93 dcl (TAG_INTERACTIVE init("a"), 3 94 TAG_UFT init("f"), 3 95 TAG_ABSENTEE init("m"), 3 96 TAG_PROXY init("p"), 3 97 TAG_DAEMON init("z") 3 98 ) char(1) int static options(constant); 3 99 3 100 3 101 /**** Following are constants used to indicate to the process termination 3 102* handler the reason for the process termination. They are used by 3 103* uc_proc_term_handler_, as well as uc_ls_new_proc_request_ and 3 104* uc_ls_destroy_request_. */ 3 105 3 106 dcl ( 3 107 PT_FPE initial (1), 3 108 PT_LOGOUT initial (4), 3 109 PT_NEW_PROC_AUTH initial (13), 3 110 PT_HANGUP initial (20), 3 111 PT_SHUTDOWN initial (21), 3 112 PT_BUMP initial (22), 3 113 PT_ALARM initial (23), 3 114 PT_DETACH initial (24), 3 115 PT_UNBUMP initial (25), 3 116 PT_OPERATOR_TERMINATE initial (27), 3 117 PT_DESTROY_REQUEST initial (30), 3 118 PT_NEW_PROC_REQUEST initial (31) 3 119 ) fixed bin (17) internal static options (constant); 3 120 3 121 /**** Values for ute.preempted: 3 122* -1 user unbumped after term signal sent 3 123* 0 user unbumped; ignore alarm___ 3 124* 1 value internally used in load_ctl_ 3 125* 2 user bumped; when alarm___ comes in, send term signal 3 126* 3 term signal sent; destroy process if termsgnl, alarm___, or cpulimit 3 127* signals come in 3 128* 4 user bumped; process sick, so destroy without sending term signal 3 129* 5 trm_ signal sent, termsgnl received; (if still 3, we never got the 3 130* termsgnl). */ 3 131 3 132 dcl ( 3 133 PREEMPT_UNBUMP initial (-1), 3 134 PREEMPT_UNBUMP_IGNORE_ALARM initial (0), 3 135 PREEMPT_LOAD_CTL initial (1), 3 136 PREEMPT_BUMPED initial (2), 3 137 PREEMPT_TERM_SENT initial (3), 3 138 PREEMPT_BUMPED_NO_TERM initial (4), 3 139 PREEMPT_TERMSGNL_RECEIVED initial (5) 3 140 ) fixed bin (17) internal static options(constant); 3 141 3 142 dcl PREEMPT_VALUES (-1:5) char(28) varying int static options(constant) init( 3 143 "unbumped", 3 144 "not bumped, ignore alarm___", 3 145 "load_ctl_", 3 146 "bumped", 3 147 "bumped, trm_ sent", 3 148 "bumped without trm_", 3 149 "bumped, termsgnl received"); 3 150 3 151 /* END INCLUDE FILE ... dialup_values.incl.pl1 */ 361 362 /* BEGIN INCLUDE FILE ... installation_parms.incl.pl1 */ 4 2 4 3 /* Modified 740723 by PG to add short AIM access names */ 4 4 /* Modified Fall 1977 by T. Casey to add fatal loop and trm_ signal parameters */ 4 5 /* Modified 04/03/78 by CDT to add rcp_init_flags structure */ 4 6 /* Modified May 1978 by T. Casey to add resource timer and resource price list parameters */ 4 7 /* Modified November 1978 by T. Casey for MR7.0, to add absentee control parameters */ 4 8 /* Modified 17 September 1980 by G. Palter to add default absentee queue */ 4 9 /* Modified April 1981 by E. N. Kittlitz for chn_wakeup_error_loop, chn_wakeup_error_count */ 4 10 /* Modified June 1981 by E. N. Kittlitz for nrates/rate_structures UNCA rate_structure support. 4 11* Version, expand foregound_cpu_default_limit and abs_cpu_max_limit to fixed bin (35) fields. 4 12* nrscp & resource array moved from offset 2064 (octal) to 2400 (octal). */ 4 13 /* Modified 1984-06-19 BIM to remove obsolete fields, and add 4 14* strict_trusted_path. */ 4 15 /* Modified 1984-10-24 BIM for default_pdir_quota. */ 4 16 /* Modified 1984-12-05 BIM for require_operator_login. */ 4 17 /* Modified 1985-03-01 by E. Swenson for password flags. */ 4 18 4 19 4 20 /****^ HISTORY COMMENTS: 4 21* 1) change(86-01-27,MSharpe), approve(87-05-25,MCR7690), 4 22* audit(87-03-29,GDixon), install(87-08-04,MR12.1-1056): 4 23* added vchn_requires_accept parameter. 4 24* 2) change(87-02-17,GDixon), approve(87-05-25,MCR7680), 4 25* audit(87-06-02,Parisek), install(87-08-04,MR12.1-1056): 4 26* Correct formatting problems. 4 27* END HISTORY COMMENTS */ 4 28 4 29 4 30 /* NOTE: rate_structure.incl.pl1 uses these declarations */ 4 31 4 32 4 33 dcl 1 installation_parms based (ip) aligned, /* describes installation parameters */ 4 34 2 part_1 like installation_parms_part_1 aligned, 4 35 2 resource (0 refer (installation_parms.nrscp)) like installation_parms_resource_array_part aligned; 4 36 4 37 dcl installation_parms_version_1 fixed bin init (1) static internal options (constant); 4 38 dcl installation_parms_version_2 fixed bin init (2) static internal options (constant); 4 39 4 40 dcl 1 installation_parms_part_1 based aligned, /* Used only by installation_parms and rate_structure */ 4 41 2 installation_id char (32), /* Name printed at dialup and in who */ 4 42 2 company char (64), /* company name */ 4 43 2 department char (64), /* department */ 4 44 2 companyds char (120), /* company, double spaced */ 4 45 2 departmentds char (120), /* dpeartment double spaced */ 4 46 2 shifttab (336) bit (3) unal, /* half-hrs from 0000 Mon, value is shift no */ 4 47 2 cpu_price (0: 7) float bin, /* price for cpu hour, by shift */ 4 48 2 log_base_price (0: 7) float bin, /* price for log hour, by shift */ 4 49 2 io_ops_price (0: 7) float bin, /* price per 1000 terminal io ops */ 4 50 2 core_price (0: 7) float bin, /* price for core page-hour, by shift */ 4 51 2 ndevices fixed bin, /* number of devices to charge */ 4 52 2 devtab (16), /* Maximum 16 */ 4 53 3 device_id char (8), /* Name of device */ 4 54 3 device_price (0: 7) float bin, /* Price by shift */ 4 55 2 inactive_time fixed bin, /* seconds of inactivity permitted */ 4 56 2 warning_time fixed bin, /* seconds from warning to logout */ 4 57 2 login_time fixed bin, /* seconds in which to complete login */ 4 58 2 acct_update fixed bin, /* seconds between acct update */ 4 59 2 login_tries fixed bin, /* number of login tries allowed */ 4 60 2 disk_price float bin, /* disk rate, in $/page-sec */ 4 61 2 registration_price float bin, /* fee per month per user */ 4 62 2 dolsign char (1), /* "dollar sign" */ 4 63 2 abs_cpu_price (4) float bin, /* price for absentee cpu by queue */ 4 64 2 abs_mem_price (4) float bin, /* Absentee memory charge */ 4 65 2 iod_rec_price (4) float bin, /* price for io daemon lines, per K, by queue */ 4 66 2 abs_timax (4) fixed bin (35), /* Absentee TIMAX parameter */ 4 67 2 abs_cpu_default_limit (4) fixed bin (35), /* default absentee cpu limit in seconds (changed from usec.) */ 4 68 2 syserr_log_copy_threshold fixed bin (9), /* Threshold (in PAGES) at which the 4 69* Initializer will copy the syserr_log */ 4 70 2 default_pdir_seg_quota fixed bin (17) unaligned, /* if system and project say 0 */ 4 71 2 default_pdir_dir_quota fixed bin (17) unaligned, /* Always used */ 4 72 2 fatal_error_loop_count fixed bin (17) unaligned, 4 73 2 fatal_error_loop_seconds fixed bin (17) unaligned, 4 74 2 term_real_time_seconds fixed bin (17) unaligned, 4 75 2 term_cpu_time_seconds fixed bin (17) unaligned, 4 76 2 rcp_init_flags like rcp_init_flags aligned, /* one word long */ 4 77 2 rsc_timer_seconds fixed bin (17) unaligned, /* time interval at which to check for resource availability */ 4 78 2 pad_old_fg_cpu_default_limit bit (18) unaligned, 4 79 2 foreground_queue_position fixed bin (17) unal, /* queue that foreground queue comes after */ 4 80 2 idle_time_constant_seconds fixed bin (17) unal, /* how far back to maintain moving average of load */ 4 81 2 sus_cpu_time_seconds fixed bin (17) unal, /* allow suspended process this much cpu time */ 4 82 2 sus_real_time_seconds fixed bin (17) unal, /* and this much real time, before bumping it */ 4 83 2 foreground_cpu_default_limit fixed bin (35), /* default cpu time limit (sec) for foreground absentee jobs */ 4 84 2 access_authorization_ceiling bit (72), /* "System high" access authorization. */ 4 85 2 level_names (0:7) char (32), /* Names for security levels. */ 4 86 2 category_names (18) char (32), /* Names for security categories. */ 4 87 2 short_level_names (0:7) char (8), /* Abbreviated level names. */ 4 88 2 short_category_names (18) char (8), /* Abbreviated category names. */ 4 89 2 ncon fixed bin, /* Number of config elements. */ 4 90 2 cona (51), /* each entry is 5 words long */ 4 91 3 cpu fixed bin (5) unal, /* Number of CPU's */ 4 92 3 shift fixed bin (5) unal, /* Shift number */ 4 93 3 x1 fixed bin (23) unal, 4 94 3 kmem fixed bin (17) unal, /* Memory size */ 4 95 3 kbulk fixed bin (17) unal, /* Bulk store size */ 4 96 3 x2 fixed bin (17) unal, 4 97 3 maxa fixed bin (11) unal, /* Max abs users */ 4 98 3 maxq fixed bin (5) unal, /* Max abs q */ 4 99 3 maxu_base fixed bin (17) unal, 4 100 3 response_high fixed bin (17) unal, 4 101 3 response_low fixed bin (17) unal, 4 102 3 x3 fixed bin (17) unal, 4 103 4 104 /* Absentee control parameters. New for MR7.0 */ 4 105 4 106 2 max_abs (0:7) fixed bin (17) unal, /* per-shift upper limit on abs_maxu */ 4 107 2 min_abs (0:7) fixed bin (17) unal, /* per-shift lower limit on abs_maxu */ 4 108 2 pct_abs (0:7) fixed bin (17) unal, /* abs_maxu is this pct (per-shift) of idle units */ 4 109 4 110 2 max_qres (0:7, 4) fixed bin (17) unal, /* per-shift-and-queue upper limit on reserved slots */ 4 111 2 min_qres (0:7, 4) fixed bin (17) unal, /* per-shift-and-queue lower limit on reserved slots */ 4 112 2 pct_qres (0:7, 4) fixed bin (17) unal, /* reserved slots are these pcts of abs_maxu */ 4 113 4 114 2 abs_cpu_max_limit (0:7, 4) fixed bin (35), /* per-shift-and-queue upper limit (sec) on jobs' cpu times */ 4 115 4 116 2 default_absentee_queue fixed binary (17) unaligned, /* default absentee queue for ear, etc. */ 4 117 4 118 2 chn_wakeup_error_loop_count fixed bin (17) unaligned, /* maximum number of channel wakeups in following interval */ 4 119 2 chn_wakeup_error_loop_seconds fixed bin (17) unaligned, /* works like fatal_error_loop_count/seconds */ 4 120 2 rate_structure_number fixed bin (17) unaligned, /* rate_structure number of this RS */ 4 121 2 version fixed bin (35), /* must be 2 */ 4 122 2 nrates fixed bin, /* number of rate structures */ 4 123 2 rate_structures (0:9) char (32), /* names of rate_structures */ 4 124 2 trusted_path_login bit (1) aligned, /* forbid logout -hold and new_proc -auth */ 4 125 2 require_operator_login bit (1) aligned, /* just what it says */ 4 126 2 operator_inactive_time fixed bin, /* seconds between commands --> not logged in. */ 4 127 2 validate_daemon_commands bit (1) aligned, /* force existence and adequate access to 4 128* mcacs segments for operators */ 4 129 2 password_min_length fixed bin, /* minimum length of passwords */ 4 130 2 password_gpw_length fixed bin, /* length of generated passwords */ 4 131 2 password_change_interval fixed bin, /* number of days until must change */ 4 132 2 password_expiration_interval fixed bin, /* number of days that a password may remain unused */ 4 133 2 vchn_requires_accept bit (1) aligned, /* "login personid -op -vchn foo" must be 4 134* "accepted" by operator if personid is not 4 135* signed on system console */ 4 136 2 end_pad (219) bit (36) aligned, /* leave plenty of pad before the variable length price list */ 4 137 2 nrscp fixed bin; /* length of resource price array; must have offset 2400 (octal), 4 138* or someone miscounted when using part of pad2 */ 4 139 4 140 4 141 /* Entries in the following array may be accessed via system_info_$resource_price. 4 142* This array should not be accessed directly, since its format will change in subsequent releases of Multics. */ 4 143 4 144 dcl 1 installation_parms_resource_array_part (0 refer (installation_parms.nrscp)) based, 4 145 2 name char (32), 4 146 2 price float bin; 4 147 5 1 /* BEGIN INCLUDE FILE ... rcp_init_flags.incl.pl1 */ 5 2 5 3 /* Created on 04/24/78 by Michael R. Jordan */ 5 4 /* Modified 04/10/79 by C. D. Tavares */ 5 5 5 6 dcl rifp ptr; 5 7 5 8 dcl 1 rcp_init_flags based (rifp), 5 9 2 unload_on_detach bit (1) unaligned, /* ON => tape volumes are unloaded after detaching */ 5 10 2 pad1 bit (2) unaligned, /* obsolete */ 5 11 2 resource_mgmt_enabled bit (1) unaligned, /* ON => resource management has been enabled */ 5 12 2 auto_registration bit (1) unaligned, /* ON => auto registration allowed */ 5 13 2 pad2 bit (2) unaligned, /* future expansion, possibly of authentication_level */ 5 14 2 authentication_level fixed bin (2) unaligned unsigned; /* see below for values */ 5 15 5 16 dcl (No_authentication initial (0), 5 17 Nominal_authentication initial (1), 5 18 Automatic_authentication initial (2), 5 19 Manual_authentication initial (3)) fixed bin internal static options (constant); 5 20 5 21 dcl authentication_level_names (0:3) char (12) internal static options (constant) initial 5 22 ("none", "nominal", "automatic", "manual"); 5 23 5 24 /* END INCLUDE FILE ... rcp_init_flags.incl.pl1 */ 4 148 4 149 4 150 /* END INCLUDE FILE ... installation_parms.incl.pl1 */ 362 363 /* BEGIN INCLUDE FILE ... line_types.incl.pl1 */ 6 2 6 3 /* Written November 10 1975 by Paul Green */ 6 4 /* Modified October 1978 by Larry Johnson to include line_type_names */ 6 5 /* Modified 12/19/78 by J. Stern to add POLLED_VIP line type */ 6 6 /* Modified 9/27/79 by J. Stern to add X25LAP line type */ 6 7 /* Modified Spring 1981 by Charles Hornig to add HDLC line type */ 6 8 /* Modified May 1981 by Robert Coren to add COLTS line type */ 6 9 /* Modified September 1984 by Robert Coren to correctly count VIP as a synchronous line type */ 6 10 6 11 6 12 /****^ HISTORY COMMENTS: 6 13* 1) change(86-02-25,Negaret), approve(87-07-13,MCR7679), 6 14* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 6 15* Add a DSA line type. 6 16* 2) change(87-03-17,Beattie), approve(87-07-13,MCR7656), 6 17* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 6 18* Add HASP_OPR to identify HASP workstation consoles with login service. 6 19* END HISTORY COMMENTS */ 6 20 6 21 6 22 declare (LINE_MC initial (-2), 6 23 LINE_TELNET initial (-1), 6 24 LINE_UNKNOWN initial (0), 6 25 LINE_ASCII initial (1), 6 26 LINE_1050 initial (2), 6 27 LINE_2741 initial (3), 6 28 LINE_ARDS initial (4), 6 29 LINE_SYNCH initial (5), 6 30 LINE_G115 initial (6), 6 31 LINE_BSC initial (7), 6 32 LINE_ETX initial (8), 6 33 LINE_VIP initial (9), 6 34 LINE_ASYNC1 initial (10), 6 35 LINE_ASYNC2 initial (11), 6 36 LINE_ASYNC3 initial (12), 6 37 LINE_SYNC1 initial (13), 6 38 LINE_SYNC2 initial (14), 6 39 LINE_SYNC3 initial (15), 6 40 LINE_POLLED_VIP initial (16), 6 41 LINE_X25LAP initial (17), 6 42 LINE_HDLC initial (18), 6 43 LINE_COLTS initial (19), 6 44 LINE_DSA initial (20), 6 45 LINE_HASP_OPR initial (21) 6 46 ) fixed bin internal static options (constant); 6 47 6 48 dcl max_line_type fixed bin int static options (constant) init (21); 6 49 6 50 declare n_sync_line_types fixed bin int static options (constant) init (10); 6 51 6 52 declare sync_line_type (10) fixed bin int static options (constant) init (5, 6, 7, 9, 13, 14, 15, 16, 17, 18); 6 53 6 54 dcl line_types (-2:21) char (16) int static options (constant) init ( 6 55 "MC", /* -2 */ 6 56 "TELNET", /* -1 */ 6 57 "none", /* 0 */ 6 58 "ASCII", /* 1 */ 6 59 "1050", /* 2 */ 6 60 "2741", /* 3 */ 6 61 "ARDS", /* 4 */ 6 62 "Sync", /* 5 */ 6 63 "G115", /* 6 */ 6 64 "BSC", /* 7 */ 6 65 "202ETX", /* 8 */ 6 66 "VIP", /* 9 */ 6 67 "ASYNC1", /* 10 */ 6 68 "ASYNC2", /* 11 */ 6 69 "ASYNC3", /* 12 */ 6 70 "SYNC1", /* 13 */ 6 71 "SYNC2", /* 14 */ 6 72 "SYNC3", /* 15 */ 6 73 "POLLED_VIP", /* 16 */ 6 74 "X25LAP", /* 17 */ 6 75 "HDLC", /* 18 */ 6 76 "COLTS", /* 19 */ 6 77 "DSA", /* 20 */ 6 78 "HASP_OPR"); /* 21 */ 6 79 6 80 /* END INCLUDE FILE ... line_types.incl.pl1 */ 363 364 /* BEGIN INCLUDE FILE ... login_server_messages.incl.pl1 */ 7 2 7 3 /****^ HISTORY COMMENTS: 7 4* 1) change(86-06-30,Coren), approve(86-06-30,MCR7415), 7 5* audit(86-07-02,Margolin), install(86-07-11,MR12.0-1092): 7 6* Initial implementation. 7 7* 2) change(87-04-16,GDixon), approve(87-07-13,MCR7679), 7 8* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 7 9* A) Add REQUEST_TYPES and RESPONSE_TYPES arrays. 7 10* B) Add login_server_validate_response.last_incorrect_password.time. 7 11* C) Add user_connection_info.line_type. 7 12* D) Add login_server_process_request.minimum_ring. 7 13* 3) change(87-05-14,GDixon), approve(87-07-13,MCR7737), 7 14* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 7 15* A) Add login_server_process_response.brief. 7 16* B) Add login_server_list_response.initial_ring. 7 17* C) Separate login_server_process_response into fixed and variable parts. 7 18* D) Move user_connection_info into login_server_request_header. 7 19* END HISTORY COMMENTS */ 7 20 7 21 /* This include file defines all the structures passed in message segments 7 22* between a login server process and the Initializer (or "answering service") 7 23* process. For convenience, messages from the server to the initializer, 7 24* passed using the send_ls_request_ subroutine, are called "requests"; 7 25* messages from the initializer to the server, passed using the user_message_ 7 26* mechanism, are called "responses". 7 27**/ 7 28 7 29 /* Request types */ 7 30 7 31 dcl (LS_VALIDATE_REQUEST initial (1), /* validate user ID and password */ 7 32 LS_PROCESS_REQUEST initial (2), /* create or connect to a process */ 7 33 LS_LIST_REQUEST initial (3), /* list disconnected processes */ 7 34 LS_DIAL_REQUEST initial (4), /* find a dial server */ 7 35 LS_DISCONNECT_REQUEST initial (5), /* report disconnection of a login channel */ 7 36 LS_LOGOUT_REQUEST initial (6), /* discard UTE (end of dialogue) */ 7 37 LS_OPERATOR_REQUEST initial (7)) /* log the user in as an operator */ 7 38 fixed bin internal static options (constant); 7 39 7 40 dcl LS_REQUEST_TYPES (7) char (10) internal static options (constant) initial 7 41 ( 7 42 "validate", 7 43 "process", 7 44 "list", 7 45 "dial", 7 46 "disconnect", 7 47 "logout", 7 48 "operator"); 7 49 7 50 dcl ls_request_ptr pointer; 7 51 7 52 /* common header for all requests */ 7 53 7 54 dcl 1 ls_request_header aligned based (ls_request_ptr), 7 55 2 header_version char (8), /* version for this header */ 7 56 2 request_version char (8), /* varies depending on the request */ 7 57 2 request_type fixed bin, 7 58 2 pad1 bit (36), 7 59 2 reply_event_channel fixed bin (71), /* event channel over which reply_message should be sent */ 7 60 2 reply_handle bit (72) aligned, /* used for dispatching response */ 7 61 2 connection_info like user_connection_info; /* connection making this request. */ 7 62 7 63 dcl LS_REQUEST_HEADER_VERSION_1 char (8) initial ("lsrh0001") internal static options (constant); 7 64 7 65 dcl 1 user_connection_info aligned based, /* common info passed in most requests */ 7 66 2 connection_name char (32), 7 67 2 access_class_range (2) bit (72), 7 68 2 terminal_type char (32), 7 69 2 terminal_id char (4), 7 70 2 line_type fixed bin; 7 71 7 72 7 73 7 74 /* "validate" request: validate user ID and password */ 7 75 7 76 dcl 1 login_server_validate_request aligned based (ls_request_ptr), 7 77 2 header like ls_request_header, /* request_type = LS_VALIDATE_REQUEST */ 7 78 2 current_password char (8), /* scrambled */ 7 79 2 authorization bit (72), /* only valid if auth_given = "1"b */ 7 80 2 terminate_event_channel fixed bin (71), /* event channel to notify server when process terminates */ 7 81 2 person_id char (22), /* as specified in login line */ 7 82 2 project_id char (9), /* likewise, might be null string */ 7 83 2 network_connection_type fixed bin, /* see below for values */ 7 84 2 new_password char (8), /* only valid if change_password = "1"b */ 7 85 2 flags, 7 86 3 gpw bit (1) unaligned, /* password generated in response to -generate_password */ 7 87 3 auth_given bit (1) unaligned, /* -authorization specified */ 7 88 3 anonymous bit (1) unaligned, /* "enterp" request */ 7 89 3 anon_no_password bit (1) unaligned, /* "enter" request */ 7 90 3 change_password bit (1) unaligned, /* gave -cpw or -gpw */ 7 91 3 change_default_auth bit (1) unaligned, /* gave -change_default_authorization */ 7 92 3 change_default_proj bit (1) unaligned, /* gave -change_default_project */ 7 93 3 operator bit (1) unaligned, /* gave -operator */ 7 94 3 pad bit (28) unaligned; 7 95 7 96 7 97 dcl LS_VALIDATE_REQUEST_VERSION_1 char (8) internal static options (constant) initial ("lsvr0001"); 7 98 7 99 7 100 7 101 /* "process" request: create a process or reconnect to an existing process for the specified user */ 7 102 7 103 dcl 1 login_server_process_request aligned based (ls_request_ptr), 7 104 2 fixed_part, /* to allow for automatic copies */ 7 105 3 header like ls_request_header, /* request_type = LS_PROCESS_REQUEST */ 7 106 3 handle bit (72), /* as provided in validate_response */ 7 107 3 person_id char (22), /* the real one */ 7 108 3 project_id char (9), /* likewise */ 7 109 3 project_pad fixed bin, 7 110 3 command_type fixed bin, /* login, connect, etc.; see below for names */ 7 111 3 process_number fixed bin, /* 0 if unspecified or irrelevant */ 7 112 3 default_io_module char (32), /* I/O module to use if no outer_module specified */ 7 113 3 switch_flags, /* used to indicate if "switch"-type control args were specified */ 7 114 4 warn_given bit (1) unaligned, 7 115 4 force_given bit (1) unaligned, 7 116 4 save_given bit (1) unaligned, 7 117 4 preempt_given bit (1) unaligned, 7 118 4 brief_given bit (1) unaligned, 7 119 4 pad2 bit (31) unaligned, 7 120 3 switch_values, /* these are only valid if corresponding bit in switch_flags is on */ 7 121 4 warn bit (1) unaligned, 7 122 4 force bit (1) unaligned, 7 123 4 save_on_disconnect bit (1) unaligned, 7 124 4 preempt bit (1) unaligned, 7 125 4 brief bit (1) unaligned, /* "0"b & brief_given => -long */ 7 126 4 pad3 bit (31) unaligned, 7 127 3 other_flags, 7 128 4 init_ring_given bit (1) unaligned, /* "1"b if -ring */ 7 129 4 minimum_ring_given bit (1) unaligned, /* "1"b if MNA terminal interface ring > 1 */ 7 130 4 immediate bit (1) unaligned, /* "1"b => -new_proc (or -destroy) -immediate */ 7 131 4 no_start_up bit (1) unaligned, /* "1"b if -no_start_up */ 7 132 4 pad4 bit (32) unaligned, 7 133 3 initial_ring fixed bin, /* valid iff init_ring_given = "1"b */ 7 134 3 minimum_ring fixed bin, /* ring in which MNA terminal mgr operates */ 7 135 3 home_dir char (168), /* null if not specified */ 7 136 3 outer_module char (32), /* likewise */ 7 137 3 process_overseer char (168), /* likewise */ 7 138 3 subsystem char (168), /* likewise */ 7 139 3 n_args fixed bin, /* how many arguments specified after -ag; if 0, ignore the rest of the structure */ 7 140 2 login_arguments, /* variable part, describes stuff after -ag */ 7 141 3 arg_string_length fixed bin (21), 7 142 3 args (ls_process_request_n_args refer (login_server_process_request.n_args)), 7 143 4 start_index fixed bin (21), /* position in arg_string at which arg (i) starts */ 7 144 4 arg_length fixed bin (21), /* length of arg (i) */ 7 145 3 arg_string char (ls_process_request_arg_string_length refer (login_server_process_request.arg_string_length)); 7 146 7 147 dcl ls_process_request_n_args fixed bin; 7 148 dcl ls_process_request_arg_string_length fixed bin (21); 7 149 7 150 dcl LS_PROCESS_REQUEST_VERSION_1 char (8) internal static options (constant) initial ("lspr0001"); 7 151 7 152 7 153 7 154 /* "list" request: list the user's disconnected processes, if any */ 7 155 7 156 dcl 1 login_server_list_request aligned based (ls_request_ptr), 7 157 2 header like ls_request_header, /* request_type = LS_LIST_REQUEST */ 7 158 2 handle bit (72); 7 159 7 160 dcl LS_LIST_REQUEST_VERSION_1 char (8) internal static options (constant) initial ("lslr0001"); 7 161 7 162 7 163 7 164 /* "dial" request: find a process to accept a dial */ 7 165 7 166 /* Note: because a dial request may or may not have been preceded 7 167* by a validate request/response, the initializer_handle may be null. 7 168**/ 7 169 7 170 dcl 1 login_server_dial_request aligned based (ls_request_ptr), 7 171 2 header like ls_request_header, /* request_type = LS_DIAL_REQUEST */ 7 172 2 initializer_handle bit (72), /* as provided in validate_response (if any) */ 7 173 2 terminate_event_channel fixed bin (71), /* event channel to wake up login server when master process terminates */ 7 174 2 dial_qualifier char (22), 7 175 2 person_id char (22), /* null if not specified */ 7 176 2 project_id char (9), /* likewise */ 7 177 2 user_person_id char (22), /* if -user was specified, otherwise "" */ 7 178 2 user_project_id char (9); /* likewise */ 7 179 7 180 dcl LS_DIAL_REQUEST_VERSION_1 char (8) internal static options (constant) initial ("lsdr0001"); 7 181 7 182 7 183 7 184 /* "disconnect" request: report that a login channel has disconnected */ 7 185 /* Note: this message is sent if the connection is broken either during the login dialogue 7 186* or later on when the process was using it */ 7 187 7 188 dcl 1 login_server_disconnect_request aligned based (ls_request_ptr), 7 189 2 header like ls_request_header, /* request_type = LS_DISCONNECT_REQUEST */ 7 190 2 handle bit (72), /* from original validate_response */ 7 191 2 process_id bit (36); /* ""b if no process established */ 7 192 7 193 dcl LS_DISCONNECT_REQUEST_VERSION_1 char (8) internal static options (constant) initial ("lsdc0001"); 7 194 7 195 7 196 7 197 /* "logout" request: indicates that user entered the "logout" request, ending the dialogue; does not require any response */ 7 198 7 199 dcl 1 login_server_logout_request aligned based (ls_request_ptr), 7 200 2 header like ls_request_header, /* request_type = LS_LOGOUT_REQUEST */ 7 201 2 handle bit (72); 7 202 7 203 dcl LS_LOGOUT_REQUEST_VERSION_1 char (8) internal static options (constant) initial ("lslg0001"); 7 204 7 205 7 206 7 207 /* "operator" request: sign the user on as an operator, the result of either 7 208* "login -operator" or "dial system". Note that in the latter case, there may 7 209* not have been a validate request (if the -user control argument wasn't specified), 7 210* in which case initializer_handle is null, and the person_id and project_id 7 211* are blank. 7 212**/ 7 213 7 214 dcl 1 login_server_operator_request aligned based (ls_request_ptr), 7 215 2 header like ls_request_header, /* request_type = LS_OPERATOR_REQUEST */ 7 216 2 initializer_handle bit (72) aligned, /* as provided in validate_response (if any) */ 7 217 2 terminate_event_channel fixed bin (71), /* event channel for wakeup when connection is dropped */ 7 218 2 person_id char (22), /* likewise */ 7 219 2 project_id char (9), /* likewise */ 7 220 2 virtual_channel char (32); /* if -virtual_channel specified, otherwise "" */ 7 221 7 222 dcl LOGIN_SERVER_OPERATOR_REQUEST_VERSION_1 char (8) internal static options (constant) initial ("lsor0001"); 7 223 7 224 7 225 7 226 /* Response types */ 7 227 7 228 dcl (LS_UNKNOWN_RESPONSE initial (100), /* unknown response type. */ 7 229 LS_VALIDATE_RESPONSE initial (101), /* response to validation request */ 7 230 LS_PROCESS_RESPONSE initial (102), /* response to process request */ 7 231 LS_LIST_RESPONSE initial (103), /* response to list request */ 7 232 LS_DIAL_RESPONSE initial (104), /* response to dial request */ 7 233 LS_TERMINATION_RESPONSE initial (105), /* to notify server of a logout */ 7 234 LS_NEW_PROC_RESPONSE initial (106), /* to notify server of process termination */ 7 235 LS_OPERATOR_RESPONSE initial (107)) /* response to operator request */ 7 236 fixed bin internal static options (constant); 7 237 7 238 dcl LS_RESPONSE_TYPES (100:107) char (10) internal static options (constant) initial 7 239 ( 7 240 "UNKNOWN", 7 241 "validate", 7 242 "process", 7 243 "list", 7 244 "dial", 7 245 "terminate", 7 246 "new_proc", 7 247 "operator"); 7 248 7 249 /* NOTE: the server_handle is not included in the response structures because 7 250* it is provided in the user_message_ structures */ 7 251 7 252 7 253 7 254 dcl ls_response_ptr pointer; 7 255 7 256 /* common header for all responses */ 7 257 7 258 dcl 1 login_server_response_header aligned based (ls_response_ptr), 7 259 2 message_type fixed bin, 7 260 2 header_pad bit (36), /* force doubleword alignment */ 7 261 2 version char (8); 7 262 7 263 7 264 7 265 /* "validate" response: indicate whether user_id/password is valid */ 7 266 7 267 dcl 1 login_server_validate_response aligned based (ls_response_ptr), 7 268 2 header like login_server_response_header, /* message_type = LS_VALIDATE_RESPONSE */ 7 269 2 handle bit (72), /* to be provided by the server in subsequent */ 7 270 /* messages for the same connection */ 7 271 2 authorization bit (72), /* default if none was supplied */ 7 272 2 authorization_range (2) bit (72), /* authorization range permitted for this user */ 7 273 2 status_code fixed bin (35), /* 0 iff user is validated */ 7 274 2 person_id char (22), /* primary name from the PNT */ 7 275 2 project_id char (9), /* primary name from the PNT or PDT */ 7 276 2 n_disconnected_processes fixed bin, /* number of disconnected processes for specified user */ 7 277 2 validate_pad fixed bin, 7 278 2 previous_login_info, /* for printing login message */ 7 279 3 time fixed bin (71), 7 280 3 terminal_type char (32), 7 281 3 terminal_id char (4), 7 282 2 incorrect_passwords fixed bin, /* number of times password given incorrectly */ 7 283 2 last_incorrect_password, /* where it came from */ 7 284 3 time fixed bin (71), 7 285 3 terminal_type char (32), 7 286 3 terminal_id char (4), 7 287 2 password_interval fixed bin, /* limit (in days) for password use or change */ 7 288 2 flags, 7 289 3 disconnect bit (1) unaligned, /* if "1"b, close the connection immediately */ 7 290 3 password_changed bit (1) unal, /* "1"b => changed password */ 7 291 3 default_auth_changed bit (1) unal, /* "1"b => changed default authorization */ 7 292 3 default_proj_changed bit (1) unal, /* "1"b => changed default project */ 7 293 3 password_expired bit (1) unal, /* "1"b => password not changed recently enough */ 7 294 3 password_unused_too_long bit (1) unal, /* "1"b => password hasn't been used recently */ 7 295 3 pad bit (30) unaligned; 7 296 7 297 dcl LS_VALIDATE_RESPONSE_VERSION_1 char (8) internal static options (constant) initial ("lsvs0001"); 7 298 7 299 7 300 7 301 /* "process" response: responds to request to create or connect */ 7 302 7 303 dcl 1 login_server_process_response aligned based (ls_response_ptr), 7 304 2 fixed_part, 7 305 3 header like login_server_response_header, /* message_type = LS_PROCESS_RESPONSE */ 7 306 3 status_code fixed bin (35), /* 0 iff process was created or requested process exists */ 7 307 3 process_id bit (36), 7 308 3 new_handle bit (72), /* changed if reconnecting, etc. to preexisting process, all 0 otherwise */ 7 309 3 authorization bit (72), /* authorization of created or existing process */ 7 310 3 process_group_id char (32), /* Person.Project.tag */ 7 311 3 process_number fixed bin, /* as in, "Your disconnected process #2..." */ 7 312 3 n_disconnected_processes fixed bin, /* valid even if code ^= 0, e.g., if request was ambiguous */ 7 313 3 start_event_channel fixed bin (71), /* event channel to wake up user process on */ 7 314 3 login_instance fixed bin, /* "This is your Nth interactive login" */ 7 315 3 accounting_info, /* for destroyed process, if any */ 7 316 4 cpu_usage fixed bin (71), 7 317 4 cost float bin, 7 318 3 flags, /* except for disconnect and logout, invalid if status_code ^= 0 */ 7 319 4 disconnect bit (1) unaligned, /* "1"b => break the connection immediately */ 7 320 4 logout bit (1) unaligned, /* "1"b => restart login sequence */ 7 321 4 created bit (1) unaligned, /* "1"b => new process created */ 7 322 4 connected bit (1) unaligned, /* "1"b => connected to old process */ 7 323 4 new_proc bit (1) unaligned, /* "1"b => connected after new_proc */ 7 324 4 destroyed bit (1) unaligned, /* "1"b => process destroyed */ 7 325 4 anonymous bit (1) unaligned, /* "1"b => anonymous user ("enter" or "enterp") */ 7 326 4 already_logged_in bit (1) unaligned, /* "1"b => user can't log in because he already is */ 7 327 4 message_coordinator bit (1) unaligned, /* "1"b => this connection is going to be used by the message coordinator */ 7 328 4 brief bit (1) unaligned, /* "1"b => brief user attribute from PDT */ 7 329 4 pad bit (26) unaligned, 7 330 3 initial_ring fixed bin, /* ring in which process was created */ 7 331 3 already_logged_in_info, /* relevant if already_logged_in flag is "1"b */ 7 332 4 connection_name char (32), 7 333 4 terminal_type char (32), 7 334 4 terminal_id char (4), 7 335 2 accounting_message_struc, /* character string assembled by initializer giving error or warnings about the user's account */ 7 336 3 accounting_message_length fixed bin, 7 337 3 accounting_message char (ls_process_response_accounting_message_length refer (login_server_process_response.accounting_message_length)); 7 338 7 339 dcl ls_process_response_accounting_message_length fixed bin; 7 340 7 341 dcl LOGIN_SERVER_PROCESS_RESPONSE_VERSION_1 char (8) internal static options (constant) initial ("lsps0001"); 7 342 7 343 7 344 7 345 /* "list" response: used if create request specified "list" command */ 7 346 7 347 dcl 1 login_server_list_response aligned based (ls_response_ptr), 7 348 2 header like login_server_response_header, /* message_type = LS_LIST_RESPONSE */ 7 349 2 n_processes fixed bin, /* number of disconnected processes (might be 0) */ 7 350 2 pad_header fixed bin, 7 351 2 process_info (login_server_list_response_n_processes refer (login_server_list_response.n_processes)), 7 352 3 creation_time fixed bin (71), 7 353 3 authorization bit (72), 7 354 3 initial_ring fixed bin, 7 355 3 pad_process_info fixed bin, 7 356 3 connection_info like user_connection_info; 7 357 7 358 dcl login_server_list_response_n_processes fixed bin; 7 359 7 360 dcl LOGIN_SERVER_LIST_RESPONSE_VERSION_1 char (8) internal static options (constant) initial ("lslr0001"); 7 361 7 362 7 363 7 364 /* "dial" response: response to dial request */ 7 365 7 366 dcl 1 login_server_dial_response aligned based (ls_response_ptr), 7 367 2 header like login_server_response_header, /* message_type = LS_DIAL_RESPONSE */ 7 368 2 status_code fixed bin (35), /* 0 iff dial server was found and all is OK */ 7 369 2 process_id bit (36), /* of dial server */ 7 370 2 process_group_id char (32), /* likewise */ 7 371 2 authorization bit (72), /* likewise, to make sure connection is usable */ 7 372 2 start_event_channel fixed bin (71), /* event channel to wake up user process on */ 7 373 2 process_ring fixed bin, /* initial ring of dial server */ 7 374 2 flags, 7 375 3 disconnect bit (1) unaligned, /* "1"b => break connection immediately */ 7 376 3 pad bit (35) unaligned; 7 377 7 378 dcl LOGIN_SERVER_DIAL_RESPONSE_VERSION_1 char (8) internal static options (constant) initial ("lsds0001"); 7 379 7 380 7 381 7 382 /* "termination" response: (not a response to anything): notify server that a 7 383* process terminated other than by logout */ 7 384 7 385 dcl 1 login_server_termination_response aligned based (ls_response_ptr), 7 386 2 header like login_server_response_header, /* message_type = LS_TERMINATION_RESPONSE */ 7 387 2 accounting_info, /* for printing in logout message */ 7 388 3 cpu_usage fixed bin (71), 7 389 3 cost float bin, 7 390 3 pad bit (33) unaligned, 7 391 2 process_id bit (36), /* of the logged-out process */ 7 392 2 process_group_id char (32), 7 393 2 status_code fixed bin (35), /* e.g., to indicate reason for fatal error */ 7 394 2 flags, 7 395 3 logout bit (1) aligned, /* no new process coming */ 7 396 3 automatic_logout bit (1) unaligned, 7 397 3 hold bit (1) unaligned, 7 398 3 brief bit (1) unaligned, 7 399 3 new_proc bit (1) unaligned, /* user-requested new process */ 7 400 3 fatal_error bit (1) unaligned, /* process died unexpectedly */ 7 401 3 fpe_caused_logout bit (1) unaligned, /* fatal error doesn't generate new process */ 7 402 3 fpe_loop bit (1) unaligned, /* fatal error loop: too many in too short a time */ 7 403 3 fpe_during_init bit (1) unaligned, /* fatal error during process initialization */ 7 404 3 offer_help bit (1) unaligned, /* print a message offering "help" */ 7 405 3 pad bit (27) unaligned; 7 406 7 407 dcl LOGIN_SERVER_TERMINATION_RESPONSE_VERSION_1 char (8) internal static options (constant) initial ("lstr0001"); 7 408 7 409 7 410 7 411 /* "new_proc" response: (not actually a response to anything) -- describes a 7 412* new process (after a termination_response) */ 7 413 7 414 dcl 1 login_server_new_proc_response aligned based (ls_response_ptr), 7 415 2 header like login_server_response_header, /* message_type = LS_NEW_PROC_RESPONSE */ 7 416 2 new_authorization bit (72), /* in case of new_proc -auth */ 7 417 2 new_start_event_channel fixed bin (71), /* event channel for starting new process */ 7 418 2 new_process_id bit (36); /* process_id of newly-created process */ 7 419 7 420 dcl LOGIN_SERVER_NEW_PROC_RESPONSE_VERSION_1 char (8) internal static options (constant) initial ("lsnp0001"); 7 421 7 422 7 423 7 424 /* "operator" response: indicates success or failure of operator request */ 7 425 7 426 dcl 1 login_server_operator_response aligned based (ls_response_ptr), 7 427 2 header like login_server_response_header, /* message_type = LS_OPERATOR_RESPONSE */ 7 428 2 status_code fixed bin (35), /* indicates success or failure */ 7 429 2 process_id bit (36), /* process ID of the message coordinator */ 7 430 2 process_group_id char (32), /* Person.Project.tag */ 7 431 2 event_channel fixed bin (71), /* event channel over which to send connect/disconnect wakeups */ 7 432 2 ring fixed bin, /* ring of message coordinator */ 7 433 2 flags, 7 434 3 disconnect bit (1) unaligned, /* "1" => break the connection immediately */ 7 435 3 mbz bit (35) unaligned; 7 436 7 437 7 438 dcl LOGIN_SERVER_OPERATOR_RESPONSE_VERSION_1 char (8) internal static options (constant) initial ("lsos0001"); 7 439 7 440 7 441 /* format of reply message sent to acknowledge receipt of a request */ 7 442 7 443 dcl ls_reply_message_ptr pointer; 7 444 7 445 dcl 1 ls_reply_message aligned based (ls_reply_message_ptr), 7 446 2 code fixed bin (35), 7 447 2 flags, 7 448 3 request_invalid bit (1) unaligned, /* "1"b => could not process request */ 7 449 3 response_sent bit (1) unaligned, /* "1"b => there is a response message */ 7 450 3 as_error_code bit (1) unaligned, /* "1"b => code is from as_error_table_ */ 7 451 3 do_not_reply bit (1) unaligned, /* "1"b => special flag for AS to prevent any reply from being sent to login server */ 7 452 3 mbz bit (32) unaligned; 7 453 7 454 /* The following are values used to identify the various requests internally; those from CREATE_REQ on 7 455* can appear as "command_type" in ls_process_requests. */ 7 456 7 457 dcl (LOGIN_REQ initial (1), 7 458 ENTER_REQ initial (2), 7 459 ENTERP_REQ initial (3), 7 460 CREATE_REQ initial (4), 7 461 DESTROY_REQ initial (5), 7 462 CONNECT_REQ initial (6), 7 463 NEW_PROC_REQ initial (7), 7 464 LIST_REQ initial (8)) 7 465 fixed bin internal static options (constant); 7 466 7 467 /* The following are the possible values for login_server_validate_request.network_connection_type. 7 468* They are used by the initializer to select a default process overseer and an instance tag. 7 469**/ 7 470 7 471 dcl (NETWORK_CONNECTION_LOGIN initial (1), 7 472 NETWORK_CONNECTION_DSA_FILE_TRANSFER initial (2)) 7 473 fixed bin internal static options (constant); 7 474 7 475 /* END INCLUDE FILE ... login_server_messages.incl.pl1 */ 364 365 /* BEGIN: ls_request_server_info.incl.pl1 * * * * * */ 8 2 8 3 /****^ HISTORY COMMENTS: 8 4* 1) change(86-04-05,Swenson), approve(87-07-14,MCR7737), 8 5* audit(87-07-14,Parisek), install(87-08-04,MR12.1-1056): 8 6* Initial coding. 8 7* END HISTORY COMMENTS */ 8 8 8 9 /* format: style4,indattr */ 8 10 8 11 dcl ls_request_server_info_ptr ptr automatic; 8 12 dcl 1 ls_request_server_info structure aligned 8 13 based (ls_request_server_info_ptr), 8 14 2 version char (8), 8 15 2 reply_ptr ptr, 8 16 2 flags, 8 17 3 initialized bit (1) unaligned, 8 18 3 pad1 bit (35) unaligned, 8 19 2 request_ms, 8 20 3 dirname char (168) unaligned, 8 21 3 entryname char (32) unaligned, 8 22 3 index fixed bin, 8 23 2 request_info, /* only valid while executing a request */ 8 24 3 sender_process_id bit (36) aligned; 8 25 8 26 dcl LS_REQUEST_SERVER_INFO_VERSION_1 char (8) initial ("lsrsi001") internal static options (constant); 8 27 8 28 /* END OF: ls_request_server_info.incl.pl1 * * * * * */ 365 366 /* BEGIN INCLUDE FILE sys_log_constants.incl.pl1 ... 82-09-24 E. N. Kittlitz */ 9 2 9 3 9 4 /****^ HISTORY COMMENTS: 9 5* 1) change(87-04-22,GDixon), approve(87-06-10,MCR7708), 9 6* audit(87-06-02,Parisek), install(87-08-04,MR12.1-1056): 9 7* Added sl_info structure and associated named constants for use in calling 9 8* sys_log_$general. 9 9* END HISTORY COMMENTS */ 9 10 9 11 9 12 /* format: style4 */ 9 13 9 14 dcl ( 9 15 SL_TYPE_CRASH init (-3), /* type message with banner & kill system */ 9 16 SL_TYPE_BEEP init (-2), /* type message with banner */ 9 17 SL_TYPE init (-1), /* type message */ 9 18 SL_LOG_SILENT init (0), /* log message */ 9 19 SL_LOG init (1), /* log & type message */ 9 20 SL_LOG_BEEP init (2), /* log & type message with banner */ 9 21 SL_LOG_CRASH init (3) /* log & type message with banner & kill system */ 9 22 ) fixed bin internal static options (constant); 9 23 9 24 dcl 1 sl_info aligned automatic, 9 25 2 version char(8), /* structure version */ 9 26 2 arg_list_ptr ptr, /* arg_list with values */ 9 27 2 loc, 9 28 3 (mode, severity, code, caller, data, class, ioa_msg) fixed bin, 9 29 /* These flags control where the corresponding data item is found.*/ 9 30 /* -1: data appears in the corresponding structure element below */ 9 31 /* 0: data is not present anywhere */ 9 32 /* +N: data is Nth item in argument list pointed to by */ 9 33 /* sl_info.arg_list_ptr. Upon return, data copied into */ 9 34 /* corresponding structure element. */ 9 35 /* if data = +N: */ 9 36 /* argN is data_ptr, argN+1 is data_len */ 9 37 /* if ioa_msg = +N: */ 9 38 /* argN+1, ... argLAST are arguments substituted into the */ 9 39 /* ioa_msg control string. The formatted msg is returned. */ 9 40 2 flags, 9 41 3 ioa_msg_is_error_code bit(1) unal, /* ioa_ctl is error code. */ 9 42 3 flags_pad bit(35) unal, 9 43 2 mode fixed bin, /* as-mode, command-mode */ 9 44 2 severity fixed bin, /* error severity */ 9 45 2 code fixed bin(35), /* error table code */ 9 46 2 caller char(65) varying, /* caller refname$entryname*/ 9 47 2 data, /* binary data ptr/length */ 9 48 3 data_ptr ptr, 9 49 3 data_lth fixed bin(21), 9 50 2 class char(10) varying, /* binary data class */ 9 51 2 ioa_msg char(500) varying; /* formatted message text */ 9 52 9 53 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 9 54 /* */ 9 55 /* If data values (eg, sl_info.caller) are passed in the argument list, */ 9 56 /* their data types should be as shown in the structure above, except that */ 9 57 /* character strings should be char(*) nonvarying. */ 9 58 /* */ 9 59 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 9 60 9 61 /* value for sl_info.version */ 9 62 dcl SL_INFO_version_1 char (8) int static options(constant) init("sl_info1"); 9 63 9 64 /* values for sl_info.mode */ 9 65 dcl (SL_INFO_as_mode init(1), 9 66 SL_INFO_command_mode init(2)) fixed bin int static options(constant); 9 67 9 68 /* values for sl_info.loc.(severity code caller data class ioa_ctl arg) */ 9 69 dcl (SL_INFO_arg_given_in_structure init(-1), 9 70 SL_INFO_arg_not_given init(0)) fixed bin int static options(constant); 9 71 9 72 9 73 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 9 74 /* */ 9 75 /* The following static structures are commonly used in the Login Server */ 9 76 /* user control software. */ 9 77 /* */ 9 78 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 9 79 9 80 /* Syntax: call Abort (severity, code, ioa_ctl, args); */ 9 81 9 82 dcl 1 sl_info_sev_code_msg aligned int static options(constant), 9 83 2 version char(8) init ("sl_info1"), 9 84 2 arg_list_ptr ptr init (null), 9 85 2 loc, 9 86 3 (mode init (-1), 9 87 severity init ( 1), 9 88 code init ( 2), 9 89 caller init (-1), 9 90 data init ( 0), 9 91 class init ( 0), 9 92 ioa_msg init ( 3)) fixed bin, 9 93 2 flags, 9 94 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 9 95 3 flags_pad bit(35) unal init ("0"b), 9 96 2 mode fixed bin init ( 1), 9 97 2 severity fixed bin init ( 0), 9 98 2 code fixed bin(35) init ( 0), 9 99 2 caller char(65) varying init (""), 9 100 2 data, 9 101 3 data_ptr ptr init (null), 9 102 3 data_lth fixed bin(21) init ( 0), 9 103 2 class char(10) varying init (""), 9 104 2 ioa_msg char(500) varying init (""); 9 105 9 106 /* Syntax: call Abort (severity, ioa_ctl, args); */ 9 107 9 108 dcl 1 sl_info_sev_msg aligned int static options(constant), 9 109 2 version char(8) init ("sl_info1"), 9 110 2 arg_list_ptr ptr init (null), 9 111 2 loc, 9 112 3 (mode init (-1), 9 113 severity init ( 1), 9 114 code init ( 0), 9 115 caller init (-1), 9 116 data init ( 0), 9 117 class init ( 0), 9 118 ioa_msg init ( 2)) fixed bin, 9 119 2 flags, 9 120 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 9 121 3 flags_pad bit(35) unal init ("0"b), 9 122 2 mode fixed bin init ( 1), 9 123 2 severity fixed bin init ( 0), 9 124 2 code fixed bin(35) init ( 0), 9 125 2 caller char(65) varying init (""), 9 126 2 data, 9 127 3 data_ptr ptr init (null), 9 128 3 data_lth fixed bin(21) init ( 0), 9 129 2 class char(10) varying init (""), 9 130 2 ioa_msg char(500) varying init (""); 9 131 9 132 /* Syntax: call Abort (severity, ioa_ctl_as_error_code, args); */ 9 133 9 134 dcl 1 sl_info_sev_coded_msg aligned int static options(constant), 9 135 2 version char(8) init ("sl_info1"), 9 136 2 arg_list_ptr ptr init (null), 9 137 2 loc, 9 138 3 (mode init (-1), 9 139 severity init ( 1), 9 140 code init ( 0), 9 141 caller init (-1), 9 142 data init ( 0), 9 143 class init ( 0), 9 144 ioa_msg init ( 2)) fixed bin, 9 145 2 flags, 9 146 3 ioa_msg_is_error_code bit(1) unal init ("1"b), 9 147 3 flags_pad bit(35) unal init ("0"b), 9 148 2 mode fixed bin init ( 1), 9 149 2 severity fixed bin init ( 0), 9 150 2 code fixed bin(35) init ( 0), 9 151 2 caller char(65) varying init (""), 9 152 2 data, 9 153 3 data_ptr ptr init (null), 9 154 3 data_lth fixed bin(21) init ( 0), 9 155 2 class char(10) varying init (""), 9 156 2 ioa_msg char(500) varying init (""); 9 157 9 158 9 159 /* Syntax: call Abort (severity, code, error_return_label, ioa_ctl, args); */ 9 160 9 161 dcl 1 sl_info_sev_code_label_msg aligned int static options(constant), 9 162 2 version char(8) init ("sl_info1"), 9 163 2 arg_list_ptr ptr init (null), 9 164 2 loc, 9 165 3 (mode init (-1), 9 166 severity init ( 1), 9 167 code init ( 2), 9 168 caller init (-1), 9 169 data init ( 0), 9 170 class init ( 0), 9 171 ioa_msg init ( 4)) fixed bin, 9 172 2 flags, 9 173 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 9 174 3 flags_pad bit(35) unal init ("0"b), 9 175 2 mode fixed bin init ( 1), 9 176 2 severity fixed bin init ( 0), 9 177 2 code fixed bin(35) init ( 0), 9 178 2 caller char(65) varying init (""), 9 179 2 data, 9 180 3 data_ptr ptr init (null), 9 181 3 data_lth fixed bin(21) init ( 0), 9 182 2 class char(10) varying init (""), 9 183 2 ioa_msg char(500) varying init (""); 9 184 9 185 /* Syntax: call Log_error (code, ioa_ctl, args); */ 9 186 9 187 dcl 1 sl_info_code_msg aligned int static options(constant), 9 188 2 version char(8) init ("sl_info1"), 9 189 2 arg_list_ptr ptr init (null), 9 190 2 loc, 9 191 3 (mode init (-1), 9 192 severity init (-1), 9 193 code init ( 1), 9 194 caller init (-1), 9 195 data init ( 0), 9 196 class init ( 0), 9 197 ioa_msg init ( 2)) fixed bin, 9 198 2 flags, 9 199 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 9 200 3 flags_pad bit(35) unal init ("0"b), 9 201 2 mode fixed bin init ( 1), 9 202 2 severity fixed bin init ( 0), 9 203 2 code fixed bin(35) init ( 0), 9 204 2 caller char(65) varying init (""), 9 205 2 data, 9 206 3 data_ptr ptr init (null), 9 207 3 data_lth fixed bin(21) init ( 0), 9 208 2 class char(10) varying init (""), 9 209 2 ioa_msg char(500) varying init (""); 9 210 9 211 9 212 /* Syntax: call Trace (ioa_ctl, args); */ 9 213 9 214 dcl 1 sl_info_msg aligned int static options(constant), 9 215 2 version char(8) init ("sl_info1"), 9 216 2 arg_list_ptr ptr init (null), 9 217 2 loc, 9 218 3 (mode init (-1), 9 219 severity init (-1), 9 220 code init ( 0), 9 221 caller init (-1), 9 222 data init ( 0), 9 223 class init ( 0), 9 224 ioa_msg init ( 1)) fixed bin, 9 225 2 flags, 9 226 3 ioa_msg_is_error_code bit(1) unal init ("0"b), 9 227 3 flags_pad bit(35) unal init ("0"b), 9 228 2 mode fixed bin init ( 1), 9 229 2 severity fixed bin init ( 0), 9 230 2 code fixed bin(35) init ( 0), 9 231 2 caller char(65) varying init (""), 9 232 2 data, 9 233 3 data_ptr ptr init (null), 9 234 3 data_lth fixed bin(21) init ( 0), 9 235 2 class char(10) varying init (""), 9 236 2 ioa_msg char(500) varying init (""); 9 237 9 238 /* END INCLUDE FILE sys_log_constants.incl.pl1 */ 366 367 /* BEGIN INCLUDE FILE ... uc_ls_handler.incl.pl1 */ 10 2 10 3 /****^ HISTORY COMMENTS: 10 4* 1) change(86-04-04,Swenson), approve(87-07-13,MCR7737), 10 5* audit(87-05-16,GDixon), install(87-08-04,MR12.1-1056): 10 6* Initial coding. 10 7* END HISTORY COMMENTS */ 10 8 10 9 dcl uc_ls_handle_ptr ptr automatic; 10 10 10 11 dcl 1 uc_ls_handle structure aligned based (uc_ls_handle_ptr), 10 12 2 process_type fixed bin (17) unaligned, 10 13 2 ute_index fixed bin (17) unaligned, 10 14 2 unique_id bit (36); 10 15 10 16 /* END INCLUDE FILE ... uc_ls_handler.incl.pl1 */ 367 368 /* BEGIN INCLUDE FILE ... uc_validate_info.incl.pl1 */ 11 2 11 3 /****^ HISTORY COMMENTS: 11 4* 1) change(87-05-14,GDixon), approve(87-07-13,MCR7737), 11 5* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 11 6* A) Explicitly declare pad fields. 11 7* B) Remove channel_info.line_type, since that is now stored in 11 8* ute.line_type. 11 9* C) Shift declarations to reduce padding needed for doubleword aligned 11 10* values. 11 11* END HISTORY COMMENTS */ 11 12 11 13 /* format: style4,indattr */ 11 14 11 15 dcl uc_validate_info_ptr ptr automatic; 11 16 11 17 dcl 1 uc_validate_info structure aligned 11 18 based (uc_validate_info_ptr), 11 19 2 input_info, 11 20 3 channel_info, 11 21 4 access_class_range (2) bit (72), 11 22 3 password char (32) unaligned, 11 23 3 flags aligned, 11 24 4 check_channel_access bit (1) unaligned, 11 25 4 check_anonymous_password bit (1) unaligned, 11 26 4 pad1 bit (36 - 2) unaligned, 11 27 2 output_info, 11 28 3 flags aligned, 11 29 4 password_expired bit (1) unaligned, 11 30 4 password_unused_too_long bit (1) unaligned, 11 31 4 changed_password bit (1) unaligned, 11 32 4 changed_default_project bit (1) unaligned, 11 33 4 default_authorization_changed bit (1) unaligned, 11 34 4 pad2 bit (36 - 5) unaligned, 11 35 3 number_disconnected_processes fixed bin, 11 36 3 pad3 fixed bin, 11 37 3 password_interval fixed bin (71), 11 38 3 last_bad_pw_info, 11 39 4 time fixed bin (71), 11 40 4 terminal_type char (32) unaligned, 11 41 4 terminal_id char (4) unaligned, 11 42 4 line_type fixed bin, 11 43 4 number fixed bin, 11 44 4 pad4 fixed bin, 11 45 3 last_login_info, 11 46 4 time fixed bin (71), 11 47 4 terminal_type char (32) unaligned, 11 48 4 terminal_id char (4) unaligned, 11 49 4 line_type fixed bin; 11 50 11 51 /* END INCLUDE FILE ... uc_validate_info.incl.pl1 */ 368 369 /* BEGIN INCLUDE FILE ... user_attributes.incl.pl1 TAC 10/79 */ 12 2 12 3 12 4 /****^ HISTORY COMMENTS: 12 5* 1) change(86-12-11,Brunelle), approve(87-07-13,MCR7741), 12 6* audit(87-04-19,GDixon), install(87-08-04,MR12.1-1056): 12 7* Add incl for abs_attributes.incl.pl1 to automatically include absentee 12 8* attribute switches. 12 9* 2) change(87-04-19,GDixon), approve(87-07-13,MCR7741), 12 10* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 12 11* A) Add USER_ATTRIBUTE_NAMES arrays. attribute_names.incl.pl1 can thereby 12 12* be deleted. 12 13* B) Add constants identifying attributes that can be changed by user at 12 14* login, etc. 12 15* END HISTORY COMMENTS */ 12 16 12 17 12 18 /* Modified 82-01-03 E. N. Kittlitz. to declare a complete level-1 structure */ 12 19 12 20 /* format: style4 */ 12 21 dcl 1 user_attributes aligned based, /* the user user_attributes */ 12 22 (2 administrator bit (1), /* 1 system administrator privileges */ 12 23 2 primary_line bit (1), /* 2 user has primary-line privileges */ 12 24 2 nobump bit (1), /* 2 user cannot be bumped */ 12 25 2 guaranteed_login bit (1), /* 4 user has guaranteed login privileges */ 12 26 2 anonymous bit (1), /* 5 used only in SAT. project may have anon.users */ 12 27 2 nopreempt bit (1), /* 6 used only in PDT. user not preemptable by others 12 28* . of same project (distinct from "nobump") */ 12 29 2 nolist bit (1), /* 7 don't list user on "who" */ 12 30 2 dialok bit (1), /* 8 user may have multiple consoles */ 12 31 2 multip bit (1), /* 9 user may have several processes */ 12 32 2 bumping bit (1), /* 10 in SAT. Can users in project bump each other? */ 12 33 2 brief bit (1), /* 11 no login or logout message */ 12 34 2 vinitproc bit (1), /* 12 user may change initial procedure */ 12 35 2 vhomedir bit (1), /* 13 user may change homedir */ 12 36 2 nostartup bit (1), /* 14 user does not want start_up.ec */ 12 37 2 sb_ok bit (1), /* 15 user may be standby */ 12 38 2 pm_ok bit (1), /* 16 user may be primary */ 12 39 2 eo_ok bit (1), /* 17 user may be edit_only */ 12 40 2 daemon bit (1), /* 18 user may login as daemon */ 12 41 2 vdim bit (1), /* 19 * OBSOLETE * user may change outer mdle */ 12 42 2 no_warning bit (1), /* 20 no warning message */ 12 43 2 igroup bit (1), /* 21 in SAT: this project may give its users individual groups 12 44* . in PDT: this user has an individual load control group */ 12 45 2 save_pdir bit (1), /* 22 save pdir after fatal process error */ 12 46 2 disconnect_ok bit (1), /* 23 ok to save user's disconnected processes */ 12 47 2 save_on_disconnect bit (1), /* 24 save them unless -nosave login arg is given */ 12 48 2 pad bit (12)) unaligned; 12 49 12 50 dcl USER_ATTRIBUTE_NAMES (0:24) char (20) int static options (constant) init 12 51 ("none", /* 0 */ 12 52 "administrator", /* 1 */ 12 53 "primary_line", /* 2 */ 12 54 "nobump", /* 3 */ 12 55 "guaranteed_login", /* 4 */ 12 56 "anonymous", /* 5 */ 12 57 "nopreempt", /* 6 */ 12 58 "nolist", /* 7 */ 12 59 "dialok", /* 8 */ 12 60 "multip", /* 9 */ 12 61 "bumping", /* 10 */ 12 62 "brief", /* 11 */ 12 63 "vinitproc", /* 12 */ 12 64 "vhomedir", /* 13 */ 12 65 "nostartup", /* 14 */ 12 66 "no_secondary", /* 15 */ 12 67 "no_prime", /* 16 */ 12 68 "no_eo", /* 17 */ 12 69 "daemon", /* 18 */ 12 70 "", /* 19 vdim OBSOLETE */ 12 71 "no_warning", /* 20 */ 12 72 "igroup", /* 21 */ 12 73 "save_pdir", /* 22 */ 12 74 "disconnect_ok", /* 23 */ 12 75 "save_on_disconnect"); /* 24 */ 12 76 12 77 dcl ALT_USER_ATTRIBUTE_NAMES (0:24) char (20) int static options (constant) init 12 78 ("null", /* 0 */ 12 79 "admin", /* 1 */ 12 80 "", "", /* 2 - 3 */ 12 81 "guar", /* 4 */ 12 82 "anon", /* 5 */ 12 83 "", "", /* 6 - 7 */ 12 84 "dial", /* 8 */ 12 85 "multi_login", /* 9 */ 12 86 "preempting", /* 10 */ 12 87 "", /* 11 */ 12 88 "v_process_overseer", /* 12 */ 12 89 "v_home_dir", /* 13 */ 12 90 "no_start_up", /* 14 */ 12 91 "no_sec", /* 15 */ 12 92 "no_primary", /* 16 */ 12 93 "no_edit_only", /* 17 */ 12 94 "op_login", /* 18 */ 12 95 "", /* 19 */ 12 96 "nowarn", /* 20 */ 12 97 "", "", "", /* 21 - 23 */ 12 98 "save"); /* 24 */ 12 99 12 100 dcl USER_ATTRIBUTES_always_allowed bit (36) aligned int static 12 101 options(constant) init("000000000010000000010000000000000000"b); 12 102 /* SAT/PDT attributes not needed for user to give (brief, no_warning) */ 12 103 12 104 dcl USER_ATTRIBUTES_default_in_pdt bit (36) aligned int static 12 105 options(constant) init("000000000010000000010000000000000000"b); 12 106 /* PDT value for (brief, no_warning) is default */ 12 107 12 108 dcl USER_ATTRIBUTES_settable_by_user bit (36) aligned int static 12 109 options(constant) init("000100000110010000010000000000000000"b); 12 110 /* user MIGHT set (bump, ns, brief, guar, no_warning) */ 12 111 13 1 /* BEGIN INCLUDE FILE ... user_abs_attributes.incl.pl1 */ 13 2 13 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 13 4 /* */ 13 5 /* This include file describes the attributes of an absentee job. It is */ 13 6 /* used by user_table_entry.incl.pl1, abs_message_format.incl.pl1 */ 13 7 /* and PIT.incl.pl1. */ 13 8 /* */ 13 9 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 13 10 13 11 /****^ HISTORY COMMENTS: 13 12* 1) change(86-12-08,GDixon), approve(87-07-13,MCR7741), 13 13* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 13 14* Separated abs_attributes from the request structure 13 15* (abs_message_format.incl.pl1) so that the identical structure could be 13 16* used in the ute structure (user_table_entry.incl.pl1). 13 17* 2) change(87-04-19,GDixon), approve(87-07-13,MCR7741), 13 18* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 13 19* Added ABS_ATTRIBUTE_NAMES array. 13 20* 3) change(87-11-11,Parisek), approve(88-02-11,MCR7849), 13 21* audit(88-03-22,Lippard), install(88-07-13,MR12.2-1047): 13 22* Added the no_start_up flag. SCP6367 13 23* END HISTORY COMMENTS */ 13 24 13 25 dcl 1 user_abs_attributes aligned based, 13 26 2 restartable bit (1) unaligned, /* 1 if request may be started over from the beginning */ 13 27 2 user_deferred_until_time bit (1) unaligned, /* 1 if request was specified as deferred */ 13 28 2 proxy bit (1) unaligned, /* 1 if request submitted for someone else */ 13 29 2 set_bit_cnt bit (1) unaligned, /* 1 if should set bit count after every write call */ 13 30 2 time_in_gmt bit (1) unaligned, /* 1 if deferred_time is in GMT */ 13 31 2 user_deferred_indefinitely bit (1) unaligned, /* 1 if operator is to say when to run it */ 13 32 2 secondary_ok bit (1) unaligned, /* 1 if ok to log in as secondary foreground user */ 13 33 2 truncate_absout bit (1) unaligned, /* 1 if .absout is to be truncated */ 13 34 2 restarted bit (1) unaligned, /* 1 if job is restarted */ 13 35 2 no_start_up bit (1) unaligned, /* 1 if requested -ns */ 13 36 2 attributes_pad bit (26) unaligned; 13 37 13 38 dcl ABS_ATTRIBUTE_NAMES (10) char (28) varying int static options(constant) init( 13 39 "restartable", 13 40 "user_deferred_until_time", 13 41 "proxy", 13 42 "set_bit_cnt", 13 43 "time_in_gmt", 13 44 "user_deferred_indefinitely", 13 45 "secondary_ok", 13 46 "truncate_absout", 13 47 "restarted", 13 48 "no_start_up"); 13 49 13 50 /* END INCLUDE FILE ... user_abs_attributes.incl.pl1 */ 13 51 12 112 12 113 12 114 /* END INCLUDE FILE ... user_attributes.incl.pl1 */ 369 370 /* BEGIN INCLUDE FILE ... user_table_entry.incl.pl1 */ 14 2 14 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 14 4 /* */ 14 5 /* This include file requires that the user include */ 14 6 /* user_attributes.incl.pl1 as well. It also includes */ 14 7 /* abs_attributes.incl.pl1 itself. */ 14 8 /* */ 14 9 /* This include file must be included to use absentee_user_table.incl.pl1, */ 14 10 /* answer_table.incl.pl1, and daemon_user_table.incl.pl1. */ 14 11 /* */ 14 12 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 14 13 14 14 /****^ HISTORY COMMENTS: 14 15* 1) change(81-12-21,Gilcrease), approve(86-03-27,MCR7370), 14 16* audit(86-06-23,Lippard), install(86-06-30,MR12.0-1082): 14 17* This comment for hcom. 14 18* 81-12-21 E. N. Kittlitz. derived from abs_user_tab.incl.pl1, 14 19* anstbl.incl.pl1, and dutbl.incl.pl1. 14 20* 82-01-02 E. N. Kittlitz. user_attributes.incl.pl1 changes 14 21* 84-04-04 BIM added privileged_dial_server and dial_server_ring 14 22* 84-07-12 BIM added min_process_authorization 14 23* 84-12-31 Keith Loepere added pdir_dir_quota 14 24* 85-01-16 by E. Swenson to add ute.session_uid 14 25* 2) change(85-11-16,Swenson), approve(87-07-13,MCR7737), 14 26* audit(87-04-14,GDixon), install(87-08-04,MR12.1-1056): 14 27* Added fields for DSA login server support. 14 28* 3) change(86-03-27,Gilcrease), approve(86-03-27,MCR7370), 14 29* audit(86-06-23,Lippard), install(86-06-30,MR12.0-1082): 14 30* Add truncate_absout and restarted bit for -truncate absout, SCP6297. 14 31* 4) change(86-04-09,Herbst), approve(87-07-13,MCR7697), 14 32* audit(87-04-14,GDixon), install(87-08-04,MR12.1-1056): 14 33* Added disconnection_rel_minutes. 14 34* 5) change(86-12-08,GDixon), approve(87-07-13,MCR7741), 14 35* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 14 36* Changed structure under ute.abs_attributes to use like structure in 14 37* abs_attributes.incl.pl1. This allows the same attributes to be used 14 38* in abs_message_format.incl.pl1 and pit.incl.pl1 as well as this include 14 39* file. 14 40* 6) change(87-04-14,GDixon), approve(87-07-13,MCR7741), 14 41* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 14 42* Move constants for ute.pw_flags.mask_ctl from answer_table.incl.pl1. 14 43* 7) change(87-04-16,GDixon), approve(87-07-13,MCR7741), 14 44* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 14 45* A) Global reorganization to locate things by type of data. 14 46* B) Eliminate ute.uflags.logged_in. 14 47* 8) change(87-05-10,GDixon), approve(87-07-13,MCR7741), 14 48* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 14 49* A) Reduced overlength person and project fields to proper length. 14 50* B) Adjusted dialed-console section to begin on even word boundary. 14 51* 9) change(87-05-13,GDixon), approve(87-07-13,MCR7741), 14 52* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 14 53* Add ute.line_type. 14 54* 10) change(87-11-19,Parisek), approve(88-02-11,MCR7849), 14 55* audit(88-02-23,Lippard), install(88-07-13,MR12.2-1047): 14 56* Added the lowest_ring element. Used the upper half of ute.highest_ring 14 57* for the storage. SCP6367 14 58* END HISTORY COMMENTS */ 14 59 14 60 /* format: style4 */ 14 61 14 62 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 14 63 /* */ 14 64 /* Each of the named sections below defines a type of data. Typing comes */ 14 65 /* from data associated with the ute entry itself, with the person, with */ 14 66 /* login argument data, from the main user of the data (eg, dialup_, */ 14 67 /* load_ctl_, login server). Each section begins on a double-word boundary */ 14 68 /* and is an even number of words long. The total structure is 300 decimal */ 14 69 /* words long. */ 14 70 /* */ 14 71 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 14 72 14 73 14 74 dcl UTE_version_4 fixed bin internal static options (constant) init (4); 14 75 14 76 dcl utep pointer automatic init (null); 14 77 14 78 dcl 1 ute based (utep) aligned, /* individual entry in one of the user control tables */ 14 79 14 80 /* Variables which give state of this entry */ 14 81 2 active fixed bin, /* state of entry. 0=>free. see dialup_values.incl.pl1 */ 14 82 2 process_type fixed bin, /* 1=interactive, 2=absentee, 3=daemon */ 14 83 2 ute_index fixed bin, /* index of ute in (anstbl autbl dutbl).entry array */ 14 84 2 next_free fixed bin, /* points to previous free entry */ 14 85 14 86 /* Information user gave about person_id associated with this entry. */ 14 87 2 person char (24) unal, /* user's name */ 14 88 2 project char (12) unal, /* project of absentee user */ 14 89 2 tag char (1) unal, /* instance tag - someday will be generated */ 14 90 2 tag_pad bit (27) unal, 14 91 2 anonymous fixed bin, /* 1 if anonymous, otherwise 0 */ 14 92 2 login_flags, /* flags for login data */ 14 93 3 cpw bit (1) unal, /* flag for wish to change password */ 14 94 3 generate_pw bit (1) unal, /* flag meaning -generate_pw (-gpw) was used. */ 14 95 3 special_pw unal, /* dial or slave */ 14 96 4 dial_pw bit (1) unal, /* true if dial -user */ 14 97 4 slave_pw bit (1) unal, /* true if slave -user */ 14 98 3 cdp bit (1) unal, /* flag for wish to change default project */ 14 99 3 cda bit (1) unal, /* flag to change default authorization */ 14 100 3 auth_given bit (1) unal, /* flag to mean -authorization was used. */ 14 101 3 noprint bit (1) unal, /* used at logout. inhibits printing. */ 14 102 3 operator bit (1) unaligned, /* user specified -operator on login command line */ 14 103 3 pw_pad bit (25) unal, /* spare parts */ 14 104 3 mask_ctl bit (2) unal, /* bits controlling pw mask. See constants, below */ 14 105 /* Must remain last in pw_flags so it does not */ 14 106 /* appear in PW_FLAG_VALUES array below. */ 14 107 2 generated_pw char (8) unal, /* user must type this as new password */ 14 108 2 old_password char (8) unal, /* must match user's previous password (value scrambled) */ 14 109 2 process_authorization bit (72), /* access_authorization of this process */ 14 110 14 111 /* Information user gave about process associated with this entry. */ 14 112 2 outer_module char (32) unal, /* Name of console dim */ 14 113 2 home_dir char (64) unal, /* initial home directory */ 14 114 2 init_proc char (64) unal, /* name of login responder */ 14 115 2 ip_len fixed bin (17) unal, /* length of initproc string */ 14 116 2 ss_len fixed bin (17) unal, /* length of subsystem string */ 14 117 2 ur_at like user_attributes aligned, /* bits on means attributes given by user */ 14 118 2 at like user_attributes aligned, /* bits on means attribute is on */ 14 119 2 initial_ring fixed bin, /* ring process will be started in */ 14 120 2 arg_count fixed bin, /* number of arguments to absentee control segment */ 14 121 2 ln_args fixed bin, /* length of string containing arguments */ 14 122 2 arg_lengths_ptr ptr, /* pointer to array of argument lengths */ 14 123 2 args_ptr ptr, /* pointer to arguments to absentee control segment */ 14 124 14 125 /* Most of the following information is relevant only to absentee processes */ 14 126 2 input_seg char (168) unal, /* pathname of absentee control segment */ 14 127 2 output_seg char (168) unal, /* pathname of absentee output file */ 14 128 2 request_id fixed bin (71), /* time request was entered - used as uid of request */ 14 129 2 reservation_id fixed bin (71), /* nonzero if job has a resource reservation */ 14 130 2 message_id bit (72), /* message segment id assoc with absentee request */ 14 131 2 deferred_time fixed bin (71), /* time at which absentee process should be created */ 14 132 2 max_cpu_time fixed bin (35), /* maximum number of seconds this process can run */ 14 133 2 queue fixed bin, /* -1=daemon;0=interactive or foreground;>0=queue no. 14 134* (but see uflags.adjust_abs_q_no). */ 14 135 2 real_queue fixed bin, /* real queue number; ute.queue gets fudged sometimes */ 14 136 2 abs_attributes aligned like user_abs_attributes, /* include abs_attributes.incl.pl1 */ 14 137 2 abs_flags, 14 138 3 abs_run bit (1) unal, /* on if job was started by abs run command */ 14 139 3 notify bit (1) unal, /* on if user wants notification at login and logout */ 14 140 3 abs_flags_pad bit (34) unal, 14 141 2 abs_group char (8) unal, /* original group before load_ctl_ moves it to absentee group */ 14 142 2 sender char (32) unal, /* name of RJE station that job is from */ 14 143 2 proxy_person char (28) unal, /* name of user who actually entered the request, if proxy */ 14 144 2 proxy_project char (9) unal, 14 145 2 proxy_project_pad char (3) unal, 14 146 2 abs_pad fixed bin, 14 147 14 148 /* Information about process actually created */ 14 149 2 proc_id bit (36), /* process id of absentee process */ 14 150 2 session_uid fixed bin (35), /* Unique authentication session id */ 14 151 2 process_authorization_range (2) bit (72) aligned, 14 152 2 audit bit (36), /* audit flags for user */ 14 153 2 lot_size fixed bin, /* Size of linkage offset table */ 14 154 2 kst_size fixed bin, /* Size of process known segment table */ 14 155 2 cls_size fixed bin, /* Size of process combined linkage */ 14 156 2 sus_channel fixed bin (71), /* event channel on which suspended process is blocked */ 14 157 2 lowest_ring fixed bin (17) unal, /* lowest ring permitted */ 14 158 2 highest_ring fixed bin (17) unal, /* highest ring permitted */ 14 159 2 pdir_lvix fixed bin (17) unal, /* index in disk table of lv where pdir is */ 14 160 2 pdir_quota fixed bin (17) unal, /* process directory quota */ 14 161 2 pdir_dir_quota fixed bin (17) unal, /* process directory quota for dirs */ 14 162 2 pdir_pad fixed bin(17) unal, 14 163 2 process_pad fixed bin, 14 164 14 165 /* Information about primary terminal associated with this entry */ 14 166 2 tty_name char (32) unal, /* absentee=>"abs1", etc. daemon=>"bk", etc. */ 14 167 2 terminal_type char (32) unaligned, /* terminal type */ 14 168 2 line_type fixed bin, /* line type */ 14 169 2 tty_id_code char (4) unal, /* "none" for absentee */ 14 170 2 network_connection_type fixed bin, /* see net_event_message.incl.pl1 */ 14 171 2 channel ptr unal, /* points to CDT entry for user, if any */ 14 172 14 173 /* Variables useful for dialed terminals */ 14 174 2 ndialed_consoles fixed bin, /* if master, number of slaves */ 14 175 2 dial_qualifier char (22) unal, /* first argument to dial command */ 14 176 2 dial_server_ring fixed bin (3) unsigned unaligned, /* dial server intends to attach dialing in channels at this ring. */ 14 177 2 dial_server_flags, 14 178 3 registered_dial_server bit (1) unal, /* process is a registered dial server */ 14 179 3 privileged_dial_server bit (1) unal, /* "1"b -> serves range of AIM classes */ 14 180 3 dial_server_flags_pad bit (13) unal, /* fill out the word */ 14 181 2 dial_ev_chn fixed bin (71), /* if master, control event channel */ 14 182 14 183 /* Information about usage/accounting. Device usage meters are in a 14 184* separate segment, "devtab" */ 14 185 2 pdtep ptr, /* ptr to user's pdt entry, where usage meters live */ 14 186 2 cpu_this_process fixed bin (71), /* cpu used so far this process */ 14 187 2 cpu_usage fixed bin (71), /* total cpu time used in this session */ 14 188 2 mem_usage fixed bin (71), /* memory usage for previous processes in session */ 14 189 2 mem_this_process fixed bin (71), /* memory usage at last update */ 14 190 2 last_update_time fixed bin (71), /* time of last account update */ 14 191 2 session_cost float bin, /* dollar cost of session, for printing in logout messages */ 14 192 2 ndevices fixed bin, /* Count of attached devices */ 14 193 2 device_head fixed bin, /* Table index of head of device chain */ 14 194 2 device_tail fixed bin, /* Table index of tail of device chain */ 14 195 2 rs_number fixed bin (6) unsigned unal, /* rate structure number */ 14 196 2 rs_number_pad bit(30) unal, 14 197 2 usage_pad fixed bin, 14 198 14 199 /* Information for dialup_ (control variables). */ 14 200 2 event fixed bin (71), /* event associated with channel or user manager */ 14 201 2 uprojp ptr, /* ptr to user project sat entry */ 14 202 2 login_time fixed bin (71), /* time when absentee user approved by lg_ctl_ */ 14 203 2 cant_bump_until fixed bin (71), /* bump-protection clock */ 14 204 2 recent_fatal_error_time fixed bin (71), /* time of first error in the suspected loop */ 14 205 2 recent_fatal_error_count fixed bin, /* counter to detect fatal process error loops */ 14 206 2 failure_reason fixed bin, /* why login refused 1=lg_ctl, 2=act_ctl, 3=load_ctl */ 14 207 2 count fixed bin, /* counter for logins and dialups */ 14 208 2 n_processes fixed bin, /* number of processes created in this session */ 14 209 2 lock_value fixed bin, /* number of locks set for this entry */ 14 210 2 login_result fixed bin, /* 0=logged in;1=hopeless,hang him up;2=allow another attempt */ 14 211 2 login_code char (8) unal, /* login command from LOGIN line */ 14 212 2 preempted fixed bin, /* if ^= 0 user preempted (never for abs) */ 14 213 2 destroy_flag fixed bin, /* >8 when awaiting destroy */ 14 214 2 logout_type char (4) unal, /* type of logout */ 14 215 2 logout_index fixed bin, /* to save logout handler index while waiting for termsgnl */ 14 216 2 disconnection_rel_minutes fixed bin (17) unal, /* disconnected this many minutes after login_time */ 14 217 2 next_disconnected_ate_index fixed bin (17) unal, /* thread of list of user's disconnected processes */ 14 218 2 work_class fixed bin, /* work class used by priority scheduler */ 14 219 2 group char (8) unal, /* party group identifier */ 14 220 2 whotabx fixed bin, /* index of user's entry in whotab */ 14 221 14 222 2 uflags, /* Miscellaneous flags */ 14 223 3 dont_call_init_admin bit (1) unal, /* Call overseer directly */ 14 224 3 ip_given bit (1) unal, /* user gave an initproc arg on login line */ 14 225 3 ss_given bit (1) unal, /* initial_procedure contains a subsystem name */ 14 226 3 lvs_attached bit (1) unal, /* set and used by the lv_request_ procedure */ 14 227 3 send_initial_string bit (1) unal, /* initial string should be sent after login line read */ 14 228 3 adjust_abs_q_no bit (1) unal, /* this is an absentee job; user_profile.queue is NOT true Q # */ 14 229 3 foreground_secondary_ok bit (1) unal, /* ok to login foreground absentee job as secondary */ 14 230 3 foreground_job bit (1) unal, /* job was originally from foreground queue */ 14 231 3 sus_sent bit (1) unal, /* sus_ ips signal has been sent to process */ 14 232 3 suspended bit (1) unal, /* process has responded to sus_ signal */ 14 233 3 ignore_cpulimit bit (1) unal, /* process is released, but timer can't be turned off */ 14 234 3 deferral_logged bit (1) unal, /* abs job deferral has already been logged once */ 14 235 3 save_if_disconnected bit (1) unal, /* user wants process preserved across hangups */ 14 236 3 disconnected bit (1) unal, /* process is disconnected from terminal */ 14 237 3 disconnected_list bit (1) unal, /* this ate is on a list of disconnected processes */ 14 238 3 proc_create_ok bit (1) unal, /* lg_ctl_ has set the process creation variables */ 14 239 3 activity_can_unbump bit (1) unal, /* only bump pending is for inactivity */ 14 240 3 fpe_causes_logout bit (1) unal, /* "1"b means don't try to new_proc after fatal process error */ 14 241 3 user_specified_immediate bit (1) unal, /* "1"b -> don't wait around for process destruction. */ 14 242 3 uflags_pad bit (17) unal, 14 243 14 244 /* Information used by load_ctl_ for the process */ 14 245 2 user_weight fixed bin, /* usually 10 - used in load control */ 14 246 2 standby_line fixed bin, /* 0=user has primary line, 1=standby user */ 14 247 2 bump_grace fixed bin (71), /* bump grace in microseconds */ 14 248 14 249 14 250 /* Information for login server */ 14 251 2 login_server_info, 14 252 3 our_handle bit (72) aligned, /* how LS refers to us. */ 14 253 3 his_handle bit (72) aligned, /* how we talk to LS */ 14 254 3 termination_event_channel fixed bin (71), /* for process termination notifications to the LS */ 14 255 3 response_event_channel fixed bin (71), /* for other communications with the LS */ 14 256 3 process_id bit (36) aligned, /* process_id of login server */ 14 257 2 ls_pad (5) fixed bin; /* pad to 300 decimal words */ 14 258 14 259 /* values for ute.process_type */ 14 260 14 261 dcl (PT_INTERACTIVE initial (1), 14 262 PT_ABSENTEE initial (2), 14 263 PT_DAEMON initial (3)) fixed bin internal static options (constant); 14 264 14 265 dcl PROCESS_TYPE_NAMES (0:3) char(12) varying int static options(constant) init( 14 266 "INVALID-TYPE", 14 267 "interactive", 14 268 "absentee", 14 269 "daemon"); 14 270 14 271 dcl TABLE_NAMES (0:3) char(20) int static options(constant) init( 14 272 "UNKNOWN-TABLE", 14 273 "answer_table", 14 274 "absentee_user_table", 14 275 "daemon_user_table"); 14 276 14 277 14 278 /* values for ute.pw_flags.mask_ctl */ 14 279 14 280 dcl (DO_MASK init ("00"b), 14 281 DONT_MASK init ("01"b), 14 282 DERIVE_MASK init ("10"b)) bit (2) internal static options (constant); 14 283 14 284 dcl MASK_CTL_NAMES (0:3) char(12) varying int static options(constant) init( 14 285 "do_mask", "dont_mask", "derive_mask", ""); 14 286 14 287 14 288 /* names for ute.pw_flags */ 14 289 14 290 dcl PW_FLAG_NAMES (9) char (12) varying int static options(constant) init( 14 291 "cpw", 14 292 "generate_pw", 14 293 "dial_pw", 14 294 "slave_pw", 14 295 "cdp", 14 296 "cda", 14 297 "auth_given", 14 298 "noprint", 14 299 "operator"); 14 300 14 301 /* names for ute.uflags */ 14 302 14 303 dcl UFLAG_NAMES (19) char (24) varying int static options (constant) init ( 14 304 "dont_call_init_admin", 14 305 "ip_given", 14 306 "ss_given", 14 307 "lvs_attached", 14 308 "send_initial_string", 14 309 "adjust_abs_q_no", 14 310 "foreground_secondary_ok", 14 311 "foreground_job", 14 312 "sus_sent", 14 313 "suspended", 14 314 "ignore_cpulimit", 14 315 "deferral_logged", 14 316 "save_if_disconnected", 14 317 "disconnected", 14 318 "disconnected_list", 14 319 "proc_create_ok", 14 320 "activity_can_unbump", 14 321 "fpe_causes_logout", 14 322 "user_specified_immediate"); 14 323 14 324 /* names for ute.abs_flags */ 14 325 14 326 dcl ABS_FLAG_NAMES (2) char (8) varying int static options (constant) init ( 14 327 "abs_run", 14 328 "notify"); 14 329 14 330 /* names of ute.dial_server_flags */ 14 331 14 332 dcl DIAL_SERVER_FLAG_NAMES (2) char (12) varying int static options (constant) init ( 14 333 "registered", 14 334 "privileged"); 14 335 14 336 /* values of ute.login_result */ 14 337 14 338 dcl LOGIN_RESULT_VALUES (0:2) char(24) varying int static options(constant) init( 14 339 "logged in", 14 340 "login failed, hangup", 14 341 "login failed, try again"); 14 342 14 343 /* END INCLUDE FILE ... user_table_entry.incl.pl1 */ 370 371 372 end uc_ls_validate_request_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 07/13/88 0938.3 uc_ls_validate_request_.pl1 >special_ldd>install>MR12.2-1047>uc_ls_validate_request_.pl1 359 1 08/06/87 0913.4 as_data_.incl.pl1 >ldd>include>as_data_.incl.pl1 360 2 01/21/85 0912.2 as_wakeup_priorities.incl.pl1 >ldd>include>as_wakeup_priorities.incl.pl1 361 3 08/06/87 0913.4 dialup_values.incl.pl1 >ldd>include>dialup_values.incl.pl1 362 4 08/06/87 0913.4 installation_parms.incl.pl1 >ldd>include>installation_parms.incl.pl1 4-148 5 11/21/79 1458.3 rcp_init_flags.incl.pl1 >ldd>include>rcp_init_flags.incl.pl1 363 6 08/06/87 0913.4 line_types.incl.pl1 >ldd>include>line_types.incl.pl1 364 7 08/06/87 0913.4 login_server_messages.incl.pl1 >ldd>include>login_server_messages.incl.pl1 365 8 08/06/87 0913.5 ls_request_server_info.incl.pl1 >ldd>include>ls_request_server_info.incl.pl1 366 9 08/06/87 0913.5 sys_log_constants.incl.pl1 >ldd>include>sys_log_constants.incl.pl1 367 10 08/06/87 0913.5 uc_ls_handle.incl.pl1 >ldd>include>uc_ls_handle.incl.pl1 368 11 08/06/87 0913.6 uc_validate_info.incl.pl1 >ldd>include>uc_validate_info.incl.pl1 369 12 08/06/87 0913.6 user_attributes.incl.pl1 >ldd>include>user_attributes.incl.pl1 12-112 13 07/13/88 0900.1 user_abs_attributes.incl.pl1 >special_ldd>install>MR12.2-1047>user_abs_attributes.incl.pl1 370 14 07/13/88 0903.2 user_table_entry.incl.pl1 >special_ldd>install>MR12.2-1047>user_table_entry.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. ANONYMOUS constant fixed bin(17,0) initial dcl 101 ref 165 169 FALSE constant bit(1) initial dcl 104 ref 170 237 308 INT_LOGIN_PRIO 000272 constant fixed bin(17,0) initial dcl 2-32 set ref 139* LS_VALIDATE_REQUEST_VERSION_1 000252 constant char(8) initial packed unaligned dcl 7-97 set ref 129 129* LS_VALIDATE_RESPONSE constant fixed bin(17,0) initial dcl 7-228 ref 272 LS_VALIDATE_RESPONSE_VERSION_1 000250 constant char(8) initial packed unaligned dcl 7-297 ref 275 ME 000254 constant char(23) initial packed unaligned dcl 99 set ref 126* 350 NETWORK_CONNECTION_DSA_FILE_TRANSFER constant fixed bin(17,0) initial dcl 7-471 ref 158 NOT_ANONYMOUS constant fixed bin(17,0) initial dcl 101 ref 172 PT_INTERACTIVE 000275 constant fixed bin(17,0) initial dcl 14-261 set ref 135* P_code parameter fixed bin(35,0) dcl 71 set ref 55 262* P_ls_ipc_reply_ptr parameter pointer dcl 70 ref 55 121 P_ls_reply_data_lth parameter fixed bin(18,0) dcl 69 set ref 55 330* P_ls_reply_data_ptr parameter pointer dcl 68 ref 55 269 P_ls_request_lth parameter fixed bin(18,0) dcl 67 ref 55 P_ls_request_ptr parameter pointer dcl 66 ref 55 120 P_ls_request_server_info_ptr parameter pointer dcl 65 ref 55 119 SL_LOG 000275 constant fixed bin(17,0) initial dcl 9-14 set ref 136* 141* SL_LOG_SILENT 000300 constant fixed bin(17,0) initial dcl 9-14 set ref 129* TAG_INTERACTIVE constant char(1) initial packed unaligned dcl 3-93 ref 161 TAG_UFT constant char(1) initial packed unaligned dcl 3-93 ref 158 TRUE constant bit(1) initial dcl 104 ref 166 186 306 abort_label 000100 automatic label variable dcl 75 set ref 123* 354 access_class_range based bit(72) array level 4 in structure "uc_validate_info" dcl 11-17 in procedure "uc_ls_validate_request_" set ref 227* access_class_range 22 based bit(72) array level 4 in structure "login_server_validate_request" dcl 7-76 in procedure "uc_ls_validate_request_" ref 227 addr builtin function dcl 113 ref 150 352 352 anon_no_password 62(03) based bit(1) level 3 packed packed unaligned dcl 7-76 ref 168 anonymous 16 based fixed bin(17,0) level 2 in structure "ute" dcl 14-78 in procedure "uc_ls_validate_request_" set ref 165* 169* 172* anonymous 62(02) based bit(1) level 3 in structure "login_server_validate_request" packed packed unaligned dcl 7-76 in procedure "uc_ls_validate_request_" ref 164 any_other 000170 stack reference condition dcl 109 ref 126 arg_list_ptr 2 000206 automatic pointer level 2 dcl 9-24 set ref 351* as_any_other_handler_$no_cleanup 000010 constant entry external dcl 83 ref 126 as_data_$ls_message_buffer_cur_lth 000036 external static fixed bin(18,0) dcl 1-86 set ref 242* as_data_$rs_ptrs 000034 external static pointer array dcl 1-49 ref 320 as_error_table_$dialup_error 000026 external static fixed bin(35,0) dcl 93 ref 257 as_error_table_$tty_no_room 000030 external static fixed bin(35,0) dcl 94 set ref 136* asu_$setup_login_server_handle 000012 constant entry external dcl 84 ref 248 auth_given 17(06) based bit(1) level 3 in structure "ute" packed packed unaligned dcl 14-78 in procedure "uc_ls_validate_request_" set ref 186* auth_given 62(01) based bit(1) level 3 in structure "login_server_validate_request" packed packed unaligned dcl 7-76 in procedure "uc_ls_validate_request_" ref 185 authorization 42 based bit(72) level 2 in structure "login_server_validate_request" dcl 7-76 in procedure "uc_ls_validate_request_" ref 187 authorization 6 based bit(72) level 2 in structure "login_server_validate_response" dcl 7-267 in procedure "uc_ls_validate_request_" set ref 280* authorization_range 10 based bit(72) array level 2 dcl 7-267 set ref 282* auto_uc_validate_info 000104 automatic structure level 1 dcl 76 set ref 150 caller 17 000206 automatic varying char(65) level 2 dcl 9-24 set ref 350* cda 17(05) based bit(1) level 3 packed packed unaligned dcl 14-78 set ref 198* cdp 17(04) based bit(1) level 3 packed packed unaligned dcl 14-78 set ref 196* change_default_auth 62(05) based bit(1) level 3 packed packed unaligned dcl 7-76 ref 198 change_default_proj 62(06) based bit(1) level 3 packed packed unaligned dcl 7-76 ref 196 change_password 62(04) based bit(1) level 3 packed packed unaligned dcl 7-76 ref 191 changed_default_project 16(03) based bit(1) level 4 packed packed unaligned dcl 11-17 set ref 313 changed_password 16(02) based bit(1) level 4 packed packed unaligned dcl 11-17 set ref 309 channel_info based structure level 3 dcl 11-17 check_anonymous_password 14(01) based bit(1) level 4 packed packed unaligned dcl 11-17 set ref 166* 170* check_channel_access 14 based bit(1) level 4 packed packed unaligned dcl 11-17 set ref 237* code 000162 automatic fixed bin(35,0) dcl 77 in procedure "uc_ls_validate_request_" set ref 124* 139* 141 141* 257* 262 353* 354 code 16 000206 automatic fixed bin(35,0) level 2 in structure "sl_info" dcl 9-24 in procedure "uc_ls_validate_request_" set ref 353 connection_info 12 based structure level 3 dcl 7-76 connection_name 12 based char(32) level 4 dcl 7-76 ref 176 cpw 17 based bit(1) level 3 packed packed unaligned dcl 14-78 set ref 191* 201 cu_$arg_list_ptr 000040 constant entry external dcl 346 ref 351 current_password 40 based char(8) level 2 dcl 7-76 ref 204 207 currentsize builtin function dcl 113 ref 330 default_auth_changed 60(02) based bit(1) level 3 packed packed unaligned dcl 7-267 set ref 311* default_authorization_changed 16(04) based bit(1) level 4 packed packed unaligned dcl 11-17 set ref 311 default_proj_changed 60(03) based bit(1) level 3 packed packed unaligned dcl 7-267 set ref 313* disconnect 60 based bit(1) level 3 packed packed unaligned dcl 7-267 set ref 306* 308* error_table_$unimplemented_version 000032 external static fixed bin(35,0) dcl 95 set ref 129* event 376 based fixed bin(71,0) level 2 dcl 14-78 set ref 139* flags 62 based structure level 2 in structure "login_server_validate_request" dcl 7-76 in procedure "uc_ls_validate_request_" flags 16 based structure level 3 in structure "uc_validate_info" dcl 11-17 in procedure "uc_ls_validate_request_" flags 60 based structure level 2 in structure "login_server_validate_response" dcl 7-267 in procedure "uc_ls_validate_request_" flags 14 based structure level 3 in structure "uc_validate_info" dcl 11-17 in procedure "uc_ls_validate_request_" generate_pw 17(01) based bit(1) level 3 packed packed unaligned dcl 14-78 set ref 193* gpw 62 based bit(1) level 3 packed packed unaligned dcl 7-76 ref 193 handle 4 based bit(72) level 2 dcl 7-267 set ref 278* header based structure level 2 in structure "login_server_validate_response" dcl 7-267 in procedure "uc_ls_validate_request_" header based structure level 2 in structure "login_server_validate_request" dcl 7-76 in procedure "uc_ls_validate_request_" header_pad 1 based bit(36) level 3 dcl 7-267 set ref 274* his_handle 440 based bit(72) level 3 dcl 14-78 set ref 215* incorrect_passwords 43 based fixed bin(17,0) level 2 dcl 7-267 set ref 299* input_info based structure level 2 dcl 11-17 installation_parms based structure level 1 dcl 4-33 installation_parms_part_1 based structure level 1 dcl 4-40 installation_parms_resource_array_part based structure array level 1 unaligned dcl 4-144 ip 000164 automatic pointer dcl 78 set ref 320* 321 324 ipc_$decl_event_call_chn 000014 constant entry external dcl 85 ref 139 last_bad_pw_info 24 based structure level 3 dcl 11-17 last_incorrect_password 44 based structure level 2 dcl 7-267 last_login_info 42 based structure level 3 dcl 11-17 line_type 336 based fixed bin(17,0) level 2 in structure "ute" dcl 14-78 in procedure "uc_ls_validate_request_" set ref 182* line_type 37 based fixed bin(17,0) level 4 in structure "login_server_validate_request" dcl 7-76 in procedure "uc_ls_validate_request_" ref 182 login_flags 17 based structure level 2 dcl 14-78 login_result 415 based fixed bin(17,0) level 2 dcl 14-78 ref 306 login_server_info 436 based structure level 2 dcl 14-78 login_server_response_header based structure level 1 dcl 7-258 login_server_validate_request based structure level 1 dcl 7-76 login_server_validate_response based structure level 1 dcl 7-267 set ref 270* 330 ls_reply_message based structure level 1 dcl 7-445 set ref 148* ls_reply_message_ptr 000202 automatic pointer dcl 7-443 set ref 121* 148 ls_request_header based structure level 1 dcl 7-54 ls_request_ptr 000176 automatic pointer dcl 7-50 set ref 120* 129 129 156 157 158 164 168 174 176 178 180 182 185 187 191 193 196 198 202 204 207 213 215 219 221 227 ls_request_server_info based structure level 1 dcl 8-12 ls_request_server_info_ptr 000204 automatic pointer dcl 8-11 set ref 119* 217 ls_response_ptr 000200 automatic pointer dcl 7-254 set ref 269* 270 272 274 275 278 280 282 284 285 287 289 292 294 296 299 301 303 306 308 309 311 313 315 317 321 321 324 324 328 330 message_type based fixed bin(17,0) level 3 dcl 7-267 set ref 272* n_disconnected_processes 26 based fixed bin(17,0) level 2 dcl 7-267 set ref 289* network_connection_type 340 based fixed bin(17,0) level 2 in structure "ute" dcl 14-78 in procedure "uc_ls_validate_request_" set ref 174* network_connection_type 57 based fixed bin(17,0) level 2 in structure "login_server_validate_request" dcl 7-76 in procedure "uc_ls_validate_request_" ref 158 174 new_password 60 based char(8) level 2 dcl 7-76 ref 202 null builtin function dcl 113 ref 118 136 259 14-76 number 40 based fixed bin(17,0) level 4 dcl 11-17 set ref 299 number_disconnected_processes 17 based fixed bin(17,0) level 3 dcl 11-17 set ref 289 old_password 22 based char(8) level 2 packed packed unaligned dcl 14-78 set ref 204* operator 17(08) based bit(1) level 3 in structure "ute" packed packed unaligned dcl 14-78 in procedure "uc_ls_validate_request_" set ref 213* operator 62(07) based bit(1) level 3 in structure "login_server_validate_request" packed packed unaligned dcl 7-76 in procedure "uc_ls_validate_request_" ref 213 our_handle 436 based bit(72) level 3 dcl 14-78 ref 278 output_info 16 based structure level 2 dcl 11-17 pad 60(06) based bit(30) level 3 packed packed unaligned dcl 7-267 set ref 328* part_1 based structure level 2 dcl 4-33 password 4 based char(32) level 3 packed packed unaligned dcl 11-17 set ref 202* 207* password_change_interval 2042 based fixed bin(17,0) level 3 dcl 4-33 ref 324 password_changed 60(01) based bit(1) level 3 packed packed unaligned dcl 7-267 set ref 309* password_expiration_interval 2043 based fixed bin(17,0) level 3 dcl 4-33 ref 321 password_expired 60(04) based bit(1) level 3 in structure "login_server_validate_response" packed packed unaligned dcl 7-267 in procedure "uc_ls_validate_request_" set ref 315* 324 password_expired 16 based bit(1) level 4 in structure "uc_validate_info" packed packed unaligned dcl 11-17 in procedure "uc_ls_validate_request_" set ref 315 password_interval 57 based fixed bin(17,0) level 2 dcl 7-267 set ref 321* 324* password_unused_too_long 16(01) based bit(1) level 4 in structure "uc_validate_info" packed packed unaligned dcl 11-17 in procedure "uc_ls_validate_request_" set ref 317 password_unused_too_long 60(05) based bit(1) level 3 in structure "login_server_validate_response" packed packed unaligned dcl 7-267 in procedure "uc_ls_validate_request_" set ref 317* 321 person 4 based char(24) level 2 packed packed unaligned dcl 14-78 set ref 156* 285 person_id 15 based char(22) level 2 in structure "login_server_validate_response" dcl 7-267 in procedure "uc_ls_validate_request_" set ref 285* person_id 46 based char(22) level 2 in structure "login_server_validate_request" dcl 7-76 in procedure "uc_ls_validate_request_" ref 156 previous_login_info 30 based structure level 2 dcl 7-267 process_authorization 24 based bit(72) level 2 dcl 14-78 set ref 187* 280 process_authorization_range 300 based bit(72) array level 2 dcl 14-78 ref 282 process_id 446 based bit(36) level 3 dcl 14-78 set ref 217* project 12 based char(12) level 2 packed packed unaligned dcl 14-78 set ref 157* 287 project_id 23 based char(9) level 2 in structure "login_server_validate_response" dcl 7-267 in procedure "uc_ls_validate_request_" set ref 287* project_id 54 based char(9) level 2 in structure "login_server_validate_request" dcl 7-76 in procedure "uc_ls_validate_request_" ref 157 rcp_init_flags based structure level 1 packed packed unaligned dcl 5-8 reply_event_channel 6 based fixed bin(71,0) level 3 dcl 7-76 ref 219 reply_handle 10 based bit(72) level 3 dcl 7-76 ref 215 request_info 70 based structure level 2 dcl 8-12 request_version 2 based char(8) level 3 dcl 7-76 set ref 129 129* response_event_channel 444 based fixed bin(71,0) level 3 dcl 14-78 set ref 219* sender_process_id 70 based bit(36) level 3 dcl 8-12 ref 217 sl_info 000206 automatic structure level 1 dcl 9-24 set ref 349* 352 352 sl_info_sev_code_msg 000000 constant structure level 1 dcl 9-82 ref 349 status_code 14 based fixed bin(35,0) level 2 dcl 7-267 set ref 284* substr builtin function dcl 113 ref 285 287 sys_log_$general 000042 constant entry external dcl 347 ref 352 tag 15 based char(1) level 2 packed packed unaligned dcl 14-78 set ref 158* 161* terminal_id 54 based char(4) level 4 in structure "uc_validate_info" packed packed unaligned dcl 11-17 in procedure "uc_ls_validate_request_" set ref 296 terminal_id 42 based char(4) level 3 in structure "login_server_validate_response" dcl 7-267 in procedure "uc_ls_validate_request_" set ref 296* terminal_id 56 based char(4) level 3 in structure "login_server_validate_response" dcl 7-267 in procedure "uc_ls_validate_request_" set ref 303* terminal_id 36 based char(4) level 4 in structure "login_server_validate_request" dcl 7-76 in procedure "uc_ls_validate_request_" ref 178 terminal_id 36 based char(4) level 4 in structure "uc_validate_info" packed packed unaligned dcl 11-17 in procedure "uc_ls_validate_request_" set ref 303 terminal_type 44 based char(32) level 4 in structure "uc_validate_info" packed packed unaligned dcl 11-17 in procedure "uc_ls_validate_request_" set ref 294 terminal_type 46 based char(32) level 3 in structure "login_server_validate_response" dcl 7-267 in procedure "uc_ls_validate_request_" set ref 301* terminal_type 32 based char(32) level 3 in structure "login_server_validate_response" dcl 7-267 in procedure "uc_ls_validate_request_" set ref 294* terminal_type 26 based char(32) level 4 in structure "login_server_validate_request" dcl 7-76 in procedure "uc_ls_validate_request_" ref 180 terminal_type 326 based char(32) level 2 in structure "ute" packed packed unaligned dcl 14-78 in procedure "uc_ls_validate_request_" set ref 180* terminal_type 26 based char(32) level 4 in structure "uc_validate_info" packed packed unaligned dcl 11-17 in procedure "uc_ls_validate_request_" set ref 301 terminate_event_channel 44 based fixed bin(71,0) level 2 dcl 7-76 ref 221 termination_event_channel 442 based fixed bin(71,0) level 3 dcl 14-78 set ref 221* time 42 based fixed bin(71,0) level 4 in structure "uc_validate_info" dcl 11-17 in procedure "uc_ls_validate_request_" set ref 292 time 30 based fixed bin(71,0) level 3 in structure "login_server_validate_response" dcl 7-267 in procedure "uc_ls_validate_request_" set ref 292* tty_id_code 337 based char(4) level 2 packed packed unaligned dcl 14-78 set ref 178* tty_name 316 based char(32) level 2 packed packed unaligned dcl 14-78 set ref 176* uc_login_ 000016 constant entry external dcl 86 ref 244 uc_proc_term_handler_ 000020 constant entry external dcl 87 ref 139 139 uc_validate_info based structure level 1 dcl 11-17 set ref 151* uc_validate_info_ptr 000456 automatic pointer dcl 11-15 set ref 150* 151 166 170 202 207 227 237 244* 289 292 294 296 299 301 303 309 311 313 315 317 unspec builtin function dcl 113 set ref 148* 151* 270* user_abs_attributes based structure level 1 dcl 13-25 user_attributes based structure level 1 dcl 12-21 user_connection_info based structure level 1 dcl 7-65 user_table_mgr_$allocate 000022 constant entry external dcl 88 ref 135 user_table_mgr_$free 000024 constant entry external dcl 89 ref 259 ute based structure level 1 dcl 14-78 utep 000460 automatic pointer initial dcl 14-76 set ref 118* 135* 136 139 139* 141* 156 157 158 161 165 169 172 174 176 178 180 182 186 187 191 193 196 198 201 204 213 215 217 219 221 244* 248* 259 259* 14-76* 278 280 282 285 287 306 validate_code 000166 automatic fixed bin(35,0) dcl 79 set ref 244* 248 253 284 version 2 based char(8) level 3 dcl 7-267 set ref 275* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ABS_ATTRIBUTE_NAMES internal static varying char(28) initial array dcl 13-38 ABS_DEFER_PRIO internal static fixed bin(17,0) initial dcl 2-35 ABS_FLAG_NAMES internal static varying char(8) initial array dcl 14-326 ABS_LOGIN_PRIO internal static fixed bin(17,0) initial dcl 2-36 ACCT_UPDATE_PRIO internal static fixed bin(17,0) initial dcl 2-28 ACTIVE_VALUES internal static char(18) initial array dcl 3-86 ALT_USER_ATTRIBUTE_NAMES internal static char(20) initial array packed unaligned dcl 12-77 AS_REQUEST_PRIO internal static fixed bin(17,0) initial dcl 2-30 Automatic_authentication internal static fixed bin(17,0) initial dcl 5-16 CONNECT_REQ internal static fixed bin(17,0) initial dcl 7-457 CORE_FLUSH_PRIO internal static fixed bin(17,0) initial dcl 2-37 CREATE_REQ internal static fixed bin(17,0) initial dcl 7-457 DAEMON_LOGIN_PRIO internal static fixed bin(17,0) initial dcl 2-29 DERIVE_MASK internal static bit(2) initial packed unaligned dcl 14-280 DESTROY_REQ internal static fixed bin(17,0) initial dcl 7-457 DIAL_SERVER_FLAG_NAMES internal static varying char(12) initial array dcl 14-332 DONT_MASK internal static bit(2) initial packed unaligned dcl 14-280 DO_MASK internal static bit(2) initial packed unaligned dcl 14-280 ENTERP_REQ internal static fixed bin(17,0) initial dcl 7-457 ENTER_REQ internal static fixed bin(17,0) initial dcl 7-457 INSTALL_PRIO internal static fixed bin(17,0) initial dcl 2-31 LINE_1050 internal static fixed bin(17,0) initial dcl 6-22 LINE_2741 internal static fixed bin(17,0) initial dcl 6-22 LINE_ARDS internal static fixed bin(17,0) initial dcl 6-22 LINE_ASCII internal static fixed bin(17,0) initial dcl 6-22 LINE_ASYNC1 internal static fixed bin(17,0) initial dcl 6-22 LINE_ASYNC2 internal static fixed bin(17,0) initial dcl 6-22 LINE_ASYNC3 internal static fixed bin(17,0) initial dcl 6-22 LINE_BSC internal static fixed bin(17,0) initial dcl 6-22 LINE_COLTS internal static fixed bin(17,0) initial dcl 6-22 LINE_DSA internal static fixed bin(17,0) initial dcl 6-22 LINE_ETX internal static fixed bin(17,0) initial dcl 6-22 LINE_G115 internal static fixed bin(17,0) initial dcl 6-22 LINE_HASP_OPR internal static fixed bin(17,0) initial dcl 6-22 LINE_HDLC internal static fixed bin(17,0) initial dcl 6-22 LINE_MC internal static fixed bin(17,0) initial dcl 6-22 LINE_POLLED_VIP internal static fixed bin(17,0) initial dcl 6-22 LINE_SYNC1 internal static fixed bin(17,0) initial dcl 6-22 LINE_SYNC2 internal static fixed bin(17,0) initial dcl 6-22 LINE_SYNC3 internal static fixed bin(17,0) initial dcl 6-22 LINE_SYNCH internal static fixed bin(17,0) initial dcl 6-22 LINE_TELNET internal static fixed bin(17,0) initial dcl 6-22 LINE_UNKNOWN internal static fixed bin(17,0) initial dcl 6-22 LINE_VIP internal static fixed bin(17,0) initial dcl 6-22 LINE_X25LAP internal static fixed bin(17,0) initial dcl 6-22 LIST_REQ internal static fixed bin(17,0) initial dcl 7-457 LOGIN_REQ internal static fixed bin(17,0) initial dcl 7-457 LOGIN_RESULT_VALUES internal static varying char(24) initial array dcl 14-338 LOGIN_SERVER_DIAL_RESPONSE_VERSION_1 internal static char(8) initial packed unaligned dcl 7-378 LOGIN_SERVER_LIST_RESPONSE_VERSION_1 internal static char(8) initial packed unaligned dcl 7-360 LOGIN_SERVER_NEW_PROC_RESPONSE_VERSION_1 internal static char(8) initial packed unaligned dcl 7-420 LOGIN_SERVER_OPERATOR_REQUEST_VERSION_1 internal static char(8) initial packed unaligned dcl 7-222 LOGIN_SERVER_OPERATOR_RESPONSE_VERSION_1 internal static char(8) initial packed unaligned dcl 7-438 LOGIN_SERVER_PROCESS_RESPONSE_VERSION_1 internal static char(8) initial packed unaligned dcl 7-341 LOGIN_SERVER_TERMINATION_RESPONSE_VERSION_1 internal static char(8) initial packed unaligned dcl 7-407 LS_DIAL_REQUEST internal static fixed bin(17,0) initial dcl 7-31 LS_DIAL_REQUEST_VERSION_1 internal static char(8) initial packed unaligned dcl 7-180 LS_DIAL_RESPONSE internal static fixed bin(17,0) initial dcl 7-228 LS_DISCONNECT_REQUEST internal static fixed bin(17,0) initial dcl 7-31 LS_DISCONNECT_REQUEST_VERSION_1 internal static char(8) initial packed unaligned dcl 7-193 LS_LIST_REQUEST internal static fixed bin(17,0) initial dcl 7-31 LS_LIST_REQUEST_VERSION_1 internal static char(8) initial packed unaligned dcl 7-160 LS_LIST_RESPONSE internal static fixed bin(17,0) initial dcl 7-228 LS_LOGOUT_REQUEST internal static fixed bin(17,0) initial dcl 7-31 LS_LOGOUT_REQUEST_VERSION_1 internal static char(8) initial packed unaligned dcl 7-203 LS_NEW_PROC_RESPONSE internal static fixed bin(17,0) initial dcl 7-228 LS_OPERATOR_REQUEST internal static fixed bin(17,0) initial dcl 7-31 LS_OPERATOR_RESPONSE internal static fixed bin(17,0) initial dcl 7-228 LS_PROCESS_REQUEST internal static fixed bin(17,0) initial dcl 7-31 LS_PROCESS_REQUEST_VERSION_1 internal static char(8) initial packed unaligned dcl 7-150 LS_PROCESS_RESPONSE internal static fixed bin(17,0) initial dcl 7-228 LS_REQUEST_HEADER_VERSION_1 internal static char(8) initial packed unaligned dcl 7-63 LS_REQUEST_SERVER_INFO_VERSION_1 internal static char(8) initial packed unaligned dcl 8-26 LS_REQUEST_TYPES internal static char(10) initial array packed unaligned dcl 7-40 LS_RESPONSE_TYPES internal static char(10) initial array packed unaligned dcl 7-238 LS_TERMINATION_RESPONSE internal static fixed bin(17,0) initial dcl 7-228 LS_UNKNOWN_RESPONSE internal static fixed bin(17,0) initial dcl 7-228 LS_VALIDATE_REQUEST internal static fixed bin(17,0) initial dcl 7-31 MASK_CTL_NAMES internal static varying char(12) initial array dcl 14-284 MC_PRIO internal static fixed bin(17,0) initial dcl 2-25 MPX_LOAD_PRIO internal static fixed bin(17,0) initial dcl 2-33 Manual_authentication internal static fixed bin(17,0) initial dcl 5-16 NETWORK_CONNECTION_LOGIN internal static fixed bin(17,0) initial dcl 7-471 NEW_PROC_REQ internal static fixed bin(17,0) initial dcl 7-457 NOW_DIALED internal static fixed bin(17,0) initial dcl 3-76 NOW_DIALED_OUT internal static fixed bin(17,0) initial dcl 3-76 NOW_DIALING internal static fixed bin(17,0) initial dcl 3-76 NOW_FREE internal static fixed bin(17,0) initial dcl 3-76 NOW_HAS_PROCESS internal static fixed bin(17,0) initial dcl 3-76 NOW_HUNG_UP internal static fixed bin(17,0) initial dcl 3-76 NOW_LISTENING internal static fixed bin(17,0) initial dcl 3-76 NOW_LOGGED_IN internal static fixed bin(17,0) initial dcl 3-76 No_authentication internal static fixed bin(17,0) initial dcl 5-16 Nominal_authentication internal static fixed bin(17,0) initial dcl 5-16 PREEMPT_BUMPED internal static fixed bin(17,0) initial dcl 3-132 PREEMPT_BUMPED_NO_TERM internal static fixed bin(17,0) initial dcl 3-132 PREEMPT_LOAD_CTL internal static fixed bin(17,0) initial dcl 3-132 PREEMPT_TERMSGNL_RECEIVED internal static fixed bin(17,0) initial dcl 3-132 PREEMPT_TERM_SENT internal static fixed bin(17,0) initial dcl 3-132 PREEMPT_UNBUMP internal static fixed bin(17,0) initial dcl 3-132 PREEMPT_UNBUMP_IGNORE_ALARM internal static fixed bin(17,0) initial dcl 3-132 PREEMPT_VALUES internal static varying char(28) initial array dcl 3-142 PROCESS_TYPE_NAMES internal static varying char(12) initial array dcl 14-265 PT_ABSENTEE internal static fixed bin(17,0) initial dcl 14-261 PT_ALARM internal static fixed bin(17,0) initial dcl 3-106 PT_BUMP internal static fixed bin(17,0) initial dcl 3-106 PT_DAEMON internal static fixed bin(17,0) initial dcl 14-261 PT_DESTROY_REQUEST internal static fixed bin(17,0) initial dcl 3-106 PT_DETACH internal static fixed bin(17,0) initial dcl 3-106 PT_FPE internal static fixed bin(17,0) initial dcl 3-106 PT_HANGUP internal static fixed bin(17,0) initial dcl 3-106 PT_LOGOUT internal static fixed bin(17,0) initial dcl 3-106 PT_NEW_PROC_AUTH internal static fixed bin(17,0) initial dcl 3-106 PT_NEW_PROC_REQUEST internal static fixed bin(17,0) initial dcl 3-106 PT_OPERATOR_TERMINATE internal static fixed bin(17,0) initial dcl 3-106 PT_SHUTDOWN internal static fixed bin(17,0) initial dcl 3-106 PT_UNBUMP internal static fixed bin(17,0) initial dcl 3-106 PW_FLAG_NAMES internal static varying char(12) initial array dcl 14-290 SHUTDOWN_PRIO internal static fixed bin(17,0) initial dcl 2-27 SL_INFO_arg_given_in_structure internal static fixed bin(17,0) initial dcl 9-69 SL_INFO_arg_not_given internal static fixed bin(17,0) initial dcl 9-69 SL_INFO_as_mode internal static fixed bin(17,0) initial dcl 9-65 SL_INFO_command_mode internal static fixed bin(17,0) initial dcl 9-65 SL_INFO_version_1 internal static char(8) initial packed unaligned dcl 9-62 SL_LOG_BEEP internal static fixed bin(17,0) initial dcl 9-14 SL_LOG_CRASH internal static fixed bin(17,0) initial dcl 9-14 SL_TYPE internal static fixed bin(17,0) initial dcl 9-14 SL_TYPE_BEEP internal static fixed bin(17,0) initial dcl 9-14 SL_TYPE_CRASH internal static fixed bin(17,0) initial dcl 9-14 STATE_VALUES internal static char(15) initial array dcl 3-70 SYSERR_COPY_PRIO internal static fixed bin(17,0) initial dcl 2-26 TABLE_NAMES internal static char(20) initial array packed unaligned dcl 14-271 TAG_ABSENTEE internal static char(1) initial packed unaligned dcl 3-93 TAG_DAEMON internal static char(1) initial packed unaligned dcl 3-93 TAG_PROXY internal static char(1) initial packed unaligned dcl 3-93 TRA_VEC_VALUES internal static char(32) initial array dcl 3-54 TTY_DIALED internal static fixed bin(17,0) initial dcl 3-64 TTY_HUNG internal static fixed bin(17,0) initial dcl 3-64 TTY_KNOWN internal static fixed bin(17,0) initial dcl 3-64 TTY_MASKED internal static fixed bin(17,0) initial dcl 3-64 UFLAG_NAMES internal static varying char(24) initial array dcl 14-303 USER_ATTRIBUTES_always_allowed internal static bit(36) initial dcl 12-100 USER_ATTRIBUTES_default_in_pdt internal static bit(36) initial dcl 12-104 USER_ATTRIBUTES_settable_by_user internal static bit(36) initial dcl 12-108 USER_ATTRIBUTE_NAMES internal static char(20) initial array packed unaligned dcl 12-50 UTE_version_4 internal static fixed bin(17,0) initial dcl 14-74 WAIT_ANSWERBACK internal static fixed bin(17,0) initial dcl 3-25 WAIT_BEFORE_HANGUP internal static fixed bin(17,0) initial dcl 3-25 WAIT_CONNECT_REQUEST internal static fixed bin(17,0) initial dcl 3-25 WAIT_DELETE_CHANNEL internal static fixed bin(17,0) initial dcl 3-25 WAIT_DESTROY_REQUEST internal static fixed bin(17,0) initial dcl 3-25 WAIT_DETACH internal static fixed bin(17,0) initial dcl 3-25 WAIT_DIALUP internal static fixed bin(17,0) initial dcl 3-25 WAIT_DIAL_OUT internal static fixed bin(17,0) initial dcl 3-25 WAIT_DIAL_RELEASE internal static fixed bin(17,0) initial dcl 3-25 WAIT_DISCARD_WAKEUPS internal static fixed bin(17,0) initial dcl 3-25 WAIT_FIN_PRIV_ATTACH internal static fixed bin(17,0) initial dcl 3-25 WAIT_FIN_TANDD_ATTACH internal static fixed bin(17,0) initial dcl 3-25 WAIT_GREETING_MSG internal static fixed bin(17,0) initial dcl 3-25 WAIT_HANGUP internal static fixed bin(17,0) initial dcl 3-25 WAIT_LOGIN_ARGS internal static fixed bin(17,0) initial dcl 3-25 WAIT_LOGIN_LINE internal static fixed bin(17,0) initial dcl 3-25 WAIT_LOGOUT internal static fixed bin(17,0) initial dcl 3-25 WAIT_LOGOUT_HOLD internal static fixed bin(17,0) initial dcl 3-25 WAIT_LOGOUT_SIG internal static fixed bin(17,0) initial dcl 3-25 WAIT_NEW_PASSWORD internal static fixed bin(17,0) initial dcl 3-25 WAIT_NEW_PROC internal static fixed bin(17,0) initial dcl 3-25 WAIT_NEW_PROC_REQUEST internal static fixed bin(17,0) initial dcl 3-25 WAIT_OLD_PASSWORD internal static fixed bin(17,0) initial dcl 3-25 WAIT_PASSWORD internal static fixed bin(17,0) initial dcl 3-25 WAIT_REMOVE internal static fixed bin(17,0) initial dcl 3-25 WAIT_SLAVE_REQUEST internal static fixed bin(17,0) initial dcl 3-25 WAIT_TANDD_HANGUP internal static fixed bin(17,0) initial dcl 3-25 as_data_$BS external static char(1) dcl 1-21 as_data_$CR external static char(1) dcl 1-22 as_data_$abs_dim external static char(32) packed unaligned dcl 1-23 as_data_$acct_update_priority external static fixed bin(17,0) dcl 1-24 as_data_$acsdir external static char(168) packed unaligned dcl 1-25 as_data_$ansp external static pointer dcl 1-26 as_data_$as_procid external static bit(36) dcl 1-27 as_data_$as_ring external static fixed bin(3,0) dcl 1-28 as_data_$as_tty automatic char(6) packed unaligned dcl 1-29 as_data_$asmtp external static pointer dcl 1-30 as_data_$autp external static pointer dcl 1-31 as_data_$buzzardp external static pointer dcl 1-32 as_data_$cdtp external static pointer dcl 1-33 as_data_$debug_flag external static bit(1) dcl 1-84 as_data_$default_weight external static fixed bin(35,0) dcl 1-34 as_data_$devtabp external static pointer dcl 1-35 as_data_$dft_user_ring external static fixed bin(3,0) dcl 1-36 as_data_$dutp external static pointer dcl 1-37 as_data_$g115_dim external static char(32) packed unaligned dcl 1-38 as_data_$lct_initialized external static bit(1) dcl 1-39 as_data_$lct_size external static fixed bin(17,0) dcl 1-40 as_data_$login_args external static structure level 1 dcl 1-62 as_data_$login_words external static fixed bin(17,0) dcl 1-77 as_data_$ls_message_buffer_max_lth external static fixed bin(18,0) dcl 1-87 as_data_$ls_message_buffer_ptr external static pointer dcl 1-88 as_data_$ls_request_server_info_ptr external static pointer dcl 1-85 as_data_$max_user_ring external static fixed bin(3,0) dcl 1-41 as_data_$mgtp external static pointer dcl 1-42 as_data_$mrd_dim external static char(32) packed unaligned dcl 1-43 as_data_$ntty_dim external static char(32) packed unaligned dcl 1-44 as_data_$pdtdir external static char(168) packed unaligned dcl 1-45 as_data_$pit_ptr external static pointer dcl 1-46 as_data_$rcpdir external static char(168) packed unaligned dcl 1-47 as_data_$request_priority external static fixed bin(17,0) dcl 1-48 as_data_$rtdtp external static pointer dcl 1-50 as_data_$sat_htp external static pointer dcl 1-51 as_data_$satp external static pointer dcl 1-52 as_data_$signal_types external static structure level 1 dcl 1-67 as_data_$suffix external static char(2) array packed unaligned dcl 1-53 as_data_$sysdir external static char(168) packed unaligned dcl 1-54 as_data_$system_signal_types external static structure level 1 dcl 1-72 as_data_$teens_suffix external static char(2) array packed unaligned dcl 1-55 as_data_$terminet_tabs_string external static varying char(144) dcl 1-56 as_data_$tty_dim external static char(32) packed unaligned dcl 1-57 as_data_$update_priority external static fixed bin(17,0) dcl 1-58 as_data_$version external static char(8) packed unaligned dcl 1-59 as_data_$whoptr external static pointer dcl 1-60 as_data_login_words based structure level 1 dcl 1-77 authentication_level_names internal static char(12) initial array packed unaligned dcl 5-21 installation_parms_version_1 internal static fixed bin(17,0) initial dcl 4-37 installation_parms_version_2 internal static fixed bin(17,0) initial dcl 4-38 line_types internal static char(16) initial array packed unaligned dcl 6-54 login_server_dial_request based structure level 1 dcl 7-170 login_server_dial_response based structure level 1 dcl 7-366 login_server_disconnect_request based structure level 1 dcl 7-188 login_server_list_request based structure level 1 dcl 7-156 login_server_list_response based structure level 1 dcl 7-347 login_server_list_response_n_processes automatic fixed bin(17,0) dcl 7-358 login_server_logout_request based structure level 1 dcl 7-199 login_server_new_proc_response based structure level 1 dcl 7-414 login_server_operator_request based structure level 1 dcl 7-214 login_server_operator_response based structure level 1 dcl 7-426 login_server_process_request based structure level 1 dcl 7-103 login_server_process_response based structure level 1 dcl 7-303 login_server_termination_response based structure level 1 dcl 7-385 ls_process_request_arg_string_length automatic fixed bin(21,0) dcl 7-148 ls_process_request_n_args automatic fixed bin(17,0) dcl 7-147 ls_process_response_accounting_message_length automatic fixed bin(17,0) dcl 7-339 max_line_type internal static fixed bin(17,0) initial dcl 6-48 n_sync_line_types internal static fixed bin(17,0) initial dcl 6-50 rifp automatic pointer dcl 5-6 sl_info_code_msg internal static structure level 1 dcl 9-187 sl_info_msg internal static structure level 1 dcl 9-214 sl_info_sev_code_label_msg internal static structure level 1 dcl 9-161 sl_info_sev_coded_msg internal static structure level 1 dcl 9-134 sl_info_sev_msg internal static structure level 1 dcl 9-108 sync_line_type internal static fixed bin(17,0) initial array dcl 6-52 uc_ls_handle based structure level 1 dcl 10-11 uc_ls_handle_ptr automatic pointer dcl 10-9 NAMES DECLARED BY EXPLICIT CONTEXT. Abort 001240 constant entry internal dcl 343 ref 129 136 141 ERROR_RETURN 001046 constant label dcl 259 ref 123 253 FAULT_LABEL 001043 constant label dcl 257 ref 126 126 RETURN 001061 constant label dcl 262 ref 255 Setup_Response 001065 constant entry internal dcl 266 ref 251 uc_ls_validate_request_ 000362 constant entry external dcl 55 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1554 1620 1312 1564 Length 2336 1312 44 502 242 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME uc_ls_validate_request_ 352 external procedure is an external procedure. on unit on line 126 78 on unit Setup_Response internal procedure shares stack frame of external procedure uc_ls_validate_request_. Abort 70 internal procedure is declared options(variable). STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME uc_ls_validate_request_ 000100 abort_label uc_ls_validate_request_ 000104 auto_uc_validate_info uc_ls_validate_request_ 000162 code uc_ls_validate_request_ 000164 ip uc_ls_validate_request_ 000166 validate_code uc_ls_validate_request_ 000176 ls_request_ptr uc_ls_validate_request_ 000200 ls_response_ptr uc_ls_validate_request_ 000202 ls_reply_message_ptr uc_ls_validate_request_ 000204 ls_request_server_info_ptr uc_ls_validate_request_ 000206 sl_info uc_ls_validate_request_ 000456 uc_validate_info_ptr uc_ls_validate_request_ 000460 utep uc_ls_validate_request_ THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out call_int_this_desc return_mac move_label_var make_label_var tra_ext_2 enable_op ext_entry int_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. as_any_other_handler_$no_cleanup asu_$setup_login_server_handle cu_$arg_list_ptr ipc_$decl_event_call_chn sys_log_$general uc_login_ uc_proc_term_handler_ user_table_mgr_$allocate user_table_mgr_$free THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. as_data_$ls_message_buffer_cur_lth as_data_$rs_ptrs as_error_table_$dialup_error as_error_table_$tty_no_room error_table_$unimplemented_version LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 55 000354 14 76 000367 119 000371 120 000375 121 000400 123 000403 124 000406 126 000407 129 000445 135 000506 136 000517 139 000547 141 000573 148 000624 150 000630 151 000632 156 000635 157 000642 158 000645 161 000653 164 000655 165 000660 166 000662 167 000664 168 000665 169 000670 170 000672 171 000674 172 000675 174 000677 176 000701 178 000704 180 000706 182 000711 185 000713 186 000716 187 000720 191 000724 193 000731 196 000736 198 000743 201 000747 202 000752 204 000755 206 000761 207 000762 213 000765 215 000772 217 000776 219 001001 221 001003 227 001005 237 001010 242 001012 244 001014 248 001026 251 001037 253 001040 255 001042 257 001043 259 001046 262 001061 264 001064 266 001065 269 001066 270 001072 272 001075 274 001077 275 001100 278 001103 280 001110 282 001114 284 001117 285 001121 287 001124 289 001132 292 001135 294 001137 296 001142 299 001144 301 001146 303 001151 306 001153 308 001161 309 001163 311 001170 313 001175 315 001201 317 001206 320 001213 321 001217 324 001225 328 001232 330 001234 331 001236 343 001237 349 001245 350 001251 351 001256 352 001264 353 001276 354 001301 356 001305 ----------------------------------------------------------- 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