COMPILATION LISTING OF SEGMENT uc_cleanup_network_dials_ Compiled by: Multics PL/I Compiler, Release 30, of February 16, 1988 Compiled at: Honeywell Bull, Phoenix AZ, SysM Compiled on: 07/13/88 1029.4 mst Wed Options: optimize map 1 /****^ ******************************************** 2* * * 3* * Copyright, (C) Honeywell Bull Inc., 1987 * 4* * * 5* ******************************************** */ 6 7 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 8 /* */ 9 /* This module is part of the Multics Network Architecture (MNA) version of */ 10 /* user control. MNA user control serves users coming into Multics via */ 11 /* separate networks (eg, the Distributed Systems Architecture (DSA) */ 12 /* network. MNA user control is not used for logins through the Multics */ 13 /* Communications System (MCS). A separate MCS user control system serves */ 14 /* MCS users. */ 15 /* */ 16 /* To Be Supplied: */ 17 /* 1) Brief module description. See MDD010 or MTBs 751 and 752 for details */ 18 /* about this module, and its relationship to modules in the MCS user */ 19 /* control system. */ 20 /* 2) Operator error message documentation. This program calls */ 21 /* sys_log_$general but does not contain the required descriptions of */ 22 /* these messages. This omission was waived for initial installation */ 23 /* of the subsystem by the auditor, security coordinator, and by MDC */ 24 /* management. */ 25 /* */ 26 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 27 28 29 /****^ HISTORY COMMENTS: 30* 1) change(86-08-01,Swenson), approve(87-07-13,MCR7737), 31* audit(87-05-18,GDixon), install(87-08-04,MR12.1-1055): 32* Initial coding. 33* 2) change(87-03-26,GDixon), approve(87-07-13,MCR7737), 34* audit(87-07-30,Brunelle), install(87-08-04,MR12.1-1055): 35* A) Use correct calling sequence when calling the force_disconnect 36* entrypoint found in the connection list entry. 37* 3) change(87-05-18,GDixon), approve(87-07-13,MCR7737), 38* audit(87-07-30,Brunelle), install(87-08-04,MR12.1-1055): 39* Changed for new uc_send_ls_response_ calling sequence. 40* 4) change(87-06-01,GDixon), approve(87-07-13,MCR7737), 41* audit(87-07-30,Brunelle), install(87-08-04,MR12.1-1055): 42* A) Checked to get Login_Server handle out of ute. The connection list 43* entry contains only the Initializer handle. 44* 5) change(87-06-01,GDixon), approve(87-07-13,MCR7737), 45* audit(87-07-30,Brunelle), install(87-08-04,MR12.1-1055): 46* A) Changed to get Login_Server's handle for a dialed connection out of 47* the connection's user table entry (UTE). The handle in the connection 48* list is the Initializer's handle. 49* B) Changed to logout/free the UTE if uc_send_ls_response_ cannot send 50* the response to the Login_Server. 51* 6) change(87-06-09,GDixon), approve(87-07-13,MCR7737), 52* audit(87-07-30,Brunelle), install(87-08-04,MR12.1-1055): 53* A) Include correct user process_group_id in 54* login_server_termination_response. 55* 7) change(87-06-19,GDixon), approve(87-07-13,MCR7737), 56* audit(87-07-30,Brunelle), install(87-08-04,MR12.1-1055): 57* A) Avoid reference through unset pointer by declaring ute_index 58* automatic. 59* END HISTORY COMMENTS */ 60 61 /* format: style4,indattr,insnl */ 62 63 uc_cleanup_network_dials_: 64 procedure (P_process_id, P_logout_flag, P_code); 65 66 /* This procedure is called by the answering service when either 1) the 67* process is destroyed (to cleanup any outstanding dialed connections), 68* or 2) when the process (or the answering service) requests that all 69* dialed connections be dropped. 70* 71* The "owner" (usually the login server) of the connection is notified 72* so that it can perform the necessary processing (such as write an 73* appropriate message on the user's terminal). 74* 75* This program searches the active_connection_list finding connections of 76* which the specified proces is the user, and for each one that is a "dialed" 77* connection, attempts to send a termination_response to the owner. If this 78* fails, it attempts to force_disconnect the connection. 79**/ 80 81 /* Parameters */ 82 83 dcl P_process_id bit (36) aligned parameter; 84 dcl P_logout_flag bit (1) aligned parameter; 85 dcl P_code fixed bin (35) parameter; 86 87 /* Automatic */ 88 89 dcl 1 auto_active_connection_info 90 aligned like active_connection_info automatic; 91 dcl 1 auto_ls_termination_response 92 aligned like login_server_termination_response automatic; 93 dcl 1 auto_ls_reply aligned like ls_reply_message automatic; 94 95 dcl code fixed bin (35) automatic; 96 dcl connection_handle fixed bin (35) automatic; 97 dcl connection_name char (32) automatic; 98 dcl connection_offset bit (18) automatic; 99 dcl force_disconnect_name char (64) automatic; 100 dcl initializer_handle bit (72) aligned automatic; 101 dcl logout_flag bit (1) aligned automatic; 102 dcl more bit (1) aligned automatic; 103 dcl owner_process_id bit (36) aligned automatic; 104 dcl owner_handle bit (72) aligned automatic; 105 dcl owner_event_channel fixed bin (71) automatic; 106 dcl send_terminate bit (1) aligned automatic; 107 dcl user_group_id char (32) automatic; 108 dcl user_process_id bit (36) aligned automatic; 109 dcl ute_index fixed bin automatic; 110 111 112 /* Entries */ 113 114 dcl hpriv_connection_list_$get_next_user 115 entry (bit (36) aligned, bit (18), ptr, fixed bin (35)); 116 dcl uc_logout_ entry (ptr, char(*)); 117 dcl uc_send_ls_response_ entry (ptr, fixed bin(18), bit(36) aligned, 118 bit(72) aligned, fixed bin(71), ptr, 119 char(32) aligned, fixed bin(35), fixed bin(35)); 120 dcl user_table_mgr_$free entry (ptr); 121 122 123 /* External */ 124 125 dcl error_table_$noentry fixed bin (35) external static; 126 127 /* Builtins */ 128 129 dcl (addr, null, rtrim, size, unspec) 130 builtin; 131 132 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 133 134 135 /* Program */ 136 user_process_id = P_process_id; 137 logout_flag = P_logout_flag; 138 139 /* Set up termination response -- we're going to send the same one to everybody */ 140 141 ls_response_ptr = addr (auto_ls_termination_response); 142 unspec (login_server_termination_response) = ""b; 143 login_server_response_header.message_type = LS_TERMINATION_RESPONSE; 144 login_server_response_header.header_pad = ""b; 145 login_server_response_header.version = LOGIN_SERVER_TERMINATION_RESPONSE_VERSION_1; 146 147 login_server_termination_response.process_id = user_process_id; 148 login_server_termination_response.status_code = 0; 149 login_server_termination_response.logout = logout_flag; 150 /* ? */ 151 152 /* Now start searching the connection list. Each time we find a connection, 153* we will get the next one before processing the current one, so that the 154* current one doesn't get deleted before we can find the next. 155**/ 156 157 active_connection_info_ptr = addr (auto_active_connection_info); 158 unspec (active_connection_info) = ""b; 159 active_connection_info.version = ACT_INFO_VERSION_1; 160 161 connection_offset = ""b; /* for finding the first one */ 162 more = Get_next (connection_offset); 163 164 do while (more); 165 166 connection_offset = active_connection_info.offset; 167 if active_connection_info.usage_type = LS_DIAL_USAGE 168 /* this is one we're interested in */ 169 then do; /* copy out info for later use */ 170 owner_process_id = active_connection_info.owner_process_id; 171 owner_event_channel = active_connection_info.terminate_event_channel; 172 initializer_handle = active_connection_info.owner_initializer_handle; 173 connection_name = active_connection_info.connection_name; 174 connection_handle = active_connection_info.connection_handle; 175 force_disconnect_name = active_connection_info.force_disconnect_entry; 176 ansp = as_data_$ansp; 177 send_terminate = "0"b; 178 do ute_index = 1 to anstbl.current_size; 179 utep = addr (anstbl.entry(ute_index)); 180 if ute.active = NOW_LOGGED_IN & 181 ute.tty_name = connection_name & 182 ute.login_server_info.our_handle = 183 initializer_handle & 184 ute.login_server_info.process_id = 185 owner_process_id then do; 186 owner_handle = ute.login_server_info.his_handle; 187 user_group_id = Get_Group_ID(); 188 send_terminate = "1"b; 189 end; 190 end; 191 if ^send_terminate then do; /* connection not in ute. */ 192 owner_process_id = ""b; /* Make terminator do force_disconnect */ 193 owner_handle = ""b; 194 user_group_id = ""; 195 utep = null; 196 send_terminate = "1"b; 197 end; 198 end; 199 else send_terminate = "0"b; 200 201 more = Get_next (connection_offset); 202 203 if send_terminate 204 then do; /* now process the previous one */ 205 unspec(auto_ls_reply) = ""b; 206 login_server_termination_response.process_group_id = 207 user_group_id; 208 call uc_send_ls_response_ (ls_response_ptr, 209 size (login_server_termination_response), 210 owner_process_id, owner_handle, owner_event_channel, 211 addr (auto_ls_reply), 212 active_connection_info.connection_name, 0, code); 213 if code ^= 0 & utep ^= null then do; 214 call uc_logout_ (utep, "logout, dialed terminal"); 215 call user_table_mgr_$free (utep); 216 end; 217 end; 218 end; 219 220 EXIT: 221 P_code = code; 222 return; 223 224 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 225 226 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 227 228 229 Get_Group_ID: 230 procedure () returns (char(32) varying); 231 232 dcl group char (32) varying; 233 234 group = ""; 235 if ute.person ^= "" then do; 236 group = rtrim(ute.person); 237 group = group || "."; 238 group = group || rtrim(ute.project); 239 group = group || "."; 240 group = group || ute.tag; 241 end; 242 return (group); 243 end Get_Group_ID; 244 245 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 246 247 248 Get_next: 249 procedure (P_connection_offset) returns (bit (1) aligned); 250 251 dcl P_connection_offset bit (18) parameter; 252 253 dcl connection_offset bit (18); 254 dcl code fixed bin (35); 255 256 connection_offset = P_connection_offset; 257 call hpriv_connection_list_$get_next_user (user_process_id, connection_offset, active_connection_info_ptr, code) 258 ; 259 260 if code = error_table_$noentry /* there are no more */ 261 then return ("0"b); 262 else if code ^= 0 263 then call Error (code); /* nothing else should go wrong */ 264 else return ("1"b); 265 266 end Get_next; 267 268 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 269 270 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 271 272 273 Error: 274 procedure (P_code); 275 276 dcl P_code fixed bin (35) parameter; 277 278 go to EXIT; 279 end Error; 280 281 /* * * * * * * * * * * * * * * * * * * * * * * * * */ 282 283 284 /* format: off */ 285 /* BEGIN: active_connection_info.incl.pl1 * * * * * */ 1 2 1 3 /****^ HISTORY COMMENTS: 1 4* 1) change(86-06-30,Coren), approve(86-06-30,MCR7415), 1 5* audit(86-07-02,Margolin), install(86-07-11,MR12.0-1092): 1 6* Initial implementation. 1 7* 2) change(87-04-07,GDixon), approve(87-06-24,MCR7681), 1 8* audit(87-06-24,Hartogs), install(87-08-04,MR12.1-1056): 1 9* Add .force_accounting_flush_entry element. 1 10* 3) change(87-05-13,Brunelle), approve(87-06-24,MCR7681), 1 11* audit(87-06-24,Hartogs), install(87-08-04,MR12.1-1056): 1 12* Add .owner_group_id field. 1 13* END HISTORY COMMENTS */ 1 14 1 15 /* Defines the information returned to the outer ring about a single entry in 1 16* the active connection list */ 1 17 1 18 dcl active_connection_info_ptr pointer; 1 19 1 20 dcl 1 active_connection_info aligned based (active_connection_info_ptr), 1 21 2 version char (8), /* "actiNNNN" */ 1 22 2 connection_name char (32), /* name of the connection */ 1 23 2 network_service_type char (32), /* name of service */ 1 24 2 user_process_id bit (36), /* process assigned as the user */ 1 25 2 user_group_id char (32), /* likewise */ 1 26 2 owner_process_id bit (36), /* process that created the connection */ 1 27 2 owner_group_id char (32), /* likewise */ 1 28 2 terminate_event_channel fixed bin (71), /* channel to wake the owner if user process terminates */ 1 29 2 owner_initializer_handle bit (72), /* handle for communicating with initializer */ 1 30 2 force_disconnect_entry char (64), /* name of entry to call to force disconnection */ 1 31 /* (in case owner is gone) */ 1 32 2 force_accounting_flush_entry char (64), /* name of entry to call to force accounting flush */ 1 33 2 connection_handle fixed bin (35), /* handle used in calling service entries */ 1 34 2 usage_type fixed bin, /* login, etc. see ls_usage_types.incl.pl1 */ 1 35 2 flags, 1 36 3 delegated bit (1) unaligned, /* assigned to user by owner */ 1 37 3 mbz_bits bit (35) unaligned, 1 38 2 offset bit (18); /* offset of entry in connection list segment */ 1 39 1 40 dcl ACT_INFO_VERSION_1 char (8) internal static options (constant) initial ("acti0001"); 1 41 1 42 1 43 /* END OF: active_connection_info.incl.pl1 * * * * * */ 285 286 /* BEGIN INCLUDE FILE ... answer_table.incl.pl1 */ 2 2 2 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 2 4 /* */ 2 5 /* The answer table has one entry per "login instance" whether completed or */ 2 6 /* not. It is connected to the Channel Definition Table by the pointer */ 2 7 /* "channel". The header is used mostly by dialup_. */ 2 8 /* */ 2 9 /* Programs which use this file must also include user_table_header.incl.pl1 */ 2 10 /* */ 2 11 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 2 12 2 13 /****^ HISTORY COMMENTS: 2 14* 1) change(81-09-10,Kittlitz), approve(), audit(), install(): 2 15* Replace anstbl.incl.pl1. 2 16* 2) change(85-01-15,Swenson), approve(), audit(), install(): 2 17* Add anstbl.session_uid_counter. 2 18* 3) change(85-08-21,Coren), approve(), audit(), install(): 2 19* Add anstbl.message_update_time and named constants for values of 2 20* anstbl.session, and to make all padding explicit. 2 21* 4) change(85-08-23,Coren), approve(), audit(), install(): 2 22* Change "entry" to a placeholder so as not to require 2 23* user_table_entry.incl.pl1. 2 24* 5) change(86-06-29,Swenson), approve(87-07-13,MCR7741), 2 25* audit(87-04-14,GDixon), install(87-08-04,MR12.1-1056): 2 26* Added the flag login_server_present which indicates whether a login 2 27* server request has been received. This is used to determine whether 2 28* dial_ctl_ should call uc_cleanup_network_dials_ (and thus 2 29* hpriv_connection_list_, which only exists with the MNA RPQ software). 2 30* 6) change(87-04-14,GDixon), approve(87-07-13,MCR7741), 2 31* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 2 32* A) Moved constants for ute.pw_flags.mask_ctl into 2 33* user_table_entry.incl.pl1. 2 34* B) Added common table header to all user tables. 2 35* END HISTORY COMMENTS */ 2 36 2 37 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 2 38 /* */ 2 39 /* The anstbl structure below is divided into sections. Each section begins */ 2 40 /* with a comment describing the elements in the section. Elements are */ 2 41 /* placed within a section, based upon their function or the programs that */ 2 42 /* use them. Each section begins on a double word and is an even number of */ 2 43 /* words long. */ 2 44 /* */ 2 45 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 2 46 2 47 2 48 2 49 /* format: style4 */ 2 50 2 51 dcl ANSTBL_version_4 static options (constant) init (4); /* version of this declaration */ 2 52 2 53 dcl ansp ptr automatic init (null); 2 54 2 55 dcl 1 anstbl based (ansp) aligned, /* Structure of answer table */ 2 56 2 header like ut_header, /* Header common to all user tables. */ 2 57 2 58 /* Counter elements. */ 2 59 2 nlin fixed bin, /* number of active lines */ 2 60 2 mxlin fixed bin, /* maximum number of active lines */ 2 61 2 n_users fixed bin, /* number of logged-in users */ 2 62 2 max_users fixed bin, /* maximum number of users allowed */ 2 63 2 n_units fixed bin, /* number of logged in units */ 2 64 2 max_units fixed bin, /* maximum number of units */ 2 65 2 n_sessions fixed bin, /* number of Multics sessions */ 2 66 2 n_pad fixed bin, 2 67 2 68 /* Name elements. */ 2 69 2 sysdir char (64) unal, /* name of main system control directory */ 2 70 2 as_tty char (8) unal, /* name of main answering service device. */ 2 71 2 72 /* Login elements. */ 2 73 2 login_word char (8) unal, /* login word if special_session=1 */ 2 74 2 session char (8) unal, /* session indicator */ 2 75 2 special_message char (128) unal, /* message to be printed for special session */ 2 76 2 message_update_time fixed bin (71), /* time at which special_message was last updated */ 2 77 2 message_lng fixed bin, /* length of special message */ 2 78 2 login_pad fixed bin, 2 79 2 80 /* Table update elements. */ 2 81 2 lock_count fixed bin, /* global lock for all system control tables */ 2 82 2 update_pending bit (1) aligned, /* flag indicating that update is required */ 2 83 2 update_channel fixed binary (71), /* event channel of update procedure */ 2 84 2 acct_update_chn fixed bin (71) aligned, /* Timer IPC channel */ 2 85 2 acct_last_update_time fixed bin (71) aligned, /* Time of last accounting update */ 2 86 2 acct_alarm_fail fixed bin, /* non-zero if alarm has failed */ 2 87 2 update_pad fixed bin, 2 88 2 89 /* dialup_ data values. */ 2 90 2 current_time fixed bin (71), /* Time of last transaction */ 2 91 2 processid_index fixed bin (18), /* unique index for process id generation */ 2 92 2 session_uid_counter fixed bin (35), /* current session_uid */ 2 93 2 94 /* load_ctl_ elements. */ 2 95 2 shift fixed bin, /* Shift, set by act_ctl_ */ 2 96 2 auto_maxu fixed bin, /* 0 = manual, 1 = config, 2 = load-level */ 2 97 2 extra_units fixed bin, /* Total daemon and abs units. */ 2 98 /* load_ctl_ load leveling desired response range: */ 2 99 2 response_high fixed bin, /* bad if user response time slower than this */ 2 100 2 response_low fixed bin, /* bad if user response time faster than this */ 2 101 2 load_ctl_pad fixed bin, 2 102 2 103 /* Login server request server data. */ 2 104 2 ls_request_server_event_channel fixed bin (71), /* channel for login server requests */ 2 105 2 ls_request_server_process_id bit (36) aligned, /* process serving login server requests */ 2 106 2 login_server_present bit (1) aligned, /* On IFF a login server request has been processed */ 2 107 2 108 2 entry_pad (28) fixed bin, /* pad to 128 words */ 2 109 2 entry (0 refer (anstbl.current_size)), /* user entries */ 2 110 3 contents (UTE_SIZE) fixed bin; 2 111 2 112 /* constants */ 2 113 2 114 /* values for anstbl.session */ 2 115 2 116 dcl (AT_NORMAL init ("normal "), 2 117 AT_SPECIAL init ("special "), 2 118 AT_SHUTDOWN init ("shutdown")) char (8) internal static options (constant); 2 119 2 120 dcl UTE_SIZE fixed bin internal static initial (300); 2 121 2 122 /* END INCLUDE FILE ... answer_table.incl.pl1 */ 286 287 /* BEGIN INCLUDE FILE ... as_data_.incl.pl1 ... */ 3 2 3 3 /* format: style4 */ 3 4 3 5 /* This file must be kept in sync with as_data_.alm */ 3 6 3 7 /****^ HISTORY COMMENTS: 3 8* 1) change(86-09-21,Beattie), approve(86-09-22,MCR7542), 3 9* audit(86-10-31,Brunelle), install(86-11-12,MR12.0-1211): 3 10* Remove references to the 963 and 029 preaccess commands and remove support 3 11* for ARDS, 202_ETX, 2741 and 1050 in system interfaces. 3 12* 2) change(86-09-25,Swenson), approve(87-07-20,MCR7737), 3 13* audit(87-07-20,GDixon), install(87-08-04,MR12.1-1056): 3 14* Add references to as_data_ entrypoints added for Login Server. 3 15* 3) change(87-03-03,Brunelle), approve(87-07-20,MCR7697), 3 16* audit(87-07-20,GDixon), install(87-08-04,MR12.1-1056): 3 17* Added new user signal field of inacrcvd (14) to handle inactivity response 3 18* from user. 3 19* END HISTORY COMMENTS */ 3 20 3 21 dcl as_data_$BS char (1) aligned ext static; /* BACKSPACE character */ 3 22 dcl as_data_$CR char (1) aligned ext static; /* CARRIAGE RETURN character */ 3 23 dcl as_data_$abs_dim char (32) ext static; /* absentee DIM */ 3 24 dcl as_data_$acct_update_priority fixed bin ext static; /* accounting update IPC priority */ 3 25 dcl as_data_$acsdir char (168) ext static; /* Access Control Segment directory */ 3 26 dcl as_data_$ansp ptr ext static; /* answer_table */ 3 27 dcl as_data_$as_procid bit (36) aligned ext static; /* Answering Service process id */ 3 28 dcl as_data_$as_ring fixed bin (3) ext static; /* AS operating ring */ 3 29 dcl as_data_$as_tty char (6); /* AS master tty channel */ 3 30 dcl as_data_$asmtp ptr ext static; /* AS meter table */ 3 31 dcl as_data_$autp ptr ext static; /* absentee_user_table */ 3 32 dcl as_data_$buzzardp ptr ext static; /* dpg_ list of buteo processes */ 3 33 dcl as_data_$cdtp ptr ext static; /* CDT */ 3 34 dcl as_data_$default_weight fixed bin (35) ext; /* default user process load control weight */ 3 35 dcl as_data_$devtabp ptr ext static; /* device_table */ 3 36 dcl as_data_$dft_user_ring fixed bin (3) ext static; /* default user ring */ 3 37 dcl as_data_$dutp ptr ext static; /* daemon_user_table */ 3 38 dcl as_data_$g115_dim char (32) ext static; 3 39 dcl as_data_$lct_initialized bit (1) aligned ext static; /* LCT allocated in ring 0 */ 3 40 dcl as_data_$lct_size fixed bin ext static; /* CDT tty channels + spares */ 3 41 dcl as_data_$max_user_ring fixed bin (3) ext static; /* maximum user ring */ 3 42 dcl as_data_$mgtp ptr ext static; /* master group table */ 3 43 dcl as_data_$mrd_dim char (32) ext static; /* daemon's message routing DIM */ 3 44 dcl as_data_$ntty_dim char (32) ext static; /* network connection DIM */ 3 45 dcl as_data_$pdtdir char (168) ext static; /* PDT directory */ 3 46 dcl as_data_$pit_ptr ptr ext static; /* pit_temp_ */ 3 47 dcl as_data_$rcpdir char (168) ext static; /* RCP directory */ 3 48 dcl as_data_$request_priority fixed bin ext static; 3 49 dcl as_data_$rs_ptrs (0:9) ptr ext static; /* rate_structures */ 3 50 dcl as_data_$rtdtp ptr ext static; /* RTDT */ 3 51 dcl as_data_$sat_htp ptr ext static; /* SAT hash table */ 3 52 dcl as_data_$satp ptr ext static; /* SAT */ 3 53 dcl as_data_$suffix (0:9) char (2) unaligned ext static; 3 54 dcl as_data_$sysdir char (168) ext static; /* system control directory */ 3 55 dcl as_data_$teens_suffix (10:19) char (2) unaligned ext static; 3 56 dcl as_data_$terminet_tabs_string char (144) varying ext static; 3 57 dcl as_data_$tty_dim char (32) ext static; /* standard interactive DIM */ 3 58 dcl as_data_$update_priority fixed bin ext static; /* ??? */ 3 59 dcl as_data_$version char (8) ext static; /* AS version */ 3 60 dcl as_data_$whoptr ptr ext static; /* whotab */ 3 61 3 62 dcl 1 as_data_$login_args aligned ext static, /* control arguments for login */ 3 63 2 n_login_args fixed bin, 3 64 2 pad fixed bin, 3 65 2 login_args (55 /* as_data_$login_args.n_login_args */) char (24) unaligned; 3 66 3 67 dcl 1 as_data_$signal_types ext static aligned, /* IPC process control signals */ 3 68 2 n_signals fixed bin, 3 69 2 pad fixed bin, 3 70 2 signals (14 /* as_data_$signal_types.n_signals */) char (8) unaligned; 3 71 3 72 dcl 1 as_data_$system_signal_types ext static aligned, /* IPC process control signals */ 3 73 2 n_system_signals fixed bin, 3 74 2 pad fixed bin, 3 75 2 system_signals (10 /* as_data_$system_signal_types.n_system_signals */) char (8) unaligned; 3 76 3 77 dcl as_data_$login_words fixed bin ext static aligned, 3 78 /* interactive login words */ 3 79 1 as_data_login_words aligned based (addr (as_data_$login_words)), 3 80 2 n_words fixed bin, 3 81 2 pad fixed bin, 3 82 2 words (0 refer (as_data_login_words.n_words)) char (16) unaligned; 3 83 3 84 dcl as_data_$debug_flag bit (1) aligned external static; 3 85 dcl as_data_$ls_request_server_info_ptr ptr external static; 3 86 dcl as_data_$ls_message_buffer_cur_lth fixed bin (18) external static; 3 87 dcl as_data_$ls_message_buffer_max_lth fixed bin (18) external static; 3 88 dcl as_data_$ls_message_buffer_ptr ptr external static; 3 89 3 90 /* END INCLUDE FILE ... as_data_.incl.pl1 ... */ 287 288 /* BEGIN INCLUDE FILE ... dialup_values.incl.pl1 */ 4 2 4 3 /* format: style4 */ 4 4 4 5 /* Values for "cdte.tra_vec" used by dialup_ and others. */ 4 6 4 7 /* Modified by T. Casey April 1976 to add WAIT_NEW_PASSWORD 4 8* - in 1977 and 1978 to add WAIT_(GREETING_MSG DELETE_CHANNEL) 4 9* - and in October 1979 to add WAIT_CONNECT_REQUEST 4 10* Modified by Robert Coren in May 1981 to add TANDD_ATTACH values and 4 11* WAIT_DISCARD_WAKEUP 4 12* Modified by T. Casey, July 1981, for MR9.0, to add WAIT_BEFORE_HANGUP. 4 13* Modified by E. N. Kittlitz, July 1982, to add TTY_MASKED. 4 14**/ 4 15 4 16 /****^ HISTORY COMMENTS: 4 17* 1) change(87-04-20,GDixon), approve(87-07-13,MCR7741), 4 18* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 4 19* Add constant arrays naming cdte.state, cdte.tra_vec and ute.active values. 4 20* 2) change(87-05-11,GDixon), approve(87-07-13,MCR7741), 4 21* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 4 22* Add named constants for instance tags. 4 23* END HISTORY COMMENTS */ 4 24 4 25 dcl (WAIT_DIALUP init (1), /* Channel waiting for dialup. */ 4 26 WAIT_ANSWERBACK initial (2), /* WRU sent, waiting for reply */ 4 27 WAIT_LOGIN_LINE init (3), /* Greeting typed, wait for login command. */ 4 28 WAIT_LOGIN_ARGS init (4), /* Want rest of login line */ 4 29 WAIT_OLD_PASSWORD init (5), /* "-cpw" was specified. Wait for old password. */ 4 30 WAIT_PASSWORD init (6), /* Waiting for password. (If "-cpw", repeat of new one.) */ 4 31 WAIT_NEW_PASSWORD init (7), /* "-cpw" was specified. Wait for new password */ 4 32 WAIT_LOGOUT_SIG init (8), /* Channel is hooked up. Wait for logout. */ 4 33 WAIT_LOGOUT init (9), /* A logout has been requested. Wait for process to die */ 4 34 WAIT_LOGOUT_HOLD init (10), /* As above but don't hang up when it dies. */ 4 35 WAIT_DETACH init (11), /* As above but ignore channel afterwards. */ 4 36 WAIT_NEW_PROC init (12), /* As above but make new process and continue. */ 4 37 WAIT_REMOVE init (13), /* As above but completely expunge channel. */ 4 38 WAIT_FIN_PRIV_ATTACH init (14), /* When channel dials up, connect it to user */ 4 39 WAIT_DIAL_RELEASE init (15), /* Waiting for master process to release. */ 4 40 WAIT_DIAL_OUT init (16), /* Waiting for auto call to complete */ 4 41 WAIT_HANGUP init (17), /* Wait for the hangup event to occur for a channel */ 4 42 WAIT_SLAVE_REQUEST init (18), /* Ignore line until someone asks */ 4 43 WAIT_GREETING_MSG init (19), /* Print greeting message and wait for login line */ 4 44 WAIT_DELETE_CHANNEL init (20), /* Channel deleted - mark cdte after process is destroyed */ 4 45 WAIT_CONNECT_REQUEST init (21), /* logged in; awaiting request re disconnected processes */ 4 46 WAIT_TANDD_HANGUP init (22), /* when channel hangs up, proceed with t & d attachment */ 4 47 WAIT_FIN_TANDD_ATTACH init (23), /* when channel dials up, finish t & d attachment */ 4 48 WAIT_DISCARD_WAKEUPS init (24), /* disregard all wakeups on channel */ 4 49 WAIT_BEFORE_HANGUP init (25), /* allow output to print before hanging up */ 4 50 WAIT_DESTROY_REQUEST init (26), /* waiting to continue with destroy request after process has destroyed itself */ 4 51 WAIT_NEW_PROC_REQUEST init (27) /* waiting to continue with new_proc request after process has destroyed itself */ 4 52 ) fixed bin internal static options (constant); 4 53 4 54 dcl TRA_VEC_VALUES (0:13) char (32) aligned int static options (constant) init 4 55 /* names of ute.destroy_flag values */ 4 56 ("", "wait dialup", "wait answerback", "wait login line", /* 0-3 */ 4 57 "wait login args", "wait old password", "wait password", /* 4-6 */ 4 58 "wait new password", "wait logout signal", "wait logout", /* 7-9 */ 4 59 "wait logout hold", "wait detach", "wait new proc", /* 10-12 */ 4 60 "wait remove"); /* -13 */ 4 61 4 62 /* Values for "cdte.state", typewriter state. */ 4 63 4 64 dcl (TTY_MASKED init (-1), /* Terminal channel is there, but masked by MCS */ 4 65 TTY_HUNG init (1), /* Terminal channel is there, but dead. */ 4 66 TTY_KNOWN init (2), /* Channel being "listened" to, awaiting dialup. */ 4 67 TTY_DIALED init (5) /* Channel is dialed up. This is normal state. */ 4 68 ) fixed bin internal static options (constant); 4 69 4 70 dcl STATE_VALUES (-1:5) char (15) aligned int static options (constant) init 4 71 /* names of cdte.state values */ 4 72 ("masked", "dead", "hung up", "listening", "", "", "dialed up"); 4 73 4 74 /* Values for "cdte.in_use" and "ate.active" */ 4 75 4 76 dcl (NOW_FREE init (0), /* Entry is empty. */ 4 77 NOW_HUNG_UP init (1), /* Entry is usable but tty is hung up. */ 4 78 NOW_LISTENING init (2), /* Entry is waiting for phone call. */ 4 79 NOW_DIALED init (3), /* Entry is connected but login not complete. */ 4 80 NOW_LOGGED_IN init (4), /* Entry is logged in but no process. */ 4 81 NOW_HAS_PROCESS init (5), /* Entry has a valid process. */ 4 82 NOW_DIALING init (6), /* Entry (auto_call line) is dialing */ 4 83 NOW_DIALED_OUT init (7) /* Entry (auto_call line) is in use */ 4 84 ) fixed bin internal static options (constant); 4 85 4 86 dcl ACTIVE_VALUES (0:5) char (18) aligned int static options (constant) init 4 87 /* names of ute.active values */ 4 88 ("free", "hung-up", "listening", "dialed", "logged in, no proc", "logged in & proc"); 4 89 4 90 4 91 /**** Values for ute.tag */ 4 92 4 93 dcl (TAG_INTERACTIVE init("a"), 4 94 TAG_UFT init("f"), 4 95 TAG_ABSENTEE init("m"), 4 96 TAG_PROXY init("p"), 4 97 TAG_DAEMON init("z") 4 98 ) char(1) int static options(constant); 4 99 4 100 4 101 /**** Following are constants used to indicate to the process termination 4 102* handler the reason for the process termination. They are used by 4 103* uc_proc_term_handler_, as well as uc_ls_new_proc_request_ and 4 104* uc_ls_destroy_request_. */ 4 105 4 106 dcl ( 4 107 PT_FPE initial (1), 4 108 PT_LOGOUT initial (4), 4 109 PT_NEW_PROC_AUTH initial (13), 4 110 PT_HANGUP initial (20), 4 111 PT_SHUTDOWN initial (21), 4 112 PT_BUMP initial (22), 4 113 PT_ALARM initial (23), 4 114 PT_DETACH initial (24), 4 115 PT_UNBUMP initial (25), 4 116 PT_OPERATOR_TERMINATE initial (27), 4 117 PT_DESTROY_REQUEST initial (30), 4 118 PT_NEW_PROC_REQUEST initial (31) 4 119 ) fixed bin (17) internal static options (constant); 4 120 4 121 /**** Values for ute.preempted: 4 122* -1 user unbumped after term signal sent 4 123* 0 user unbumped; ignore alarm___ 4 124* 1 value internally used in load_ctl_ 4 125* 2 user bumped; when alarm___ comes in, send term signal 4 126* 3 term signal sent; destroy process if termsgnl, alarm___, or cpulimit 4 127* signals come in 4 128* 4 user bumped; process sick, so destroy without sending term signal 4 129* 5 trm_ signal sent, termsgnl received; (if still 3, we never got the 4 130* termsgnl). */ 4 131 4 132 dcl ( 4 133 PREEMPT_UNBUMP initial (-1), 4 134 PREEMPT_UNBUMP_IGNORE_ALARM initial (0), 4 135 PREEMPT_LOAD_CTL initial (1), 4 136 PREEMPT_BUMPED initial (2), 4 137 PREEMPT_TERM_SENT initial (3), 4 138 PREEMPT_BUMPED_NO_TERM initial (4), 4 139 PREEMPT_TERMSGNL_RECEIVED initial (5) 4 140 ) fixed bin (17) internal static options(constant); 4 141 4 142 dcl PREEMPT_VALUES (-1:5) char(28) varying int static options(constant) init( 4 143 "unbumped", 4 144 "not bumped, ignore alarm___", 4 145 "load_ctl_", 4 146 "bumped", 4 147 "bumped, trm_ sent", 4 148 "bumped without trm_", 4 149 "bumped, termsgnl received"); 4 150 4 151 /* END INCLUDE FILE ... dialup_values.incl.pl1 */ 288 289 /* BEGIN INCLUDE FILE ... login_server_messages.incl.pl1 */ 5 2 5 3 /****^ HISTORY COMMENTS: 5 4* 1) change(86-06-30,Coren), approve(86-06-30,MCR7415), 5 5* audit(86-07-02,Margolin), install(86-07-11,MR12.0-1092): 5 6* Initial implementation. 5 7* 2) change(87-04-16,GDixon), approve(87-07-13,MCR7679), 5 8* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 5 9* A) Add REQUEST_TYPES and RESPONSE_TYPES arrays. 5 10* B) Add login_server_validate_response.last_incorrect_password.time. 5 11* C) Add user_connection_info.line_type. 5 12* D) Add login_server_process_request.minimum_ring. 5 13* 3) change(87-05-14,GDixon), approve(87-07-13,MCR7737), 5 14* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 5 15* A) Add login_server_process_response.brief. 5 16* B) Add login_server_list_response.initial_ring. 5 17* C) Separate login_server_process_response into fixed and variable parts. 5 18* D) Move user_connection_info into login_server_request_header. 5 19* END HISTORY COMMENTS */ 5 20 5 21 /* This include file defines all the structures passed in message segments 5 22* between a login server process and the Initializer (or "answering service") 5 23* process. For convenience, messages from the server to the initializer, 5 24* passed using the send_ls_request_ subroutine, are called "requests"; 5 25* messages from the initializer to the server, passed using the user_message_ 5 26* mechanism, are called "responses". 5 27**/ 5 28 5 29 /* Request types */ 5 30 5 31 dcl (LS_VALIDATE_REQUEST initial (1), /* validate user ID and password */ 5 32 LS_PROCESS_REQUEST initial (2), /* create or connect to a process */ 5 33 LS_LIST_REQUEST initial (3), /* list disconnected processes */ 5 34 LS_DIAL_REQUEST initial (4), /* find a dial server */ 5 35 LS_DISCONNECT_REQUEST initial (5), /* report disconnection of a login channel */ 5 36 LS_LOGOUT_REQUEST initial (6), /* discard UTE (end of dialogue) */ 5 37 LS_OPERATOR_REQUEST initial (7)) /* log the user in as an operator */ 5 38 fixed bin internal static options (constant); 5 39 5 40 dcl LS_REQUEST_TYPES (7) char (10) internal static options (constant) initial 5 41 ( 5 42 "validate", 5 43 "process", 5 44 "list", 5 45 "dial", 5 46 "disconnect", 5 47 "logout", 5 48 "operator"); 5 49 5 50 dcl ls_request_ptr pointer; 5 51 5 52 /* common header for all requests */ 5 53 5 54 dcl 1 ls_request_header aligned based (ls_request_ptr), 5 55 2 header_version char (8), /* version for this header */ 5 56 2 request_version char (8), /* varies depending on the request */ 5 57 2 request_type fixed bin, 5 58 2 pad1 bit (36), 5 59 2 reply_event_channel fixed bin (71), /* event channel over which reply_message should be sent */ 5 60 2 reply_handle bit (72) aligned, /* used for dispatching response */ 5 61 2 connection_info like user_connection_info; /* connection making this request. */ 5 62 5 63 dcl LS_REQUEST_HEADER_VERSION_1 char (8) initial ("lsrh0001") internal static options (constant); 5 64 5 65 dcl 1 user_connection_info aligned based, /* common info passed in most requests */ 5 66 2 connection_name char (32), 5 67 2 access_class_range (2) bit (72), 5 68 2 terminal_type char (32), 5 69 2 terminal_id char (4), 5 70 2 line_type fixed bin; 5 71 5 72 5 73 5 74 /* "validate" request: validate user ID and password */ 5 75 5 76 dcl 1 login_server_validate_request aligned based (ls_request_ptr), 5 77 2 header like ls_request_header, /* request_type = LS_VALIDATE_REQUEST */ 5 78 2 current_password char (8), /* scrambled */ 5 79 2 authorization bit (72), /* only valid if auth_given = "1"b */ 5 80 2 terminate_event_channel fixed bin (71), /* event channel to notify server when process terminates */ 5 81 2 person_id char (22), /* as specified in login line */ 5 82 2 project_id char (9), /* likewise, might be null string */ 5 83 2 network_connection_type fixed bin, /* see below for values */ 5 84 2 new_password char (8), /* only valid if change_password = "1"b */ 5 85 2 flags, 5 86 3 gpw bit (1) unaligned, /* password generated in response to -generate_password */ 5 87 3 auth_given bit (1) unaligned, /* -authorization specified */ 5 88 3 anonymous bit (1) unaligned, /* "enterp" request */ 5 89 3 anon_no_password bit (1) unaligned, /* "enter" request */ 5 90 3 change_password bit (1) unaligned, /* gave -cpw or -gpw */ 5 91 3 change_default_auth bit (1) unaligned, /* gave -change_default_authorization */ 5 92 3 change_default_proj bit (1) unaligned, /* gave -change_default_project */ 5 93 3 operator bit (1) unaligned, /* gave -operator */ 5 94 3 pad bit (28) unaligned; 5 95 5 96 5 97 dcl LS_VALIDATE_REQUEST_VERSION_1 char (8) internal static options (constant) initial ("lsvr0001"); 5 98 5 99 5 100 5 101 /* "process" request: create a process or reconnect to an existing process for the specified user */ 5 102 5 103 dcl 1 login_server_process_request aligned based (ls_request_ptr), 5 104 2 fixed_part, /* to allow for automatic copies */ 5 105 3 header like ls_request_header, /* request_type = LS_PROCESS_REQUEST */ 5 106 3 handle bit (72), /* as provided in validate_response */ 5 107 3 person_id char (22), /* the real one */ 5 108 3 project_id char (9), /* likewise */ 5 109 3 project_pad fixed bin, 5 110 3 command_type fixed bin, /* login, connect, etc.; see below for names */ 5 111 3 process_number fixed bin, /* 0 if unspecified or irrelevant */ 5 112 3 default_io_module char (32), /* I/O module to use if no outer_module specified */ 5 113 3 switch_flags, /* used to indicate if "switch"-type control args were specified */ 5 114 4 warn_given bit (1) unaligned, 5 115 4 force_given bit (1) unaligned, 5 116 4 save_given bit (1) unaligned, 5 117 4 preempt_given bit (1) unaligned, 5 118 4 brief_given bit (1) unaligned, 5 119 4 pad2 bit (31) unaligned, 5 120 3 switch_values, /* these are only valid if corresponding bit in switch_flags is on */ 5 121 4 warn bit (1) unaligned, 5 122 4 force bit (1) unaligned, 5 123 4 save_on_disconnect bit (1) unaligned, 5 124 4 preempt bit (1) unaligned, 5 125 4 brief bit (1) unaligned, /* "0"b & brief_given => -long */ 5 126 4 pad3 bit (31) unaligned, 5 127 3 other_flags, 5 128 4 init_ring_given bit (1) unaligned, /* "1"b if -ring */ 5 129 4 minimum_ring_given bit (1) unaligned, /* "1"b if MNA terminal interface ring > 1 */ 5 130 4 immediate bit (1) unaligned, /* "1"b => -new_proc (or -destroy) -immediate */ 5 131 4 no_start_up bit (1) unaligned, /* "1"b if -no_start_up */ 5 132 4 pad4 bit (32) unaligned, 5 133 3 initial_ring fixed bin, /* valid iff init_ring_given = "1"b */ 5 134 3 minimum_ring fixed bin, /* ring in which MNA terminal mgr operates */ 5 135 3 home_dir char (168), /* null if not specified */ 5 136 3 outer_module char (32), /* likewise */ 5 137 3 process_overseer char (168), /* likewise */ 5 138 3 subsystem char (168), /* likewise */ 5 139 3 n_args fixed bin, /* how many arguments specified after -ag; if 0, ignore the rest of the structure */ 5 140 2 login_arguments, /* variable part, describes stuff after -ag */ 5 141 3 arg_string_length fixed bin (21), 5 142 3 args (ls_process_request_n_args refer (login_server_process_request.n_args)), 5 143 4 start_index fixed bin (21), /* position in arg_string at which arg (i) starts */ 5 144 4 arg_length fixed bin (21), /* length of arg (i) */ 5 145 3 arg_string char (ls_process_request_arg_string_length refer (login_server_process_request.arg_string_length)); 5 146 5 147 dcl ls_process_request_n_args fixed bin; 5 148 dcl ls_process_request_arg_string_length fixed bin (21); 5 149 5 150 dcl LS_PROCESS_REQUEST_VERSION_1 char (8) internal static options (constant) initial ("lspr0001"); 5 151 5 152 5 153 5 154 /* "list" request: list the user's disconnected processes, if any */ 5 155 5 156 dcl 1 login_server_list_request aligned based (ls_request_ptr), 5 157 2 header like ls_request_header, /* request_type = LS_LIST_REQUEST */ 5 158 2 handle bit (72); 5 159 5 160 dcl LS_LIST_REQUEST_VERSION_1 char (8) internal static options (constant) initial ("lslr0001"); 5 161 5 162 5 163 5 164 /* "dial" request: find a process to accept a dial */ 5 165 5 166 /* Note: because a dial request may or may not have been preceded 5 167* by a validate request/response, the initializer_handle may be null. 5 168**/ 5 169 5 170 dcl 1 login_server_dial_request aligned based (ls_request_ptr), 5 171 2 header like ls_request_header, /* request_type = LS_DIAL_REQUEST */ 5 172 2 initializer_handle bit (72), /* as provided in validate_response (if any) */ 5 173 2 terminate_event_channel fixed bin (71), /* event channel to wake up login server when master process terminates */ 5 174 2 dial_qualifier char (22), 5 175 2 person_id char (22), /* null if not specified */ 5 176 2 project_id char (9), /* likewise */ 5 177 2 user_person_id char (22), /* if -user was specified, otherwise "" */ 5 178 2 user_project_id char (9); /* likewise */ 5 179 5 180 dcl LS_DIAL_REQUEST_VERSION_1 char (8) internal static options (constant) initial ("lsdr0001"); 5 181 5 182 5 183 5 184 /* "disconnect" request: report that a login channel has disconnected */ 5 185 /* Note: this message is sent if the connection is broken either during the login dialogue 5 186* or later on when the process was using it */ 5 187 5 188 dcl 1 login_server_disconnect_request aligned based (ls_request_ptr), 5 189 2 header like ls_request_header, /* request_type = LS_DISCONNECT_REQUEST */ 5 190 2 handle bit (72), /* from original validate_response */ 5 191 2 process_id bit (36); /* ""b if no process established */ 5 192 5 193 dcl LS_DISCONNECT_REQUEST_VERSION_1 char (8) internal static options (constant) initial ("lsdc0001"); 5 194 5 195 5 196 5 197 /* "logout" request: indicates that user entered the "logout" request, ending the dialogue; does not require any response */ 5 198 5 199 dcl 1 login_server_logout_request aligned based (ls_request_ptr), 5 200 2 header like ls_request_header, /* request_type = LS_LOGOUT_REQUEST */ 5 201 2 handle bit (72); 5 202 5 203 dcl LS_LOGOUT_REQUEST_VERSION_1 char (8) internal static options (constant) initial ("lslg0001"); 5 204 5 205 5 206 5 207 /* "operator" request: sign the user on as an operator, the result of either 5 208* "login -operator" or "dial system". Note that in the latter case, there may 5 209* not have been a validate request (if the -user control argument wasn't specified), 5 210* in which case initializer_handle is null, and the person_id and project_id 5 211* are blank. 5 212**/ 5 213 5 214 dcl 1 login_server_operator_request aligned based (ls_request_ptr), 5 215 2 header like ls_request_header, /* request_type = LS_OPERATOR_REQUEST */ 5 216 2 initializer_handle bit (72) aligned, /* as provided in validate_response (if any) */ 5 217 2 terminate_event_channel fixed bin (71), /* event channel for wakeup when connection is dropped */ 5 218 2 person_id char (22), /* likewise */ 5 219 2 project_id char (9), /* likewise */ 5 220 2 virtual_channel char (32); /* if -virtual_channel specified, otherwise "" */ 5 221 5 222 dcl LOGIN_SERVER_OPERATOR_REQUEST_VERSION_1 char (8) internal static options (constant) initial ("lsor0001"); 5 223 5 224 5 225 5 226 /* Response types */ 5 227 5 228 dcl (LS_UNKNOWN_RESPONSE initial (100), /* unknown response type. */ 5 229 LS_VALIDATE_RESPONSE initial (101), /* response to validation request */ 5 230 LS_PROCESS_RESPONSE initial (102), /* response to process request */ 5 231 LS_LIST_RESPONSE initial (103), /* response to list request */ 5 232 LS_DIAL_RESPONSE initial (104), /* response to dial request */ 5 233 LS_TERMINATION_RESPONSE initial (105), /* to notify server of a logout */ 5 234 LS_NEW_PROC_RESPONSE initial (106), /* to notify server of process termination */ 5 235 LS_OPERATOR_RESPONSE initial (107)) /* response to operator request */ 5 236 fixed bin internal static options (constant); 5 237 5 238 dcl LS_RESPONSE_TYPES (100:107) char (10) internal static options (constant) initial 5 239 ( 5 240 "UNKNOWN", 5 241 "validate", 5 242 "process", 5 243 "list", 5 244 "dial", 5 245 "terminate", 5 246 "new_proc", 5 247 "operator"); 5 248 5 249 /* NOTE: the server_handle is not included in the response structures because 5 250* it is provided in the user_message_ structures */ 5 251 5 252 5 253 5 254 dcl ls_response_ptr pointer; 5 255 5 256 /* common header for all responses */ 5 257 5 258 dcl 1 login_server_response_header aligned based (ls_response_ptr), 5 259 2 message_type fixed bin, 5 260 2 header_pad bit (36), /* force doubleword alignment */ 5 261 2 version char (8); 5 262 5 263 5 264 5 265 /* "validate" response: indicate whether user_id/password is valid */ 5 266 5 267 dcl 1 login_server_validate_response aligned based (ls_response_ptr), 5 268 2 header like login_server_response_header, /* message_type = LS_VALIDATE_RESPONSE */ 5 269 2 handle bit (72), /* to be provided by the server in subsequent */ 5 270 /* messages for the same connection */ 5 271 2 authorization bit (72), /* default if none was supplied */ 5 272 2 authorization_range (2) bit (72), /* authorization range permitted for this user */ 5 273 2 status_code fixed bin (35), /* 0 iff user is validated */ 5 274 2 person_id char (22), /* primary name from the PNT */ 5 275 2 project_id char (9), /* primary name from the PNT or PDT */ 5 276 2 n_disconnected_processes fixed bin, /* number of disconnected processes for specified user */ 5 277 2 validate_pad fixed bin, 5 278 2 previous_login_info, /* for printing login message */ 5 279 3 time fixed bin (71), 5 280 3 terminal_type char (32), 5 281 3 terminal_id char (4), 5 282 2 incorrect_passwords fixed bin, /* number of times password given incorrectly */ 5 283 2 last_incorrect_password, /* where it came from */ 5 284 3 time fixed bin (71), 5 285 3 terminal_type char (32), 5 286 3 terminal_id char (4), 5 287 2 password_interval fixed bin, /* limit (in days) for password use or change */ 5 288 2 flags, 5 289 3 disconnect bit (1) unaligned, /* if "1"b, close the connection immediately */ 5 290 3 password_changed bit (1) unal, /* "1"b => changed password */ 5 291 3 default_auth_changed bit (1) unal, /* "1"b => changed default authorization */ 5 292 3 default_proj_changed bit (1) unal, /* "1"b => changed default project */ 5 293 3 password_expired bit (1) unal, /* "1"b => password not changed recently enough */ 5 294 3 password_unused_too_long bit (1) unal, /* "1"b => password hasn't been used recently */ 5 295 3 pad bit (30) unaligned; 5 296 5 297 dcl LS_VALIDATE_RESPONSE_VERSION_1 char (8) internal static options (constant) initial ("lsvs0001"); 5 298 5 299 5 300 5 301 /* "process" response: responds to request to create or connect */ 5 302 5 303 dcl 1 login_server_process_response aligned based (ls_response_ptr), 5 304 2 fixed_part, 5 305 3 header like login_server_response_header, /* message_type = LS_PROCESS_RESPONSE */ 5 306 3 status_code fixed bin (35), /* 0 iff process was created or requested process exists */ 5 307 3 process_id bit (36), 5 308 3 new_handle bit (72), /* changed if reconnecting, etc. to preexisting process, all 0 otherwise */ 5 309 3 authorization bit (72), /* authorization of created or existing process */ 5 310 3 process_group_id char (32), /* Person.Project.tag */ 5 311 3 process_number fixed bin, /* as in, "Your disconnected process #2..." */ 5 312 3 n_disconnected_processes fixed bin, /* valid even if code ^= 0, e.g., if request was ambiguous */ 5 313 3 start_event_channel fixed bin (71), /* event channel to wake up user process on */ 5 314 3 login_instance fixed bin, /* "This is your Nth interactive login" */ 5 315 3 accounting_info, /* for destroyed process, if any */ 5 316 4 cpu_usage fixed bin (71), 5 317 4 cost float bin, 5 318 3 flags, /* except for disconnect and logout, invalid if status_code ^= 0 */ 5 319 4 disconnect bit (1) unaligned, /* "1"b => break the connection immediately */ 5 320 4 logout bit (1) unaligned, /* "1"b => restart login sequence */ 5 321 4 created bit (1) unaligned, /* "1"b => new process created */ 5 322 4 connected bit (1) unaligned, /* "1"b => connected to old process */ 5 323 4 new_proc bit (1) unaligned, /* "1"b => connected after new_proc */ 5 324 4 destroyed bit (1) unaligned, /* "1"b => process destroyed */ 5 325 4 anonymous bit (1) unaligned, /* "1"b => anonymous user ("enter" or "enterp") */ 5 326 4 already_logged_in bit (1) unaligned, /* "1"b => user can't log in because he already is */ 5 327 4 message_coordinator bit (1) unaligned, /* "1"b => this connection is going to be used by the message coordinator */ 5 328 4 brief bit (1) unaligned, /* "1"b => brief user attribute from PDT */ 5 329 4 pad bit (26) unaligned, 5 330 3 initial_ring fixed bin, /* ring in which process was created */ 5 331 3 already_logged_in_info, /* relevant if already_logged_in flag is "1"b */ 5 332 4 connection_name char (32), 5 333 4 terminal_type char (32), 5 334 4 terminal_id char (4), 5 335 2 accounting_message_struc, /* character string assembled by initializer giving error or warnings about the user's account */ 5 336 3 accounting_message_length fixed bin, 5 337 3 accounting_message char (ls_process_response_accounting_message_length refer (login_server_process_response.accounting_message_length)); 5 338 5 339 dcl ls_process_response_accounting_message_length fixed bin; 5 340 5 341 dcl LOGIN_SERVER_PROCESS_RESPONSE_VERSION_1 char (8) internal static options (constant) initial ("lsps0001"); 5 342 5 343 5 344 5 345 /* "list" response: used if create request specified "list" command */ 5 346 5 347 dcl 1 login_server_list_response aligned based (ls_response_ptr), 5 348 2 header like login_server_response_header, /* message_type = LS_LIST_RESPONSE */ 5 349 2 n_processes fixed bin, /* number of disconnected processes (might be 0) */ 5 350 2 pad_header fixed bin, 5 351 2 process_info (login_server_list_response_n_processes refer (login_server_list_response.n_processes)), 5 352 3 creation_time fixed bin (71), 5 353 3 authorization bit (72), 5 354 3 initial_ring fixed bin, 5 355 3 pad_process_info fixed bin, 5 356 3 connection_info like user_connection_info; 5 357 5 358 dcl login_server_list_response_n_processes fixed bin; 5 359 5 360 dcl LOGIN_SERVER_LIST_RESPONSE_VERSION_1 char (8) internal static options (constant) initial ("lslr0001"); 5 361 5 362 5 363 5 364 /* "dial" response: response to dial request */ 5 365 5 366 dcl 1 login_server_dial_response aligned based (ls_response_ptr), 5 367 2 header like login_server_response_header, /* message_type = LS_DIAL_RESPONSE */ 5 368 2 status_code fixed bin (35), /* 0 iff dial server was found and all is OK */ 5 369 2 process_id bit (36), /* of dial server */ 5 370 2 process_group_id char (32), /* likewise */ 5 371 2 authorization bit (72), /* likewise, to make sure connection is usable */ 5 372 2 start_event_channel fixed bin (71), /* event channel to wake up user process on */ 5 373 2 process_ring fixed bin, /* initial ring of dial server */ 5 374 2 flags, 5 375 3 disconnect bit (1) unaligned, /* "1"b => break connection immediately */ 5 376 3 pad bit (35) unaligned; 5 377 5 378 dcl LOGIN_SERVER_DIAL_RESPONSE_VERSION_1 char (8) internal static options (constant) initial ("lsds0001"); 5 379 5 380 5 381 5 382 /* "termination" response: (not a response to anything): notify server that a 5 383* process terminated other than by logout */ 5 384 5 385 dcl 1 login_server_termination_response aligned based (ls_response_ptr), 5 386 2 header like login_server_response_header, /* message_type = LS_TERMINATION_RESPONSE */ 5 387 2 accounting_info, /* for printing in logout message */ 5 388 3 cpu_usage fixed bin (71), 5 389 3 cost float bin, 5 390 3 pad bit (33) unaligned, 5 391 2 process_id bit (36), /* of the logged-out process */ 5 392 2 process_group_id char (32), 5 393 2 status_code fixed bin (35), /* e.g., to indicate reason for fatal error */ 5 394 2 flags, 5 395 3 logout bit (1) aligned, /* no new process coming */ 5 396 3 automatic_logout bit (1) unaligned, 5 397 3 hold bit (1) unaligned, 5 398 3 brief bit (1) unaligned, 5 399 3 new_proc bit (1) unaligned, /* user-requested new process */ 5 400 3 fatal_error bit (1) unaligned, /* process died unexpectedly */ 5 401 3 fpe_caused_logout bit (1) unaligned, /* fatal error doesn't generate new process */ 5 402 3 fpe_loop bit (1) unaligned, /* fatal error loop: too many in too short a time */ 5 403 3 fpe_during_init bit (1) unaligned, /* fatal error during process initialization */ 5 404 3 offer_help bit (1) unaligned, /* print a message offering "help" */ 5 405 3 pad bit (27) unaligned; 5 406 5 407 dcl LOGIN_SERVER_TERMINATION_RESPONSE_VERSION_1 char (8) internal static options (constant) initial ("lstr0001"); 5 408 5 409 5 410 5 411 /* "new_proc" response: (not actually a response to anything) -- describes a 5 412* new process (after a termination_response) */ 5 413 5 414 dcl 1 login_server_new_proc_response aligned based (ls_response_ptr), 5 415 2 header like login_server_response_header, /* message_type = LS_NEW_PROC_RESPONSE */ 5 416 2 new_authorization bit (72), /* in case of new_proc -auth */ 5 417 2 new_start_event_channel fixed bin (71), /* event channel for starting new process */ 5 418 2 new_process_id bit (36); /* process_id of newly-created process */ 5 419 5 420 dcl LOGIN_SERVER_NEW_PROC_RESPONSE_VERSION_1 char (8) internal static options (constant) initial ("lsnp0001"); 5 421 5 422 5 423 5 424 /* "operator" response: indicates success or failure of operator request */ 5 425 5 426 dcl 1 login_server_operator_response aligned based (ls_response_ptr), 5 427 2 header like login_server_response_header, /* message_type = LS_OPERATOR_RESPONSE */ 5 428 2 status_code fixed bin (35), /* indicates success or failure */ 5 429 2 process_id bit (36), /* process ID of the message coordinator */ 5 430 2 process_group_id char (32), /* Person.Project.tag */ 5 431 2 event_channel fixed bin (71), /* event channel over which to send connect/disconnect wakeups */ 5 432 2 ring fixed bin, /* ring of message coordinator */ 5 433 2 flags, 5 434 3 disconnect bit (1) unaligned, /* "1" => break the connection immediately */ 5 435 3 mbz bit (35) unaligned; 5 436 5 437 5 438 dcl LOGIN_SERVER_OPERATOR_RESPONSE_VERSION_1 char (8) internal static options (constant) initial ("lsos0001"); 5 439 5 440 5 441 /* format of reply message sent to acknowledge receipt of a request */ 5 442 5 443 dcl ls_reply_message_ptr pointer; 5 444 5 445 dcl 1 ls_reply_message aligned based (ls_reply_message_ptr), 5 446 2 code fixed bin (35), 5 447 2 flags, 5 448 3 request_invalid bit (1) unaligned, /* "1"b => could not process request */ 5 449 3 response_sent bit (1) unaligned, /* "1"b => there is a response message */ 5 450 3 as_error_code bit (1) unaligned, /* "1"b => code is from as_error_table_ */ 5 451 3 do_not_reply bit (1) unaligned, /* "1"b => special flag for AS to prevent any reply from being sent to login server */ 5 452 3 mbz bit (32) unaligned; 5 453 5 454 /* The following are values used to identify the various requests internally; those from CREATE_REQ on 5 455* can appear as "command_type" in ls_process_requests. */ 5 456 5 457 dcl (LOGIN_REQ initial (1), 5 458 ENTER_REQ initial (2), 5 459 ENTERP_REQ initial (3), 5 460 CREATE_REQ initial (4), 5 461 DESTROY_REQ initial (5), 5 462 CONNECT_REQ initial (6), 5 463 NEW_PROC_REQ initial (7), 5 464 LIST_REQ initial (8)) 5 465 fixed bin internal static options (constant); 5 466 5 467 /* The following are the possible values for login_server_validate_request.network_connection_type. 5 468* They are used by the initializer to select a default process overseer and an instance tag. 5 469**/ 5 470 5 471 dcl (NETWORK_CONNECTION_LOGIN initial (1), 5 472 NETWORK_CONNECTION_DSA_FILE_TRANSFER initial (2)) 5 473 fixed bin internal static options (constant); 5 474 5 475 /* END INCLUDE FILE ... login_server_messages.incl.pl1 */ 289 290 /* BEGIN INCLUDE FILE ... ls_usage_types.incl.pl1 */ 6 2 6 3 /****^ HISTORY COMMENTS: 6 4* 1) change(86-06-30,Coren), approve(86-06-30,MCR7415), 6 5* audit(86-07-02,Margolin), install(86-07-11,MR12.0-1092): 6 6* Initial implementation. 6 7* 2) change(87-05-26,GDixon), approve(87-07-13,MCR7679), 6 8* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 6 9* A) Add LS_USAGE_VALUES constant array. 6 10* END HISTORY COMMENTS */ 6 11 6 12 /* Defines the permissible values for the "usage_type" field in the acctive_connection_list entry and elsewhere */ 6 13 6 14 dcl (LS_ENDPOINT_USAGE initial (0), /* an endpoint for logins, UFT, etc */ 6 15 LS_LOGIN_USAGE initial (1), /* primary login connection */ 6 16 LS_DIAL_USAGE initial (2), /* assigned to dial server */ 6 17 LS_DIAL_OUT_USAGE initial (3), /* user did dial_out operation */ 6 18 LS_SLAVE_ATTACH_USAGE initial (4), /* user did slave attachment */ 6 19 LS_MC_USAGE initial (5)) /* message coordinator channel */ 6 20 fixed bin internal static options (constant); 6 21 6 22 dcl LS_USAGE_VALUES (0:5) char(16) varying int static options(constant) init( 6 23 "endpoint", 6 24 "login", 6 25 "dial-in", 6 26 "dial-out", 6 27 "slave attach", 6 28 "msg coord"); 6 29 6 30 /* END INCLUDE FILE ... ls_usage_types.incl.pl1 */ 290 291 /* BEGIN INCLUDE FILE ... user_attributes.incl.pl1 TAC 10/79 */ 7 2 7 3 7 4 /****^ HISTORY COMMENTS: 7 5* 1) change(86-12-11,Brunelle), approve(87-07-13,MCR7741), 7 6* audit(87-04-19,GDixon), install(87-08-04,MR12.1-1056): 7 7* Add incl for abs_attributes.incl.pl1 to automatically include absentee 7 8* attribute switches. 7 9* 2) change(87-04-19,GDixon), approve(87-07-13,MCR7741), 7 10* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 7 11* A) Add USER_ATTRIBUTE_NAMES arrays. attribute_names.incl.pl1 can thereby 7 12* be deleted. 7 13* B) Add constants identifying attributes that can be changed by user at 7 14* login, etc. 7 15* END HISTORY COMMENTS */ 7 16 7 17 7 18 /* Modified 82-01-03 E. N. Kittlitz. to declare a complete level-1 structure */ 7 19 7 20 /* format: style4 */ 7 21 dcl 1 user_attributes aligned based, /* the user user_attributes */ 7 22 (2 administrator bit (1), /* 1 system administrator privileges */ 7 23 2 primary_line bit (1), /* 2 user has primary-line privileges */ 7 24 2 nobump bit (1), /* 2 user cannot be bumped */ 7 25 2 guaranteed_login bit (1), /* 4 user has guaranteed login privileges */ 7 26 2 anonymous bit (1), /* 5 used only in SAT. project may have anon.users */ 7 27 2 nopreempt bit (1), /* 6 used only in PDT. user not preemptable by others 7 28* . of same project (distinct from "nobump") */ 7 29 2 nolist bit (1), /* 7 don't list user on "who" */ 7 30 2 dialok bit (1), /* 8 user may have multiple consoles */ 7 31 2 multip bit (1), /* 9 user may have several processes */ 7 32 2 bumping bit (1), /* 10 in SAT. Can users in project bump each other? */ 7 33 2 brief bit (1), /* 11 no login or logout message */ 7 34 2 vinitproc bit (1), /* 12 user may change initial procedure */ 7 35 2 vhomedir bit (1), /* 13 user may change homedir */ 7 36 2 nostartup bit (1), /* 14 user does not want start_up.ec */ 7 37 2 sb_ok bit (1), /* 15 user may be standby */ 7 38 2 pm_ok bit (1), /* 16 user may be primary */ 7 39 2 eo_ok bit (1), /* 17 user may be edit_only */ 7 40 2 daemon bit (1), /* 18 user may login as daemon */ 7 41 2 vdim bit (1), /* 19 * OBSOLETE * user may change outer mdle */ 7 42 2 no_warning bit (1), /* 20 no warning message */ 7 43 2 igroup bit (1), /* 21 in SAT: this project may give its users individual groups 7 44* . in PDT: this user has an individual load control group */ 7 45 2 save_pdir bit (1), /* 22 save pdir after fatal process error */ 7 46 2 disconnect_ok bit (1), /* 23 ok to save user's disconnected processes */ 7 47 2 save_on_disconnect bit (1), /* 24 save them unless -nosave login arg is given */ 7 48 2 pad bit (12)) unaligned; 7 49 7 50 dcl USER_ATTRIBUTE_NAMES (0:24) char (20) int static options (constant) init 7 51 ("none", /* 0 */ 7 52 "administrator", /* 1 */ 7 53 "primary_line", /* 2 */ 7 54 "nobump", /* 3 */ 7 55 "guaranteed_login", /* 4 */ 7 56 "anonymous", /* 5 */ 7 57 "nopreempt", /* 6 */ 7 58 "nolist", /* 7 */ 7 59 "dialok", /* 8 */ 7 60 "multip", /* 9 */ 7 61 "bumping", /* 10 */ 7 62 "brief", /* 11 */ 7 63 "vinitproc", /* 12 */ 7 64 "vhomedir", /* 13 */ 7 65 "nostartup", /* 14 */ 7 66 "no_secondary", /* 15 */ 7 67 "no_prime", /* 16 */ 7 68 "no_eo", /* 17 */ 7 69 "daemon", /* 18 */ 7 70 "", /* 19 vdim OBSOLETE */ 7 71 "no_warning", /* 20 */ 7 72 "igroup", /* 21 */ 7 73 "save_pdir", /* 22 */ 7 74 "disconnect_ok", /* 23 */ 7 75 "save_on_disconnect"); /* 24 */ 7 76 7 77 dcl ALT_USER_ATTRIBUTE_NAMES (0:24) char (20) int static options (constant) init 7 78 ("null", /* 0 */ 7 79 "admin", /* 1 */ 7 80 "", "", /* 2 - 3 */ 7 81 "guar", /* 4 */ 7 82 "anon", /* 5 */ 7 83 "", "", /* 6 - 7 */ 7 84 "dial", /* 8 */ 7 85 "multi_login", /* 9 */ 7 86 "preempting", /* 10 */ 7 87 "", /* 11 */ 7 88 "v_process_overseer", /* 12 */ 7 89 "v_home_dir", /* 13 */ 7 90 "no_start_up", /* 14 */ 7 91 "no_sec", /* 15 */ 7 92 "no_primary", /* 16 */ 7 93 "no_edit_only", /* 17 */ 7 94 "op_login", /* 18 */ 7 95 "", /* 19 */ 7 96 "nowarn", /* 20 */ 7 97 "", "", "", /* 21 - 23 */ 7 98 "save"); /* 24 */ 7 99 7 100 dcl USER_ATTRIBUTES_always_allowed bit (36) aligned int static 7 101 options(constant) init("000000000010000000010000000000000000"b); 7 102 /* SAT/PDT attributes not needed for user to give (brief, no_warning) */ 7 103 7 104 dcl USER_ATTRIBUTES_default_in_pdt bit (36) aligned int static 7 105 options(constant) init("000000000010000000010000000000000000"b); 7 106 /* PDT value for (brief, no_warning) is default */ 7 107 7 108 dcl USER_ATTRIBUTES_settable_by_user bit (36) aligned int static 7 109 options(constant) init("000100000110010000010000000000000000"b); 7 110 /* user MIGHT set (bump, ns, brief, guar, no_warning) */ 7 111 8 1 /* BEGIN INCLUDE FILE ... user_abs_attributes.incl.pl1 */ 8 2 8 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 8 4 /* */ 8 5 /* This include file describes the attributes of an absentee job. It is */ 8 6 /* used by user_table_entry.incl.pl1, abs_message_format.incl.pl1 */ 8 7 /* and PIT.incl.pl1. */ 8 8 /* */ 8 9 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 8 10 8 11 /****^ HISTORY COMMENTS: 8 12* 1) change(86-12-08,GDixon), approve(87-07-13,MCR7741), 8 13* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 8 14* Separated abs_attributes from the request structure 8 15* (abs_message_format.incl.pl1) so that the identical structure could be 8 16* used in the ute structure (user_table_entry.incl.pl1). 8 17* 2) change(87-04-19,GDixon), approve(87-07-13,MCR7741), 8 18* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 8 19* Added ABS_ATTRIBUTE_NAMES array. 8 20* 3) change(87-11-11,Parisek), approve(88-02-11,MCR7849), 8 21* audit(88-03-22,Lippard), install(88-07-13,MR12.2-1047): 8 22* Added the no_start_up flag. SCP6367 8 23* END HISTORY COMMENTS */ 8 24 8 25 dcl 1 user_abs_attributes aligned based, 8 26 2 restartable bit (1) unaligned, /* 1 if request may be started over from the beginning */ 8 27 2 user_deferred_until_time bit (1) unaligned, /* 1 if request was specified as deferred */ 8 28 2 proxy bit (1) unaligned, /* 1 if request submitted for someone else */ 8 29 2 set_bit_cnt bit (1) unaligned, /* 1 if should set bit count after every write call */ 8 30 2 time_in_gmt bit (1) unaligned, /* 1 if deferred_time is in GMT */ 8 31 2 user_deferred_indefinitely bit (1) unaligned, /* 1 if operator is to say when to run it */ 8 32 2 secondary_ok bit (1) unaligned, /* 1 if ok to log in as secondary foreground user */ 8 33 2 truncate_absout bit (1) unaligned, /* 1 if .absout is to be truncated */ 8 34 2 restarted bit (1) unaligned, /* 1 if job is restarted */ 8 35 2 no_start_up bit (1) unaligned, /* 1 if requested -ns */ 8 36 2 attributes_pad bit (26) unaligned; 8 37 8 38 dcl ABS_ATTRIBUTE_NAMES (10) char (28) varying int static options(constant) init( 8 39 "restartable", 8 40 "user_deferred_until_time", 8 41 "proxy", 8 42 "set_bit_cnt", 8 43 "time_in_gmt", 8 44 "user_deferred_indefinitely", 8 45 "secondary_ok", 8 46 "truncate_absout", 8 47 "restarted", 8 48 "no_start_up"); 8 49 8 50 /* END INCLUDE FILE ... user_abs_attributes.incl.pl1 */ 8 51 7 112 7 113 7 114 /* END INCLUDE FILE ... user_attributes.incl.pl1 */ 291 292 /* BEGIN INCLUDE FILE ... user_table_entry.incl.pl1 */ 9 2 9 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 9 4 /* */ 9 5 /* This include file requires that the user include */ 9 6 /* user_attributes.incl.pl1 as well. It also includes */ 9 7 /* abs_attributes.incl.pl1 itself. */ 9 8 /* */ 9 9 /* This include file must be included to use absentee_user_table.incl.pl1, */ 9 10 /* answer_table.incl.pl1, and daemon_user_table.incl.pl1. */ 9 11 /* */ 9 12 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 9 13 9 14 /****^ HISTORY COMMENTS: 9 15* 1) change(81-12-21,Gilcrease), approve(86-03-27,MCR7370), 9 16* audit(86-06-23,Lippard), install(86-06-30,MR12.0-1082): 9 17* This comment for hcom. 9 18* 81-12-21 E. N. Kittlitz. derived from abs_user_tab.incl.pl1, 9 19* anstbl.incl.pl1, and dutbl.incl.pl1. 9 20* 82-01-02 E. N. Kittlitz. user_attributes.incl.pl1 changes 9 21* 84-04-04 BIM added privileged_dial_server and dial_server_ring 9 22* 84-07-12 BIM added min_process_authorization 9 23* 84-12-31 Keith Loepere added pdir_dir_quota 9 24* 85-01-16 by E. Swenson to add ute.session_uid 9 25* 2) change(85-11-16,Swenson), approve(87-07-13,MCR7737), 9 26* audit(87-04-14,GDixon), install(87-08-04,MR12.1-1056): 9 27* Added fields for DSA login server support. 9 28* 3) change(86-03-27,Gilcrease), approve(86-03-27,MCR7370), 9 29* audit(86-06-23,Lippard), install(86-06-30,MR12.0-1082): 9 30* Add truncate_absout and restarted bit for -truncate absout, SCP6297. 9 31* 4) change(86-04-09,Herbst), approve(87-07-13,MCR7697), 9 32* audit(87-04-14,GDixon), install(87-08-04,MR12.1-1056): 9 33* Added disconnection_rel_minutes. 9 34* 5) change(86-12-08,GDixon), approve(87-07-13,MCR7741), 9 35* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 9 36* Changed structure under ute.abs_attributes to use like structure in 9 37* abs_attributes.incl.pl1. This allows the same attributes to be used 9 38* in abs_message_format.incl.pl1 and pit.incl.pl1 as well as this include 9 39* file. 9 40* 6) change(87-04-14,GDixon), approve(87-07-13,MCR7741), 9 41* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 9 42* Move constants for ute.pw_flags.mask_ctl from answer_table.incl.pl1. 9 43* 7) change(87-04-16,GDixon), approve(87-07-13,MCR7741), 9 44* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 9 45* A) Global reorganization to locate things by type of data. 9 46* B) Eliminate ute.uflags.logged_in. 9 47* 8) change(87-05-10,GDixon), approve(87-07-13,MCR7741), 9 48* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 9 49* A) Reduced overlength person and project fields to proper length. 9 50* B) Adjusted dialed-console section to begin on even word boundary. 9 51* 9) change(87-05-13,GDixon), approve(87-07-13,MCR7741), 9 52* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 9 53* Add ute.line_type. 9 54* 10) change(87-11-19,Parisek), approve(88-02-11,MCR7849), 9 55* audit(88-02-23,Lippard), install(88-07-13,MR12.2-1047): 9 56* Added the lowest_ring element. Used the upper half of ute.highest_ring 9 57* for the storage. SCP6367 9 58* END HISTORY COMMENTS */ 9 59 9 60 /* format: style4 */ 9 61 9 62 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 9 63 /* */ 9 64 /* Each of the named sections below defines a type of data. Typing comes */ 9 65 /* from data associated with the ute entry itself, with the person, with */ 9 66 /* login argument data, from the main user of the data (eg, dialup_, */ 9 67 /* load_ctl_, login server). Each section begins on a double-word boundary */ 9 68 /* and is an even number of words long. The total structure is 300 decimal */ 9 69 /* words long. */ 9 70 /* */ 9 71 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 9 72 9 73 9 74 dcl UTE_version_4 fixed bin internal static options (constant) init (4); 9 75 9 76 dcl utep pointer automatic init (null); 9 77 9 78 dcl 1 ute based (utep) aligned, /* individual entry in one of the user control tables */ 9 79 9 80 /* Variables which give state of this entry */ 9 81 2 active fixed bin, /* state of entry. 0=>free. see dialup_values.incl.pl1 */ 9 82 2 process_type fixed bin, /* 1=interactive, 2=absentee, 3=daemon */ 9 83 2 ute_index fixed bin, /* index of ute in (anstbl autbl dutbl).entry array */ 9 84 2 next_free fixed bin, /* points to previous free entry */ 9 85 9 86 /* Information user gave about person_id associated with this entry. */ 9 87 2 person char (24) unal, /* user's name */ 9 88 2 project char (12) unal, /* project of absentee user */ 9 89 2 tag char (1) unal, /* instance tag - someday will be generated */ 9 90 2 tag_pad bit (27) unal, 9 91 2 anonymous fixed bin, /* 1 if anonymous, otherwise 0 */ 9 92 2 login_flags, /* flags for login data */ 9 93 3 cpw bit (1) unal, /* flag for wish to change password */ 9 94 3 generate_pw bit (1) unal, /* flag meaning -generate_pw (-gpw) was used. */ 9 95 3 special_pw unal, /* dial or slave */ 9 96 4 dial_pw bit (1) unal, /* true if dial -user */ 9 97 4 slave_pw bit (1) unal, /* true if slave -user */ 9 98 3 cdp bit (1) unal, /* flag for wish to change default project */ 9 99 3 cda bit (1) unal, /* flag to change default authorization */ 9 100 3 auth_given bit (1) unal, /* flag to mean -authorization was used. */ 9 101 3 noprint bit (1) unal, /* used at logout. inhibits printing. */ 9 102 3 operator bit (1) unaligned, /* user specified -operator on login command line */ 9 103 3 pw_pad bit (25) unal, /* spare parts */ 9 104 3 mask_ctl bit (2) unal, /* bits controlling pw mask. See constants, below */ 9 105 /* Must remain last in pw_flags so it does not */ 9 106 /* appear in PW_FLAG_VALUES array below. */ 9 107 2 generated_pw char (8) unal, /* user must type this as new password */ 9 108 2 old_password char (8) unal, /* must match user's previous password (value scrambled) */ 9 109 2 process_authorization bit (72), /* access_authorization of this process */ 9 110 9 111 /* Information user gave about process associated with this entry. */ 9 112 2 outer_module char (32) unal, /* Name of console dim */ 9 113 2 home_dir char (64) unal, /* initial home directory */ 9 114 2 init_proc char (64) unal, /* name of login responder */ 9 115 2 ip_len fixed bin (17) unal, /* length of initproc string */ 9 116 2 ss_len fixed bin (17) unal, /* length of subsystem string */ 9 117 2 ur_at like user_attributes aligned, /* bits on means attributes given by user */ 9 118 2 at like user_attributes aligned, /* bits on means attribute is on */ 9 119 2 initial_ring fixed bin, /* ring process will be started in */ 9 120 2 arg_count fixed bin, /* number of arguments to absentee control segment */ 9 121 2 ln_args fixed bin, /* length of string containing arguments */ 9 122 2 arg_lengths_ptr ptr, /* pointer to array of argument lengths */ 9 123 2 args_ptr ptr, /* pointer to arguments to absentee control segment */ 9 124 9 125 /* Most of the following information is relevant only to absentee processes */ 9 126 2 input_seg char (168) unal, /* pathname of absentee control segment */ 9 127 2 output_seg char (168) unal, /* pathname of absentee output file */ 9 128 2 request_id fixed bin (71), /* time request was entered - used as uid of request */ 9 129 2 reservation_id fixed bin (71), /* nonzero if job has a resource reservation */ 9 130 2 message_id bit (72), /* message segment id assoc with absentee request */ 9 131 2 deferred_time fixed bin (71), /* time at which absentee process should be created */ 9 132 2 max_cpu_time fixed bin (35), /* maximum number of seconds this process can run */ 9 133 2 queue fixed bin, /* -1=daemon;0=interactive or foreground;>0=queue no. 9 134* (but see uflags.adjust_abs_q_no). */ 9 135 2 real_queue fixed bin, /* real queue number; ute.queue gets fudged sometimes */ 9 136 2 abs_attributes aligned like user_abs_attributes, /* include abs_attributes.incl.pl1 */ 9 137 2 abs_flags, 9 138 3 abs_run bit (1) unal, /* on if job was started by abs run command */ 9 139 3 notify bit (1) unal, /* on if user wants notification at login and logout */ 9 140 3 abs_flags_pad bit (34) unal, 9 141 2 abs_group char (8) unal, /* original group before load_ctl_ moves it to absentee group */ 9 142 2 sender char (32) unal, /* name of RJE station that job is from */ 9 143 2 proxy_person char (28) unal, /* name of user who actually entered the request, if proxy */ 9 144 2 proxy_project char (9) unal, 9 145 2 proxy_project_pad char (3) unal, 9 146 2 abs_pad fixed bin, 9 147 9 148 /* Information about process actually created */ 9 149 2 proc_id bit (36), /* process id of absentee process */ 9 150 2 session_uid fixed bin (35), /* Unique authentication session id */ 9 151 2 process_authorization_range (2) bit (72) aligned, 9 152 2 audit bit (36), /* audit flags for user */ 9 153 2 lot_size fixed bin, /* Size of linkage offset table */ 9 154 2 kst_size fixed bin, /* Size of process known segment table */ 9 155 2 cls_size fixed bin, /* Size of process combined linkage */ 9 156 2 sus_channel fixed bin (71), /* event channel on which suspended process is blocked */ 9 157 2 lowest_ring fixed bin (17) unal, /* lowest ring permitted */ 9 158 2 highest_ring fixed bin (17) unal, /* highest ring permitted */ 9 159 2 pdir_lvix fixed bin (17) unal, /* index in disk table of lv where pdir is */ 9 160 2 pdir_quota fixed bin (17) unal, /* process directory quota */ 9 161 2 pdir_dir_quota fixed bin (17) unal, /* process directory quota for dirs */ 9 162 2 pdir_pad fixed bin(17) unal, 9 163 2 process_pad fixed bin, 9 164 9 165 /* Information about primary terminal associated with this entry */ 9 166 2 tty_name char (32) unal, /* absentee=>"abs1", etc. daemon=>"bk", etc. */ 9 167 2 terminal_type char (32) unaligned, /* terminal type */ 9 168 2 line_type fixed bin, /* line type */ 9 169 2 tty_id_code char (4) unal, /* "none" for absentee */ 9 170 2 network_connection_type fixed bin, /* see net_event_message.incl.pl1 */ 9 171 2 channel ptr unal, /* points to CDT entry for user, if any */ 9 172 9 173 /* Variables useful for dialed terminals */ 9 174 2 ndialed_consoles fixed bin, /* if master, number of slaves */ 9 175 2 dial_qualifier char (22) unal, /* first argument to dial command */ 9 176 2 dial_server_ring fixed bin (3) unsigned unaligned, /* dial server intends to attach dialing in channels at this ring. */ 9 177 2 dial_server_flags, 9 178 3 registered_dial_server bit (1) unal, /* process is a registered dial server */ 9 179 3 privileged_dial_server bit (1) unal, /* "1"b -> serves range of AIM classes */ 9 180 3 dial_server_flags_pad bit (13) unal, /* fill out the word */ 9 181 2 dial_ev_chn fixed bin (71), /* if master, control event channel */ 9 182 9 183 /* Information about usage/accounting. Device usage meters are in a 9 184* separate segment, "devtab" */ 9 185 2 pdtep ptr, /* ptr to user's pdt entry, where usage meters live */ 9 186 2 cpu_this_process fixed bin (71), /* cpu used so far this process */ 9 187 2 cpu_usage fixed bin (71), /* total cpu time used in this session */ 9 188 2 mem_usage fixed bin (71), /* memory usage for previous processes in session */ 9 189 2 mem_this_process fixed bin (71), /* memory usage at last update */ 9 190 2 last_update_time fixed bin (71), /* time of last account update */ 9 191 2 session_cost float bin, /* dollar cost of session, for printing in logout messages */ 9 192 2 ndevices fixed bin, /* Count of attached devices */ 9 193 2 device_head fixed bin, /* Table index of head of device chain */ 9 194 2 device_tail fixed bin, /* Table index of tail of device chain */ 9 195 2 rs_number fixed bin (6) unsigned unal, /* rate structure number */ 9 196 2 rs_number_pad bit(30) unal, 9 197 2 usage_pad fixed bin, 9 198 9 199 /* Information for dialup_ (control variables). */ 9 200 2 event fixed bin (71), /* event associated with channel or user manager */ 9 201 2 uprojp ptr, /* ptr to user project sat entry */ 9 202 2 login_time fixed bin (71), /* time when absentee user approved by lg_ctl_ */ 9 203 2 cant_bump_until fixed bin (71), /* bump-protection clock */ 9 204 2 recent_fatal_error_time fixed bin (71), /* time of first error in the suspected loop */ 9 205 2 recent_fatal_error_count fixed bin, /* counter to detect fatal process error loops */ 9 206 2 failure_reason fixed bin, /* why login refused 1=lg_ctl, 2=act_ctl, 3=load_ctl */ 9 207 2 count fixed bin, /* counter for logins and dialups */ 9 208 2 n_processes fixed bin, /* number of processes created in this session */ 9 209 2 lock_value fixed bin, /* number of locks set for this entry */ 9 210 2 login_result fixed bin, /* 0=logged in;1=hopeless,hang him up;2=allow another attempt */ 9 211 2 login_code char (8) unal, /* login command from LOGIN line */ 9 212 2 preempted fixed bin, /* if ^= 0 user preempted (never for abs) */ 9 213 2 destroy_flag fixed bin, /* >8 when awaiting destroy */ 9 214 2 logout_type char (4) unal, /* type of logout */ 9 215 2 logout_index fixed bin, /* to save logout handler index while waiting for termsgnl */ 9 216 2 disconnection_rel_minutes fixed bin (17) unal, /* disconnected this many minutes after login_time */ 9 217 2 next_disconnected_ate_index fixed bin (17) unal, /* thread of list of user's disconnected processes */ 9 218 2 work_class fixed bin, /* work class used by priority scheduler */ 9 219 2 group char (8) unal, /* party group identifier */ 9 220 2 whotabx fixed bin, /* index of user's entry in whotab */ 9 221 9 222 2 uflags, /* Miscellaneous flags */ 9 223 3 dont_call_init_admin bit (1) unal, /* Call overseer directly */ 9 224 3 ip_given bit (1) unal, /* user gave an initproc arg on login line */ 9 225 3 ss_given bit (1) unal, /* initial_procedure contains a subsystem name */ 9 226 3 lvs_attached bit (1) unal, /* set and used by the lv_request_ procedure */ 9 227 3 send_initial_string bit (1) unal, /* initial string should be sent after login line read */ 9 228 3 adjust_abs_q_no bit (1) unal, /* this is an absentee job; user_profile.queue is NOT true Q # */ 9 229 3 foreground_secondary_ok bit (1) unal, /* ok to login foreground absentee job as secondary */ 9 230 3 foreground_job bit (1) unal, /* job was originally from foreground queue */ 9 231 3 sus_sent bit (1) unal, /* sus_ ips signal has been sent to process */ 9 232 3 suspended bit (1) unal, /* process has responded to sus_ signal */ 9 233 3 ignore_cpulimit bit (1) unal, /* process is released, but timer can't be turned off */ 9 234 3 deferral_logged bit (1) unal, /* abs job deferral has already been logged once */ 9 235 3 save_if_disconnected bit (1) unal, /* user wants process preserved across hangups */ 9 236 3 disconnected bit (1) unal, /* process is disconnected from terminal */ 9 237 3 disconnected_list bit (1) unal, /* this ate is on a list of disconnected processes */ 9 238 3 proc_create_ok bit (1) unal, /* lg_ctl_ has set the process creation variables */ 9 239 3 activity_can_unbump bit (1) unal, /* only bump pending is for inactivity */ 9 240 3 fpe_causes_logout bit (1) unal, /* "1"b means don't try to new_proc after fatal process error */ 9 241 3 user_specified_immediate bit (1) unal, /* "1"b -> don't wait around for process destruction. */ 9 242 3 uflags_pad bit (17) unal, 9 243 9 244 /* Information used by load_ctl_ for the process */ 9 245 2 user_weight fixed bin, /* usually 10 - used in load control */ 9 246 2 standby_line fixed bin, /* 0=user has primary line, 1=standby user */ 9 247 2 bump_grace fixed bin (71), /* bump grace in microseconds */ 9 248 9 249 9 250 /* Information for login server */ 9 251 2 login_server_info, 9 252 3 our_handle bit (72) aligned, /* how LS refers to us. */ 9 253 3 his_handle bit (72) aligned, /* how we talk to LS */ 9 254 3 termination_event_channel fixed bin (71), /* for process termination notifications to the LS */ 9 255 3 response_event_channel fixed bin (71), /* for other communications with the LS */ 9 256 3 process_id bit (36) aligned, /* process_id of login server */ 9 257 2 ls_pad (5) fixed bin; /* pad to 300 decimal words */ 9 258 9 259 /* values for ute.process_type */ 9 260 9 261 dcl (PT_INTERACTIVE initial (1), 9 262 PT_ABSENTEE initial (2), 9 263 PT_DAEMON initial (3)) fixed bin internal static options (constant); 9 264 9 265 dcl PROCESS_TYPE_NAMES (0:3) char(12) varying int static options(constant) init( 9 266 "INVALID-TYPE", 9 267 "interactive", 9 268 "absentee", 9 269 "daemon"); 9 270 9 271 dcl TABLE_NAMES (0:3) char(20) int static options(constant) init( 9 272 "UNKNOWN-TABLE", 9 273 "answer_table", 9 274 "absentee_user_table", 9 275 "daemon_user_table"); 9 276 9 277 9 278 /* values for ute.pw_flags.mask_ctl */ 9 279 9 280 dcl (DO_MASK init ("00"b), 9 281 DONT_MASK init ("01"b), 9 282 DERIVE_MASK init ("10"b)) bit (2) internal static options (constant); 9 283 9 284 dcl MASK_CTL_NAMES (0:3) char(12) varying int static options(constant) init( 9 285 "do_mask", "dont_mask", "derive_mask", ""); 9 286 9 287 9 288 /* names for ute.pw_flags */ 9 289 9 290 dcl PW_FLAG_NAMES (9) char (12) varying int static options(constant) init( 9 291 "cpw", 9 292 "generate_pw", 9 293 "dial_pw", 9 294 "slave_pw", 9 295 "cdp", 9 296 "cda", 9 297 "auth_given", 9 298 "noprint", 9 299 "operator"); 9 300 9 301 /* names for ute.uflags */ 9 302 9 303 dcl UFLAG_NAMES (19) char (24) varying int static options (constant) init ( 9 304 "dont_call_init_admin", 9 305 "ip_given", 9 306 "ss_given", 9 307 "lvs_attached", 9 308 "send_initial_string", 9 309 "adjust_abs_q_no", 9 310 "foreground_secondary_ok", 9 311 "foreground_job", 9 312 "sus_sent", 9 313 "suspended", 9 314 "ignore_cpulimit", 9 315 "deferral_logged", 9 316 "save_if_disconnected", 9 317 "disconnected", 9 318 "disconnected_list", 9 319 "proc_create_ok", 9 320 "activity_can_unbump", 9 321 "fpe_causes_logout", 9 322 "user_specified_immediate"); 9 323 9 324 /* names for ute.abs_flags */ 9 325 9 326 dcl ABS_FLAG_NAMES (2) char (8) varying int static options (constant) init ( 9 327 "abs_run", 9 328 "notify"); 9 329 9 330 /* names of ute.dial_server_flags */ 9 331 9 332 dcl DIAL_SERVER_FLAG_NAMES (2) char (12) varying int static options (constant) init ( 9 333 "registered", 9 334 "privileged"); 9 335 9 336 /* values of ute.login_result */ 9 337 9 338 dcl LOGIN_RESULT_VALUES (0:2) char(24) varying int static options(constant) init( 9 339 "logged in", 9 340 "login failed, hangup", 9 341 "login failed, try again"); 9 342 9 343 /* END INCLUDE FILE ... user_table_entry.incl.pl1 */ 292 293 /* BEGIN INCLUDE FILE ... user_table_header.incl.pl1 */ 10 2 10 3 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 10 4 /* */ 10 5 /* This include file declares the header shared by the answer_table, */ 10 6 /* absentee_user_table and daemon_user_table include files. */ 10 7 /* */ 10 8 /* * * * * * * * * * * * * * * * * * * * * * * * * * */ 10 9 10 10 /****^ HISTORY COMMENTS: 10 11* 1) change(87-04-26,GDixon), approve(87-07-13,MCR7741), 10 12* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 10 13* Initial coding. 10 14* END HISTORY COMMENTS */ 10 15 10 16 dcl 1 ut_header aligned based, /* header shared by all user control tables. */ 10 17 2 header_version fixed bin, /* version of the header (3) */ 10 18 2 entry_version fixed bin, /* version of user table entries */ 10 19 2 user_table_type fixed bin, /* 1 interactive, 2 absentee, 3 daemon */ 10 20 2 header_length fixed bin, /* length of the header */ 10 21 2 max_size fixed bin, /* max number of entries in this table */ 10 22 2 current_size fixed bin, /* actual size of table (in entries) */ 10 23 2 number_free fixed bin, /* number of free entries in the table. */ 10 24 2 first_free fixed bin, /* index of first entry in the free list. */ 10 25 2 as_procid bit (36), /* process ID of user table manager process */ 10 26 2 ut_header_pad fixed bin; 10 27 10 28 /* END INCLUDE FILE ... user_table_header.incl.pl1 */ 293 294 295 end uc_cleanup_network_dials_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 07/13/88 0938.1 uc_cleanup_network_dials_.pl1 >special_ldd>install>MR12.2-1047>uc_cleanup_network_dials_.pl1 285 1 08/06/87 0913.4 active_connection_info.incl.pl1 >ldd>include>active_connection_info.incl.pl1 286 2 08/06/87 0913.0 answer_table.incl.pl1 >ldd>include>answer_table.incl.pl1 287 3 08/06/87 0913.4 as_data_.incl.pl1 >ldd>include>as_data_.incl.pl1 288 4 08/06/87 0913.4 dialup_values.incl.pl1 >ldd>include>dialup_values.incl.pl1 289 5 08/06/87 0913.4 login_server_messages.incl.pl1 >ldd>include>login_server_messages.incl.pl1 290 6 08/06/87 0913.5 ls_usage_types.incl.pl1 >ldd>include>ls_usage_types.incl.pl1 291 7 08/06/87 0913.6 user_attributes.incl.pl1 >ldd>include>user_attributes.incl.pl1 7-112 8 07/13/88 0900.1 user_abs_attributes.incl.pl1 >special_ldd>install>MR12.2-1047>user_abs_attributes.incl.pl1 292 9 07/13/88 0903.2 user_table_entry.incl.pl1 >special_ldd>install>MR12.2-1047>user_table_entry.incl.pl1 293 10 08/06/87 0913.6 user_table_header.incl.pl1 >ldd>include>user_table_header.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. ACT_INFO_VERSION_1 000002 constant char(8) initial packed unaligned dcl 1-40 ref 159 LOGIN_SERVER_TERMINATION_RESPONSE_VERSION_1 000000 constant char(8) initial packed unaligned dcl 5-407 ref 145 LS_DIAL_USAGE constant fixed bin(17,0) initial dcl 6-14 ref 167 LS_TERMINATION_RESPONSE constant fixed bin(17,0) initial dcl 5-228 ref 143 NOW_LOGGED_IN constant fixed bin(17,0) initial dcl 4-76 ref 180 P_code parameter fixed bin(35,0) dcl 85 in procedure "uc_cleanup_network_dials_" set ref 63 220* P_code parameter fixed bin(35,0) dcl 276 in procedure "Error" ref 273 P_connection_offset parameter bit(18) packed unaligned dcl 251 ref 248 256 P_logout_flag parameter bit(1) dcl 84 ref 63 137 P_process_id parameter bit(36) dcl 83 ref 63 136 UTE_SIZE constant fixed bin(17,0) initial dcl 2-120 ref 179 179 active based fixed bin(17,0) level 2 dcl 9-78 ref 180 active_connection_info based structure level 1 dcl 1-20 set ref 158* active_connection_info_ptr 000324 automatic pointer dcl 1-18 set ref 157* 158 159 166 167 170 171 172 173 174 175 208 257* addr builtin function dcl 129 ref 141 157 179 208 208 ansp 000326 automatic pointer initial dcl 2-53 set ref 176* 178 179 2-53* anstbl based structure level 1 dcl 2-55 as_data_$ansp 000022 external static pointer dcl 3-26 ref 176 auto_active_connection_info 000100 automatic structure level 1 dcl 89 set ref 157 auto_ls_reply 000240 automatic structure level 1 dcl 93 set ref 205* 208 208 auto_ls_termination_response 000214 automatic structure level 1 dcl 91 set ref 141 code 000365 automatic fixed bin(35,0) dcl 254 in procedure "Get_next" set ref 257* 260 262 262* code 000242 automatic fixed bin(35,0) dcl 95 in procedure "uc_cleanup_network_dials_" set ref 208* 213 220 connection_handle 000243 automatic fixed bin(35,0) dcl 96 in procedure "uc_cleanup_network_dials_" set ref 174* connection_handle 110 based fixed bin(35,0) level 2 in structure "active_connection_info" dcl 1-20 in procedure "uc_cleanup_network_dials_" set ref 174 connection_name 000244 automatic char(32) packed unaligned dcl 97 in procedure "uc_cleanup_network_dials_" set ref 173* 180 connection_name 2 based char(32) level 2 in structure "active_connection_info" dcl 1-20 in procedure "uc_cleanup_network_dials_" set ref 173 208* connection_offset 000254 automatic bit(18) packed unaligned dcl 98 in procedure "uc_cleanup_network_dials_" set ref 161* 162* 166* 201* connection_offset 000364 automatic bit(18) packed unaligned dcl 253 in procedure "Get_next" set ref 256* 257* current_size 5 based fixed bin(17,0) level 3 dcl 2-55 ref 178 entry 200 based structure array level 2 dcl 2-55 set ref 179 error_table_$noentry 000020 external static fixed bin(35,0) dcl 125 ref 260 flags 22 based structure level 2 dcl 5-385 force_disconnect_entry 50 based char(64) level 2 dcl 1-20 set ref 175 force_disconnect_name 000255 automatic char(64) packed unaligned dcl 99 set ref 175* group 000344 automatic varying char(32) dcl 232 set ref 234* 236* 237* 237 238* 238 239* 239 240* 240 242 header based structure level 2 dcl 2-55 header_pad 1 based bit(36) level 2 dcl 5-258 set ref 144* his_handle 440 based bit(72) level 3 dcl 9-78 ref 186 hpriv_connection_list_$get_next_user 000010 constant entry external dcl 114 ref 257 initializer_handle 000276 automatic bit(72) dcl 100 set ref 172* 180 login_server_info 436 based structure level 2 dcl 9-78 login_server_response_header based structure level 1 dcl 5-258 login_server_termination_response based structure level 1 dcl 5-385 set ref 142* 208 208 logout 22 based bit(1) level 3 dcl 5-385 set ref 149* logout_flag 000300 automatic bit(1) dcl 101 set ref 137* 149 ls_reply_message based structure level 1 dcl 5-445 ls_request_header based structure level 1 dcl 5-54 ls_response_ptr 000330 automatic pointer dcl 5-254 set ref 141* 142 143 144 145 147 148 149 206 208* 208 208 message_type based fixed bin(17,0) level 2 dcl 5-258 set ref 143* more 000301 automatic bit(1) dcl 102 set ref 162* 164 201* null builtin function dcl 129 ref 195 213 2-53 9-76 offset 113 based bit(18) level 2 dcl 1-20 set ref 166 our_handle 436 based bit(72) level 3 dcl 9-78 ref 180 owner_event_channel 000306 automatic fixed bin(71,0) dcl 105 set ref 171* 208* owner_handle 000304 automatic bit(72) dcl 104 set ref 186* 193* 208* owner_initializer_handle 46 based bit(72) level 2 dcl 1-20 set ref 172 owner_process_id 000302 automatic bit(36) dcl 103 in procedure "uc_cleanup_network_dials_" set ref 170* 180 192* 208* owner_process_id 33 based bit(36) level 2 in structure "active_connection_info" dcl 1-20 in procedure "uc_cleanup_network_dials_" set ref 170 person 4 based char(24) level 2 packed packed unaligned dcl 9-78 ref 235 236 process_group_id 11 based char(32) level 2 dcl 5-385 set ref 206* process_id 446 based bit(36) level 3 in structure "ute" dcl 9-78 in procedure "uc_cleanup_network_dials_" ref 180 process_id 10 based bit(36) level 2 in structure "login_server_termination_response" dcl 5-385 in procedure "uc_cleanup_network_dials_" set ref 147* project 12 based char(12) level 2 packed packed unaligned dcl 9-78 ref 238 rtrim builtin function dcl 129 ref 236 238 send_terminate 000310 automatic bit(1) dcl 106 set ref 177* 188* 191 196* 199* 203 size builtin function dcl 129 ref 208 208 status_code 21 based fixed bin(35,0) level 2 dcl 5-385 set ref 148* tag 15 based char(1) level 2 packed packed unaligned dcl 9-78 ref 240 terminate_event_channel 44 based fixed bin(71,0) level 2 dcl 1-20 set ref 171 tty_name 316 based char(32) level 2 packed packed unaligned dcl 9-78 ref 180 uc_logout_ 000012 constant entry external dcl 116 ref 214 uc_send_ls_response_ 000014 constant entry external dcl 117 ref 208 unspec builtin function dcl 129 set ref 142* 158* 205* usage_type 111 based fixed bin(17,0) level 2 dcl 1-20 set ref 167 user_abs_attributes based structure level 1 dcl 8-25 user_attributes based structure level 1 dcl 7-21 user_connection_info based structure level 1 dcl 5-65 user_group_id 000311 automatic char(32) packed unaligned dcl 107 set ref 187* 194* 206 user_process_id 000321 automatic bit(36) dcl 108 set ref 136* 147 257* user_table_mgr_$free 000016 constant entry external dcl 120 ref 215 ut_header based structure level 1 dcl 10-16 ute based structure level 1 dcl 9-78 ute_index 000322 automatic fixed bin(17,0) dcl 109 set ref 178* 179* utep 000332 automatic pointer initial dcl 9-76 set ref 179* 180 180 180 180 186 195* 213 214* 215* 9-76* 235 236 238 240 version 2 based char(8) level 2 in structure "login_server_response_header" dcl 5-258 in procedure "uc_cleanup_network_dials_" set ref 145* version based char(8) level 2 in structure "active_connection_info" dcl 1-20 in procedure "uc_cleanup_network_dials_" set ref 159* NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. ABS_ATTRIBUTE_NAMES internal static varying char(28) initial array dcl 8-38 ABS_FLAG_NAMES internal static varying char(8) initial array dcl 9-326 ACTIVE_VALUES internal static char(18) initial array dcl 4-86 ALT_USER_ATTRIBUTE_NAMES internal static char(20) initial array packed unaligned dcl 7-77 ANSTBL_version_4 internal static fixed bin(17,0) initial dcl 2-51 AT_NORMAL internal static char(8) initial packed unaligned dcl 2-116 AT_SHUTDOWN internal static char(8) initial packed unaligned dcl 2-116 AT_SPECIAL internal static char(8) initial packed unaligned dcl 2-116 CONNECT_REQ internal static fixed bin(17,0) initial dcl 5-457 CREATE_REQ internal static fixed bin(17,0) initial dcl 5-457 DERIVE_MASK internal static bit(2) initial packed unaligned dcl 9-280 DESTROY_REQ internal static fixed bin(17,0) initial dcl 5-457 DIAL_SERVER_FLAG_NAMES internal static varying char(12) initial array dcl 9-332 DONT_MASK internal static bit(2) initial packed unaligned dcl 9-280 DO_MASK internal static bit(2) initial packed unaligned dcl 9-280 ENTERP_REQ internal static fixed bin(17,0) initial dcl 5-457 ENTER_REQ internal static fixed bin(17,0) initial dcl 5-457 LIST_REQ internal static fixed bin(17,0) initial dcl 5-457 LOGIN_REQ internal static fixed bin(17,0) initial dcl 5-457 LOGIN_RESULT_VALUES internal static varying char(24) initial array dcl 9-338 LOGIN_SERVER_DIAL_RESPONSE_VERSION_1 internal static char(8) initial packed unaligned dcl 5-378 LOGIN_SERVER_LIST_RESPONSE_VERSION_1 internal static char(8) initial packed unaligned dcl 5-360 LOGIN_SERVER_NEW_PROC_RESPONSE_VERSION_1 internal static char(8) initial packed unaligned dcl 5-420 LOGIN_SERVER_OPERATOR_REQUEST_VERSION_1 internal static char(8) initial packed unaligned dcl 5-222 LOGIN_SERVER_OPERATOR_RESPONSE_VERSION_1 internal static char(8) initial packed unaligned dcl 5-438 LOGIN_SERVER_PROCESS_RESPONSE_VERSION_1 internal static char(8) initial packed unaligned dcl 5-341 LS_DIAL_OUT_USAGE internal static fixed bin(17,0) initial dcl 6-14 LS_DIAL_REQUEST internal static fixed bin(17,0) initial dcl 5-31 LS_DIAL_REQUEST_VERSION_1 internal static char(8) initial packed unaligned dcl 5-180 LS_DIAL_RESPONSE internal static fixed bin(17,0) initial dcl 5-228 LS_DISCONNECT_REQUEST internal static fixed bin(17,0) initial dcl 5-31 LS_DISCONNECT_REQUEST_VERSION_1 internal static char(8) initial packed unaligned dcl 5-193 LS_ENDPOINT_USAGE internal static fixed bin(17,0) initial dcl 6-14 LS_LIST_REQUEST internal static fixed bin(17,0) initial dcl 5-31 LS_LIST_REQUEST_VERSION_1 internal static char(8) initial packed unaligned dcl 5-160 LS_LIST_RESPONSE internal static fixed bin(17,0) initial dcl 5-228 LS_LOGIN_USAGE internal static fixed bin(17,0) initial dcl 6-14 LS_LOGOUT_REQUEST internal static fixed bin(17,0) initial dcl 5-31 LS_LOGOUT_REQUEST_VERSION_1 internal static char(8) initial packed unaligned dcl 5-203 LS_MC_USAGE internal static fixed bin(17,0) initial dcl 6-14 LS_NEW_PROC_RESPONSE internal static fixed bin(17,0) initial dcl 5-228 LS_OPERATOR_REQUEST internal static fixed bin(17,0) initial dcl 5-31 LS_OPERATOR_RESPONSE internal static fixed bin(17,0) initial dcl 5-228 LS_PROCESS_REQUEST internal static fixed bin(17,0) initial dcl 5-31 LS_PROCESS_REQUEST_VERSION_1 internal static char(8) initial packed unaligned dcl 5-150 LS_PROCESS_RESPONSE internal static fixed bin(17,0) initial dcl 5-228 LS_REQUEST_HEADER_VERSION_1 internal static char(8) initial packed unaligned dcl 5-63 LS_REQUEST_TYPES internal static char(10) initial array packed unaligned dcl 5-40 LS_RESPONSE_TYPES internal static char(10) initial array packed unaligned dcl 5-238 LS_SLAVE_ATTACH_USAGE internal static fixed bin(17,0) initial dcl 6-14 LS_UNKNOWN_RESPONSE internal static fixed bin(17,0) initial dcl 5-228 LS_USAGE_VALUES internal static varying char(16) initial array dcl 6-22 LS_VALIDATE_REQUEST internal static fixed bin(17,0) initial dcl 5-31 LS_VALIDATE_REQUEST_VERSION_1 internal static char(8) initial packed unaligned dcl 5-97 LS_VALIDATE_RESPONSE internal static fixed bin(17,0) initial dcl 5-228 LS_VALIDATE_RESPONSE_VERSION_1 internal static char(8) initial packed unaligned dcl 5-297 MASK_CTL_NAMES internal static varying char(12) initial array dcl 9-284 NETWORK_CONNECTION_DSA_FILE_TRANSFER internal static fixed bin(17,0) initial dcl 5-471 NETWORK_CONNECTION_LOGIN internal static fixed bin(17,0) initial dcl 5-471 NEW_PROC_REQ internal static fixed bin(17,0) initial dcl 5-457 NOW_DIALED internal static fixed bin(17,0) initial dcl 4-76 NOW_DIALED_OUT internal static fixed bin(17,0) initial dcl 4-76 NOW_DIALING internal static fixed bin(17,0) initial dcl 4-76 NOW_FREE internal static fixed bin(17,0) initial dcl 4-76 NOW_HAS_PROCESS internal static fixed bin(17,0) initial dcl 4-76 NOW_HUNG_UP internal static fixed bin(17,0) initial dcl 4-76 NOW_LISTENING internal static fixed bin(17,0) initial dcl 4-76 PREEMPT_BUMPED internal static fixed bin(17,0) initial dcl 4-132 PREEMPT_BUMPED_NO_TERM internal static fixed bin(17,0) initial dcl 4-132 PREEMPT_LOAD_CTL internal static fixed bin(17,0) initial dcl 4-132 PREEMPT_TERMSGNL_RECEIVED internal static fixed bin(17,0) initial dcl 4-132 PREEMPT_TERM_SENT internal static fixed bin(17,0) initial dcl 4-132 PREEMPT_UNBUMP internal static fixed bin(17,0) initial dcl 4-132 PREEMPT_UNBUMP_IGNORE_ALARM internal static fixed bin(17,0) initial dcl 4-132 PREEMPT_VALUES internal static varying char(28) initial array dcl 4-142 PROCESS_TYPE_NAMES internal static varying char(12) initial array dcl 9-265 PT_ABSENTEE internal static fixed bin(17,0) initial dcl 9-261 PT_ALARM internal static fixed bin(17,0) initial dcl 4-106 PT_BUMP internal static fixed bin(17,0) initial dcl 4-106 PT_DAEMON internal static fixed bin(17,0) initial dcl 9-261 PT_DESTROY_REQUEST internal static fixed bin(17,0) initial dcl 4-106 PT_DETACH internal static fixed bin(17,0) initial dcl 4-106 PT_FPE internal static fixed bin(17,0) initial dcl 4-106 PT_HANGUP internal static fixed bin(17,0) initial dcl 4-106 PT_INTERACTIVE internal static fixed bin(17,0) initial dcl 9-261 PT_LOGOUT internal static fixed bin(17,0) initial dcl 4-106 PT_NEW_PROC_AUTH internal static fixed bin(17,0) initial dcl 4-106 PT_NEW_PROC_REQUEST internal static fixed bin(17,0) initial dcl 4-106 PT_OPERATOR_TERMINATE internal static fixed bin(17,0) initial dcl 4-106 PT_SHUTDOWN internal static fixed bin(17,0) initial dcl 4-106 PT_UNBUMP internal static fixed bin(17,0) initial dcl 4-106 PW_FLAG_NAMES internal static varying char(12) initial array dcl 9-290 STATE_VALUES internal static char(15) initial array dcl 4-70 TABLE_NAMES internal static char(20) initial array packed unaligned dcl 9-271 TAG_ABSENTEE internal static char(1) initial packed unaligned dcl 4-93 TAG_DAEMON internal static char(1) initial packed unaligned dcl 4-93 TAG_INTERACTIVE internal static char(1) initial packed unaligned dcl 4-93 TAG_PROXY internal static char(1) initial packed unaligned dcl 4-93 TAG_UFT internal static char(1) initial packed unaligned dcl 4-93 TRA_VEC_VALUES internal static char(32) initial array dcl 4-54 TTY_DIALED internal static fixed bin(17,0) initial dcl 4-64 TTY_HUNG internal static fixed bin(17,0) initial dcl 4-64 TTY_KNOWN internal static fixed bin(17,0) initial dcl 4-64 TTY_MASKED internal static fixed bin(17,0) initial dcl 4-64 UFLAG_NAMES internal static varying char(24) initial array dcl 9-303 USER_ATTRIBUTES_always_allowed internal static bit(36) initial dcl 7-100 USER_ATTRIBUTES_default_in_pdt internal static bit(36) initial dcl 7-104 USER_ATTRIBUTES_settable_by_user internal static bit(36) initial dcl 7-108 USER_ATTRIBUTE_NAMES internal static char(20) initial array packed unaligned dcl 7-50 UTE_version_4 internal static fixed bin(17,0) initial dcl 9-74 WAIT_ANSWERBACK internal static fixed bin(17,0) initial dcl 4-25 WAIT_BEFORE_HANGUP internal static fixed bin(17,0) initial dcl 4-25 WAIT_CONNECT_REQUEST internal static fixed bin(17,0) initial dcl 4-25 WAIT_DELETE_CHANNEL internal static fixed bin(17,0) initial dcl 4-25 WAIT_DESTROY_REQUEST internal static fixed bin(17,0) initial dcl 4-25 WAIT_DETACH internal static fixed bin(17,0) initial dcl 4-25 WAIT_DIALUP internal static fixed bin(17,0) initial dcl 4-25 WAIT_DIAL_OUT internal static fixed bin(17,0) initial dcl 4-25 WAIT_DIAL_RELEASE internal static fixed bin(17,0) initial dcl 4-25 WAIT_DISCARD_WAKEUPS internal static fixed bin(17,0) initial dcl 4-25 WAIT_FIN_PRIV_ATTACH internal static fixed bin(17,0) initial dcl 4-25 WAIT_FIN_TANDD_ATTACH internal static fixed bin(17,0) initial dcl 4-25 WAIT_GREETING_MSG internal static fixed bin(17,0) initial dcl 4-25 WAIT_HANGUP internal static fixed bin(17,0) initial dcl 4-25 WAIT_LOGIN_ARGS internal static fixed bin(17,0) initial dcl 4-25 WAIT_LOGIN_LINE internal static fixed bin(17,0) initial dcl 4-25 WAIT_LOGOUT internal static fixed bin(17,0) initial dcl 4-25 WAIT_LOGOUT_HOLD internal static fixed bin(17,0) initial dcl 4-25 WAIT_LOGOUT_SIG internal static fixed bin(17,0) initial dcl 4-25 WAIT_NEW_PASSWORD internal static fixed bin(17,0) initial dcl 4-25 WAIT_NEW_PROC internal static fixed bin(17,0) initial dcl 4-25 WAIT_NEW_PROC_REQUEST internal static fixed bin(17,0) initial dcl 4-25 WAIT_OLD_PASSWORD internal static fixed bin(17,0) initial dcl 4-25 WAIT_PASSWORD internal static fixed bin(17,0) initial dcl 4-25 WAIT_REMOVE internal static fixed bin(17,0) initial dcl 4-25 WAIT_SLAVE_REQUEST internal static fixed bin(17,0) initial dcl 4-25 WAIT_TANDD_HANGUP internal static fixed bin(17,0) initial dcl 4-25 as_data_$BS external static char(1) dcl 3-21 as_data_$CR external static char(1) dcl 3-22 as_data_$abs_dim external static char(32) packed unaligned dcl 3-23 as_data_$acct_update_priority external static fixed bin(17,0) dcl 3-24 as_data_$acsdir external static char(168) packed unaligned dcl 3-25 as_data_$as_procid external static bit(36) dcl 3-27 as_data_$as_ring external static fixed bin(3,0) dcl 3-28 as_data_$as_tty automatic char(6) packed unaligned dcl 3-29 as_data_$asmtp external static pointer dcl 3-30 as_data_$autp external static pointer dcl 3-31 as_data_$buzzardp external static pointer dcl 3-32 as_data_$cdtp external static pointer dcl 3-33 as_data_$debug_flag external static bit(1) dcl 3-84 as_data_$default_weight external static fixed bin(35,0) dcl 3-34 as_data_$devtabp external static pointer dcl 3-35 as_data_$dft_user_ring external static fixed bin(3,0) dcl 3-36 as_data_$dutp external static pointer dcl 3-37 as_data_$g115_dim external static char(32) packed unaligned dcl 3-38 as_data_$lct_initialized external static bit(1) dcl 3-39 as_data_$lct_size external static fixed bin(17,0) dcl 3-40 as_data_$login_args external static structure level 1 dcl 3-62 as_data_$login_words external static fixed bin(17,0) dcl 3-77 as_data_$ls_message_buffer_cur_lth external static fixed bin(18,0) dcl 3-86 as_data_$ls_message_buffer_max_lth external static fixed bin(18,0) dcl 3-87 as_data_$ls_message_buffer_ptr external static pointer dcl 3-88 as_data_$ls_request_server_info_ptr external static pointer dcl 3-85 as_data_$max_user_ring external static fixed bin(3,0) dcl 3-41 as_data_$mgtp external static pointer dcl 3-42 as_data_$mrd_dim external static char(32) packed unaligned dcl 3-43 as_data_$ntty_dim external static char(32) packed unaligned dcl 3-44 as_data_$pdtdir external static char(168) packed unaligned dcl 3-45 as_data_$pit_ptr external static pointer dcl 3-46 as_data_$rcpdir external static char(168) packed unaligned dcl 3-47 as_data_$request_priority external static fixed bin(17,0) dcl 3-48 as_data_$rs_ptrs external static pointer array dcl 3-49 as_data_$rtdtp external static pointer dcl 3-50 as_data_$sat_htp external static pointer dcl 3-51 as_data_$satp external static pointer dcl 3-52 as_data_$signal_types external static structure level 1 dcl 3-67 as_data_$suffix external static char(2) array packed unaligned dcl 3-53 as_data_$sysdir external static char(168) packed unaligned dcl 3-54 as_data_$system_signal_types external static structure level 1 dcl 3-72 as_data_$teens_suffix external static char(2) array packed unaligned dcl 3-55 as_data_$terminet_tabs_string external static varying char(144) dcl 3-56 as_data_$tty_dim external static char(32) packed unaligned dcl 3-57 as_data_$update_priority external static fixed bin(17,0) dcl 3-58 as_data_$version external static char(8) packed unaligned dcl 3-59 as_data_$whoptr external static pointer dcl 3-60 as_data_login_words based structure level 1 dcl 3-77 login_server_dial_request based structure level 1 dcl 5-170 login_server_dial_response based structure level 1 dcl 5-366 login_server_disconnect_request based structure level 1 dcl 5-188 login_server_list_request based structure level 1 dcl 5-156 login_server_list_response based structure level 1 dcl 5-347 login_server_list_response_n_processes automatic fixed bin(17,0) dcl 5-358 login_server_logout_request based structure level 1 dcl 5-199 login_server_new_proc_response based structure level 1 dcl 5-414 login_server_operator_request based structure level 1 dcl 5-214 login_server_operator_response based structure level 1 dcl 5-426 login_server_process_request based structure level 1 dcl 5-103 login_server_process_response based structure level 1 dcl 5-303 login_server_validate_request based structure level 1 dcl 5-76 login_server_validate_response based structure level 1 dcl 5-267 ls_process_request_arg_string_length automatic fixed bin(21,0) dcl 5-148 ls_process_request_n_args automatic fixed bin(17,0) dcl 5-147 ls_process_response_accounting_message_length automatic fixed bin(17,0) dcl 5-339 ls_reply_message_ptr automatic pointer dcl 5-443 ls_request_ptr automatic pointer dcl 5-50 NAMES DECLARED BY EXPLICIT CONTEXT. EXIT 000345 constant label dcl 220 set ref 278 Error 000531 constant entry internal dcl 273 ref 262 Get_Group_ID 000351 constant entry internal dcl 229 ref 187 Get_next 000461 constant entry internal dcl 248 ref 162 201 uc_cleanup_network_dials_ 000040 constant entry external dcl 63 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 672 716 553 702 Length 1326 553 24 374 116 0 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME uc_cleanup_network_dials_ 298 external procedure is an external procedure. Get_Group_ID internal procedure shares stack frame of external procedure uc_cleanup_network_dials_. Get_next internal procedure shares stack frame of external procedure uc_cleanup_network_dials_. Error internal procedure shares stack frame of external procedure uc_cleanup_network_dials_. STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME uc_cleanup_network_dials_ 000100 auto_active_connection_info uc_cleanup_network_dials_ 000214 auto_ls_termination_response uc_cleanup_network_dials_ 000240 auto_ls_reply uc_cleanup_network_dials_ 000242 code uc_cleanup_network_dials_ 000243 connection_handle uc_cleanup_network_dials_ 000244 connection_name uc_cleanup_network_dials_ 000254 connection_offset uc_cleanup_network_dials_ 000255 force_disconnect_name uc_cleanup_network_dials_ 000276 initializer_handle uc_cleanup_network_dials_ 000300 logout_flag uc_cleanup_network_dials_ 000301 more uc_cleanup_network_dials_ 000302 owner_process_id uc_cleanup_network_dials_ 000304 owner_handle uc_cleanup_network_dials_ 000306 owner_event_channel uc_cleanup_network_dials_ 000310 send_terminate uc_cleanup_network_dials_ 000311 user_group_id uc_cleanup_network_dials_ 000321 user_process_id uc_cleanup_network_dials_ 000322 ute_index uc_cleanup_network_dials_ 000324 active_connection_info_ptr uc_cleanup_network_dials_ 000326 ansp uc_cleanup_network_dials_ 000330 ls_response_ptr uc_cleanup_network_dials_ 000332 utep uc_cleanup_network_dials_ 000344 group Get_Group_ID 000364 connection_offset Get_next 000365 code Get_next THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return_mac signal_op ext_entry THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. hpriv_connection_list_$get_next_user uc_logout_ uc_send_ls_response_ user_table_mgr_$free THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. as_data_$ansp error_table_$noentry LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 63 000034 2 53 000045 9 76 000047 136 000050 137 000053 141 000056 142 000060 143 000063 144 000065 145 000066 147 000071 148 000073 149 000074 157 000076 158 000100 159 000103 161 000106 162 000107 164 000111 166 000115 167 000120 170 000123 171 000125 172 000127 173 000132 174 000135 175 000137 176 000142 177 000146 178 000147 179 000157 180 000164 186 000202 187 000205 188 000213 190 000215 191 000217 192 000221 193 000222 194 000224 195 000227 196 000231 198 000233 199 000234 201 000235 203 000237 205 000241 206 000243 208 000247 213 000304 214 000312 215 000335 218 000344 220 000345 222 000350 229 000351 234 000353 235 000354 236 000361 237 000401 238 000410 239 000434 240 000443 242 000452 248 000461 256 000463 257 000470 260 000505 262 000514 264 000521 266 000525 273 000531 278 000533 ----------------------------------------------------------- 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