COMPILATION LISTING OF SEGMENT convert_dial_message_ Compiled by: Multics PL/I Compiler, Release 29, of July 28, 1986 Compiled at: Honeywell Bull, Phx. Az., Sys-M Compiled on: 08/04/87 1647.4 mst Tue Options: optimize map 1 /****^ *********************************************************** 2* * * 3* * Copyright, (C) Honeywell Information Systems Inc., 1982 * 4* * * 5* * Copyright (c) 1972 by Massachusetts Institute of * 6* * Technology and Honeywell Information Systems, Inc. * 7* * * 8* *********************************************************** */ 9 10 11 /* CONVERT_DIAL_MESSAGE_ - Procedure to convert the event message 12* received on a dial control channel into a device name, default 13* IOSIM/DIM name, and standard status code. 14* 15* Written 750310 by Paul Green 16* Modified 03/18/76 by David Jordan to add return_io_module entry. 17* Modified 07/05/76 by D. M. Wells to understand about FTP channels 18* and to use as_data_ names for IOSIMs 19* Modified 04/23/79 by C. Hornig to know that AS uses iox_. 20* Modified 80-11-11 by E.N. Kittlitz for full error code, line type. 21* Modified May 1982 by E. N. Kittlitz for silly error_table_ typo. 22**/ 23 24 25 26 /****^ HISTORY COMMENTS: 27* 1) change(86-06-30,Coren), approve(86-06-30,MCR7415), 28* audit(86-07-02,Margolin), install(86-07-11,MR12.0-1092): 29* Use dial_event_message.incl.pl1 to interpret the format of the message. 30* Call as_user_message_$read_message to get the information defining the 31* connection if the ls_message flag is set in the event message. 32* END HISTORY COMMENTS */ 33 34 35 /* format: style4 */ 36 convert_dial_message_: 37 procedure (bv_dial_message_fb, bv_device, bv_io_module, bv_n_dialed, bv_status, bv_code); 38 39 /* parameters */ 40 41 dcl (bv_dial_message_fb fixed bin (71), /* Input */ 42 bv_device char (*), /* Output */ 43 bv_io_module char (*), /* Output */ 44 bv_n_dialed fixed bin, /* Output */ 45 bv_code fixed bin (35) /* Output */ 46 ) parameter; 47 48 dcl 1 bv_status aligned parameter, /* Output */ 49 2 dialed_up bit (1) unaligned, 50 2 hung_up bit (1) unaligned, 51 2 control bit (1) unaligned, 52 2 pad bit (33) unaligned; 53 54 dcl bv_dial_message bit (72) aligned based (addr (bv_dial_message_fb)); 55 56 /* automatic */ 57 58 dcl make_iox_name bit (1) aligned; /* which flavor of io module, "1"b-> iox */ 59 dcl chan_name char (32); 60 dcl code fixed bin (35); 61 dcl system_areap pointer; 62 63 dcl 1 auto_user_message_info aligned like as_user_message_info; 64 65 /* based */ 66 67 dcl user_message (as_user_message_info.message_length) bit (36) aligned based (ls_connection_message_ptr); 68 69 dcl 1 message_device unal based (dial_event_message_ptr), /* for messages that contain devxs */ 70 2 devx fixed bin (17) unal, 71 2 line_type bin (17) unal, 72 2 pad fixed bin (35) unal; 73 74 dcl 1 message_error aligned based (dial_event_message_ptr),/* for messages that contain full error codes */ 75 2 error_code fixed bin (35) aligned, 76 2 pad fixed bin (35) aligned; 77 78 dcl 1 devx_tab_entry aligned based, /* format of internal dexv tab entry */ 79 2 channel char (32), 80 2 devx fixed bin; 81 82 dcl 1 devx_tab aligned based (devx_tabp), 83 2 devx_entries (n_devx_entries) like devx_tab_entry; 84 85 /* builtins and conditions */ 86 87 dcl (addr, fixed, hbound, length, null, rtrim, string) builtin; 88 89 dcl cleanup condition; 90 91 /* entries */ 92 93 dcl hcs_$tty_get_name entry (fixed bin, char (*), fixed bin, fixed bin (35)); 94 dcl get_temp_segment_ entry (char (*), pointer, fixed bin (35)); 95 dcl get_system_free_area_ entry () returns (ptr); 96 dcl user_message_$read_message entry (pointer, pointer, fixed bin (35)); 97 98 /* external static */ 99 100 dcl (as_data_$g115_dim, as_data_$mrd_dim, as_data_$ntty_dim, as_data_$tty_dim) 101 character (32) external static; 102 103 dcl (error_table_$action_not_performed, 104 error_table_$unimplemented_version, 105 error_table_$smallarg, 106 error_table_$badcall) 107 fixed bin (35) external static; 108 109 /* internal static variables */ 110 111 dcl n_devx_entries fixed bin int static; /* size of current devx_tab */ 112 dcl devx_tabp ptr int static init (null); 113 dcl 1 static_devx_tab aligned int static, /* use this little table until it overflows */ 114 2 entries (8) like devx_tab_entry; 115 116 /* program */ 117 118 make_iox_name = ""b; /* return ios DIM name */ 119 goto cv_go; 120 121 return_io_module: entry (bv_dial_message_fb, bv_device, bv_io_module, 122 bv_n_dialed, bv_status, bv_code); 123 124 make_iox_name = "1"b; /* caller wants to use iox */ 125 goto cv_go; 126 127 cv_go: 128 dial_event_message_ptr = addr (bv_dial_message); /* get set to overlay on message */ 129 bv_n_dialed = -1; /* not all messages set this...initialize it */ 130 string (bv_status) = ""b; /* .. */ 131 132 /* check for message of all 1s (-1) which dial_manager_ may return */ 133 134 if bv_dial_message = (72)"1"b then do; 135 bv_code = error_table_$badcall; 136 bv_status.control = "1"b; 137 return; 138 end; 139 140 /* See if this is a control message or a terminal status message */ 141 142 if dial_event_message.description = "contrl" /* it's a control message */ 143 then do; 144 bv_status.control = "1"b; /* mark as a control message */ 145 146 if dial_event_message.control = DIALS_ALLOWED 147 then bv_code = 0; 148 else if dial_event_message.control = DIALS_DENIED 149 then bv_code = error_table_$action_not_performed; 150 else do; 151 bv_n_dialed = fixed (dial_event_message.control, 18); 152 bv_code = 0; 153 end; 154 return; 155 end; 156 157 /* See if this is an error message */ 158 159 if dial_event_message.error_msg then do; /* it's an error return */ 160 bv_status.control = "1"b; 161 bv_code = message_error.error_code; 162 return; 163 end; 164 165 166 /* It is a terminal status message ... return device name from message */ 167 168 bv_status.control = "0"b; /* mark as a terminal info message */ 169 if dial_event_message.devx_msg then do; 170 call hcs_$tty_get_name ((message_device.devx), chan_name, (0), code); 171 if code ^= 0 then do; 172 if dial_event_message.control = JUST_HUNGUP then do; /* I may have name internally */ 173 call lookup_chan_name ((message_device.devx), chan_name); 174 if chan_name = "" then do; 175 bv_code = code; 176 return; 177 end; 178 end; 179 else do; 180 bv_code = code; 181 return; 182 end; 183 end; 184 else if dial_event_message.control = JUST_DIALED then 185 call store_chan_name ((message_device.devx), chan_name); 186 187 if length (bv_device) < length (rtrim (chan_name)) then do; 188 bv_code = error_table_$smallarg; 189 return; 190 end; 191 bv_device = chan_name; 192 193 /* try to deduce I/O module name from line type */ 194 195 bv_io_module = as_data_$tty_dim; /* default assumed */ 196 if message_device.line_type = LINE_MC then bv_io_module = as_data_$mrd_dim; 197 else if message_device.line_type = LINE_TELNET then bv_io_module = as_data_$ntty_dim; 198 else if message_device.line_type = LINE_G115 then bv_io_module = as_data_$g115_dim; 199 else if message_device.line_type = LINE_BSC then bv_io_module = "bisync_"; 200 end; 201 202 else if dial_event_message.ls_msg 203 then do; /* message is from login server; the "device" name and I/O module are in a user_message sent by the login server */ 204 as_user_message_info_ptr = addr (auto_user_message_info); 205 as_user_message_info.version = AS_USER_MESSAGE_INFO_VERSION_1; 206 string (as_user_message_info.flags) = ""b; 207 as_user_message_info.message_handle = dial_event_message_handle || USER_MESSAGE_LS_CONNECTION_INFO_HANDLE_LOWER_18; 208 system_areap = get_system_free_area_ (); 209 ls_connection_message_ptr = null (); 210 211 on cleanup 212 begin; 213 if ls_connection_message_ptr ^= null () 214 then free user_message; 215 end; 216 217 call user_message_$read_message (system_areap, as_user_message_info_ptr, code); 218 if code ^= 0 219 then do; 220 bv_code = code; 221 return; 222 end; 223 224 ls_connection_message_ptr = as_user_message_info.message_ptr; 225 if ls_connection_message_common.version ^= LS_CONNECTION_MESSAGE_V1 226 then do; 227 free user_message; 228 bv_code = error_table_$unimplemented_version; 229 return; 230 end; 231 232 bv_device = ls_connection_message_common.connection_name; 233 bv_io_module = ls_connection_message_common.io_module_name; 234 free user_message; 235 end; 236 237 else bv_device = dial_event_message.description; /* this should never happen, but it's all we've got */ 238 239 if ^make_iox_name then /* user really wanted an iox io module name */ 240 if bv_io_module = as_data_$tty_dim then bv_io_module = "tw_"; /* map the names */ 241 else if bv_io_module = as_data_$ntty_dim then bv_io_module = "ntw_"; 242 else if bv_io_module = as_data_$mrd_dim then bv_io_module = "mrd_"; 243 else ; /* don't know how to map name, leave asis */ 244 245 /* Convert control bits into standard status code. */ 246 247 if dial_event_message.control = JUST_DIALED 248 then bv_status.dialed_up = "1"b; 249 else if dial_event_message.control = JUST_HUNGUP 250 then bv_status.hung_up = "1"b; 251 252 /* That's it. */ 253 254 bv_code = 0; 255 return; 256 257 /* procedure to manage an internal data-base of channel names and devx's */ 258 /* this is because if we are told by the answering service that one of our 259* channels hung up, we are only told the devx. There is no sure way of finding 260* the channel name unless we remember it ourselves from the time the channel 261* hung up. */ 262 263 store_chan_name: proc (devx, name); 264 265 dcl devx fixed bin; 266 dcl name char (*); 267 268 dcl i fixed bin; 269 dcl code fixed (35); 270 dcl p ptr; 271 272 if devx_tabp = null () then do; /* once per process */ 273 devx_tabp = addr (static_devx_tab); 274 n_devx_entries = hbound (static_devx_tab.entries, 1); 275 do i = 1 to n_devx_entries; 276 devx_tab.devx (i) = -1; 277 devx_tab.channel (i) = ""; 278 end; 279 end; 280 281 do i = 1 to n_devx_entries; /* look for entry for given devx */ 282 if devx_tab.devx (i) = devx then do; 283 devx_tab.channel (i) = name; /* remember name */ 284 return; 285 end; 286 end; 287 288 do i = 1 to n_devx_entries; /* look for free entry */ 289 if devx_tab.devx (i) = -1 then do; 290 devx_tab.devx (i) = devx; 291 devx_tab.channel (i) = name; 292 return; 293 end; 294 end; 295 296 if devx_tabp = addr (static_devx_tab) then do; /* our internal static table is full */ 297 call get_temp_segment_ ("convert_dial_message_", p, code); 298 if code ^= 0 then return; /* punt */ 299 do i = 1 to n_devx_entries; 300 p -> devx_tab.devx (i) = devx_tab.devx (i); 301 p -> devx_tab.channel (i) = devx_tab.channel (i); 302 end; 303 devx_tabp = p; /* abandon internal static table */ 304 end; 305 306 n_devx_entries = n_devx_entries + 1; /* can grow without bound now */ 307 devx_tab.devx (n_devx_entries) = devx; 308 devx_tab.channel (n_devx_entries) = name; 309 return; 310 311 lookup_chan_name: entry (devx, name); 312 313 name = ""; 314 if devx_tabp = null () then return; 315 do i = 1 to n_devx_entries; 316 if devx_tab.devx (i) = devx then do; 317 name = devx_tab.channel (i); 318 return; 319 end; 320 end; 321 322 end store_chan_name; 323 1 1 /* BEGIN INCLUDE FILE ... line_types.incl.pl1 */ 1 2 1 3 /* Written November 10 1975 by Paul Green */ 1 4 /* Modified October 1978 by Larry Johnson to include line_type_names */ 1 5 /* Modified 12/19/78 by J. Stern to add POLLED_VIP line type */ 1 6 /* Modified 9/27/79 by J. Stern to add X25LAP line type */ 1 7 /* Modified Spring 1981 by Charles Hornig to add HDLC line type */ 1 8 /* Modified May 1981 by Robert Coren to add COLTS line type */ 1 9 /* Modified September 1984 by Robert Coren to correctly count VIP as a synchronous line type */ 1 10 1 11 1 12 /****^ HISTORY COMMENTS: 1 13* 1) change(86-02-25,Negaret), approve(87-07-13,MCR7679), 1 14* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 1 15* Add a DSA line type. 1 16* 2) change(87-03-17,Beattie), approve(87-07-13,MCR7656), 1 17* audit(87-07-16,Brunelle), install(87-08-04,MR12.1-1056): 1 18* Add HASP_OPR to identify HASP workstation consoles with login service. 1 19* END HISTORY COMMENTS */ 1 20 1 21 1 22 declare (LINE_MC initial (-2), 1 23 LINE_TELNET initial (-1), 1 24 LINE_UNKNOWN initial (0), 1 25 LINE_ASCII initial (1), 1 26 LINE_1050 initial (2), 1 27 LINE_2741 initial (3), 1 28 LINE_ARDS initial (4), 1 29 LINE_SYNCH initial (5), 1 30 LINE_G115 initial (6), 1 31 LINE_BSC initial (7), 1 32 LINE_ETX initial (8), 1 33 LINE_VIP initial (9), 1 34 LINE_ASYNC1 initial (10), 1 35 LINE_ASYNC2 initial (11), 1 36 LINE_ASYNC3 initial (12), 1 37 LINE_SYNC1 initial (13), 1 38 LINE_SYNC2 initial (14), 1 39 LINE_SYNC3 initial (15), 1 40 LINE_POLLED_VIP initial (16), 1 41 LINE_X25LAP initial (17), 1 42 LINE_HDLC initial (18), 1 43 LINE_COLTS initial (19), 1 44 LINE_DSA initial (20), 1 45 LINE_HASP_OPR initial (21) 1 46 ) fixed bin internal static options (constant); 1 47 1 48 dcl max_line_type fixed bin int static options (constant) init (21); 1 49 1 50 declare n_sync_line_types fixed bin int static options (constant) init (10); 1 51 1 52 declare sync_line_type (10) fixed bin int static options (constant) init (5, 6, 7, 9, 13, 14, 15, 16, 17, 18); 1 53 1 54 dcl line_types (-2:21) char (16) int static options (constant) init ( 1 55 "MC", /* -2 */ 1 56 "TELNET", /* -1 */ 1 57 "none", /* 0 */ 1 58 "ASCII", /* 1 */ 1 59 "1050", /* 2 */ 1 60 "2741", /* 3 */ 1 61 "ARDS", /* 4 */ 1 62 "Sync", /* 5 */ 1 63 "G115", /* 6 */ 1 64 "BSC", /* 7 */ 1 65 "202ETX", /* 8 */ 1 66 "VIP", /* 9 */ 1 67 "ASYNC1", /* 10 */ 1 68 "ASYNC2", /* 11 */ 1 69 "ASYNC3", /* 12 */ 1 70 "SYNC1", /* 13 */ 1 71 "SYNC2", /* 14 */ 1 72 "SYNC3", /* 15 */ 1 73 "POLLED_VIP", /* 16 */ 1 74 "X25LAP", /* 17 */ 1 75 "HDLC", /* 18 */ 1 76 "COLTS", /* 19 */ 1 77 "DSA", /* 20 */ 1 78 "HASP_OPR"); /* 21 */ 1 79 1 80 /* END INCLUDE FILE ... line_types.incl.pl1 */ 324 325 2 1 /* Begin include file as_user_message_info.incl.pl1 BIM 1985-01-11 */ 2 2 /* format: style4 */ 2 3 2 4 /**** This structure is passed in by a user process to read out 2 5* an A.S. user message. */ 2 6 2 7 declare as_user_message_info_ptr pointer; 2 8 declare 1 as_user_message_info aligned based (as_user_message_info_ptr), 2 9 2 version char (8) aligned, 2 10 2 flags aligned, 2 11 3 read_message_id bit (1) unaligned, /* message_id specified -- read that one */ 2 12 3 read_after_message_id bit (1) unaligned, /* message_id specified -- read the next one for the handle after that */ 2 13 3 no_handle_given bit (1) unaligned, /* application debugging: look at all messages for us, regardless of handle */ 2 14 3 ring_given bit (1) unaligned, /* application debugging: look at outer ring messages */ 2 15 3 dont_delete bit (1) unaligned, /* application debugging, look at message but don't delete them */ 2 16 3 pad bit (31) unaligned, 2 17 2 message_info aligned, /* Output arguments */ 2 18 3 message_ptr pointer, 2 19 3 message_length fixed bin (18), /* words */ 2 20 3 pad bit (36) aligned, 2 21 3 message_id bit (72) aligned, 2 22 3 message_access_class bit (72) aligned, 2 23 3 message_handle bit (72) aligned, 2 24 3 message_ring fixed bin (3), 2 25 2 sender_info aligned, 2 26 3 group_id char (32) unaligned, 2 27 3 process_id bit (36) aligned, 2 28 2 destination_info aligned, 2 29 3 group_id char (32) unal, 2 30 3 process_id bit (36) aligned, 2 31 3 ring fixed bin (3) aligned; 2 32 2 33 declare AS_USER_MESSAGE_INFO_VERSION_1 char (8) aligned init ("asum0001") int static options (constant); 2 34 2 35 /* End include file as_user_message_info.incl.pl1 */ 326 327 3 1 /* BEGIN INCLUDE FILE...user_message_handles.incl.pl1 */ 3 2 3 3 3 4 /****^ HISTORY COMMENTS: 3 5* 1) change(85-12-19,Herbst), approve(87-07-20,MCR7697), 3 6* audit(87-07-20,GDixon), install(87-08-04,MR12.1-1056): 3 7* Added SYSTEM_MESSAGE_HANDLE 3 8* 2) change(86-06-30,Coren), approve(86-06-30,MCR7415), 3 9* audit(86-07-02,Margolin), install(86-07-11,MR12.0-1092): 3 10* Added USER_MESSAGE_LS_CONNECTION_INFO_HANDLE and 3 11* USER_MESSAGE_LS_CONNECTION_INFO_HANDLE_LOWER_18 for use by login servers. 3 12* END HISTORY COMMENTS */ 3 13 3 14 /* This include file defines "well-known" handles for as_user_messages, 3 15* i.e., each of the handles defined here will be used for a particular purpose, 3 16* and programs that expect to receive such messages will use the appropriate 3 17* handle to read them. 3 18**/ 3 19 3 20 dcl USER_MESSAGE_LS_CONNECTION_INFO_HANDLE initial ("000000000000777777777777"b3) /* connection_info sent by login server to newly created process */ 3 21 bit (72) aligned internal static options (constant); 3 22 3 23 dcl USER_MESSAGE_LS_CONNECTION_INFO_HANDLE_LOWER_18 initial ("777777"b3) /* allows upper 54 bits to be used for unique identifier */ 3 24 bit (18) aligned internal static options (constant); 3 25 3 26 dcl SYSTEM_MESSAGE_HANDLE initial ("770007700077000770007700"b3) /* for warn and dm_shut messages */ 3 27 bit (72) aligned internal static options (constant); 3 28 3 29 3 30 /* END INCLUDE FILE...user_message_handles.incl.pl1 */ 328 329 4 1 /* BEGIN INCLUDE FILE...ls_connection_message.incl.pl1 */ 4 2 4 3 4 4 /****^ HISTORY COMMENTS: 4 5* 1) change(86-07-02,Coren), approve(86-07-02,MCR7415), 4 6* audit(86-07-02,Margolin), install(86-07-11,MR12.0-1092): 4 7* Initial implementation. 4 8* END HISTORY COMMENTS */ 4 9 4 10 /* This include file describes the user_message passed by a login server to 4 11* a user process when a connection is assigned to, or disconnected from, 4 12* that process. The format of the "connection_info" is dependent on the type 4 13* of connection. The connection_info is not included in disconnect messages. 4 14* 4 15* The "common" portion of the message is passed separately for "dialed" channels 4 16* so that convert_dial_message_ in the dial-server's process can use it to 4 17* to determine the names of the connectin and the associated I/O module. The 4 18* "full" message is passed in all cases and used when actually doing the 4 19* attachment. 4 20**/ 4 21 4 22 /* Written April 1985 by Robert Coren */ 4 23 4 24 4 25 dcl ls_connection_message_ptr pointer; 4 26 4 27 dcl ls_connection_message_info_length fixed bin (18) unsigned; 4 28 4 29 4 30 /* The portion of the message that identifies the connection: used in all cases */ 4 31 4 32 dcl 1 ls_connection_message_common aligned based (ls_connection_message_ptr), 4 33 2 version char (8), /* "lscmNNNN" */ 4 34 2 connection_name char (32), 4 35 2 io_module_name char (32); 4 36 4 37 4 38 /* The full message: used by the I/O module when attaching */ 4 39 4 40 dcl 1 ls_connection_message aligned based (ls_connection_message_ptr), 4 41 2 common like ls_connection_message_common, 4 42 2 connection_handle fixed bin (35), 4 43 2 reason fixed bin, /* LS_MSG_CONNECTED or LS_MSG_DISCONNECTED */ 4 44 2 connection_info_length fixed bin (18) unsigned, 4 45 2 mbz bit (36), /* pad to even word boundary */ 4 46 2 connection_info (ls_connection_message_info_length refer (ls_connection_message.connection_info_length)) bit (36); 4 47 4 48 dcl LS_CONNECTION_MESSAGE_V1 char (8) internal static options (constant) initial ("lscm0001"); 4 49 4 50 dcl LS_MSG_CONNECTED fixed bin internal static options (constant) initial (1); 4 51 dcl LS_MSG_DISCONNECTED fixed bin internal static options (constant) initial (2); 4 52 4 53 4 54 /* END INCLUDE FILE...ls_connection_message.incl.pl1 */ 330 331 5 1 /* BEGIN INCLUDE FILE...dial_event_message.incl.pl1 */ 5 2 5 3 5 4 /****^ HISTORY COMMENTS: 5 5* 1) change(86-06-30,Coren), approve(86-06-30,MCR7415), 5 6* audit(86-07-02,Margolin), install(86-07-11,MR12.0-1092): 5 7* Initial implementation. 5 8* END HISTORY COMMENTS */ 5 9 5 10 /* This include file describes the event message sent by dial_ctl_ and login servers */ 5 11 5 12 dcl dial_event_message_ptr pointer; 5 13 5 14 dcl 1 dial_event_message aligned based (dial_event_message_ptr), 5 15 2 description char (6) unaligned, 5 16 2 flags unal, 5 17 3 devx_msg bit (1), /* indicates description field contains a devx */ 5 18 3 error_msg bit (1), /* indicates description field contains standard error code */ 5 19 3 ls_msg bit (1), /* indicates message from login server, name in user_message */ 5 20 3 control bit (15); 5 21 5 22 5 23 dcl dial_event_message_handle bit (54) aligned based (dial_event_message_ptr); 5 24 /* overlay of description, contains unique part of user_message handle if any */ 5 25 5 26 5 27 /* possible values for dial_event_message.control */ 5 28 5 29 dcl (JUST_DIALED bit (15) aligned initial ("77770"b3), 5 30 JUST_HUNGUP bit (15) aligned initial ("77771"b3), 5 31 DIALS_ALLOWED bit (15) aligned initial ("77772"b3), 5 32 DIALS_DENIED bit (15) aligned initial ("77773"b3) 5 33 ) internal static options (constant); 5 34 5 35 /* END INCLUDE FILE...dial_event_message.incl.pl1 */ 332 333 334 end convert_dial_message_; SOURCE FILES USED IN THIS COMPILATION. LINE NUMBER DATE MODIFIED NAME PATHNAME 0 08/04/87 1538.8 convert_dial_message_.pl1 >special_ldd>install>MR12.1-1054>convert_dial_message_.pl1 324 1 08/04/87 1140.0 line_types.incl.pl1 >spec>install>1056>line_types.incl.pl1 326 2 03/08/85 0852.7 as_user_message_info.incl.pl1 >ldd>include>as_user_message_info.incl.pl1 328 3 08/04/87 1138.3 user_message_handles.incl.pl1 >spec>install>1056>user_message_handles.incl.pl1 330 4 07/15/86 2005.5 ls_connection_message.incl.pl1 >ldd>include>ls_connection_message.incl.pl1 332 5 07/15/86 2005.5 dial_event_message.incl.pl1 >ldd>include>dial_event_message.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. AS_USER_MESSAGE_INFO_VERSION_1 000002 constant char(8) initial dcl 2-33 ref 205 DIALS_ALLOWED constant bit(15) initial dcl 5-29 ref 146 DIALS_DENIED constant bit(15) initial dcl 5-29 ref 148 JUST_DIALED constant bit(15) initial dcl 5-29 ref 184 247 JUST_HUNGUP constant bit(15) initial dcl 5-29 ref 172 249 LINE_BSC constant fixed bin(17,0) initial dcl 1-22 ref 199 LINE_G115 constant fixed bin(17,0) initial dcl 1-22 ref 198 LINE_MC 001173 constant fixed bin(17,0) initial dcl 1-22 ref 196 LINE_TELNET 000024 constant fixed bin(17,0) initial dcl 1-22 ref 197 LS_CONNECTION_MESSAGE_V1 000000 constant char(8) initial unaligned dcl 4-48 ref 225 USER_MESSAGE_LS_CONNECTION_INFO_HANDLE_LOWER_18 constant bit(18) initial dcl 3-23 ref 207 addr builtin function dcl 87 ref 127 127 134 204 273 296 as_data_$g115_dim 000134 external static char(32) unaligned dcl 100 ref 198 as_data_$mrd_dim 000136 external static char(32) unaligned dcl 100 ref 196 242 as_data_$ntty_dim 000140 external static char(32) unaligned dcl 100 ref 197 241 as_data_$tty_dim 000142 external static char(32) unaligned dcl 100 ref 195 239 as_user_message_info based structure level 1 dcl 2-8 as_user_message_info_ptr 000164 automatic pointer dcl 2-7 set ref 204* 205 206 207 213 217* 224 227 234 auto_user_message_info 000114 automatic structure level 1 dcl 63 set ref 204 bv_code parameter fixed bin(35,0) dcl 41 set ref 36 121 135* 146* 148* 152* 161* 175* 180* 188* 220* 228* 254* bv_device parameter char unaligned dcl 41 set ref 36 121 187 191* 232* 237* bv_dial_message based bit(72) dcl 54 set ref 127 134 bv_dial_message_fb parameter fixed bin(71,0) dcl 41 set ref 36 121 127 134 bv_io_module parameter char unaligned dcl 41 set ref 36 121 195* 196* 197* 198* 199* 233* 239 239* 241 241* 242 242* bv_n_dialed parameter fixed bin(17,0) dcl 41 set ref 36 121 129* 151* bv_status parameter structure level 1 dcl 48 set ref 36 121 130* chan_name 000101 automatic char(32) unaligned dcl 59 set ref 170* 173* 174 184* 187 191 channel based char(32) array level 3 dcl 82 set ref 277* 283* 291* 301* 301 308* 317 cleanup 000156 stack reference condition dcl 89 ref 211 code 000201 automatic fixed bin(35,0) dcl 269 in procedure "store_chan_name" set ref 297* 298 code 000111 automatic fixed bin(35,0) dcl 60 in procedure "convert_dial_message_" set ref 170* 171 175 180 217* 218 220 connection_name 2 based char(32) level 2 dcl 4-32 ref 232 control 1(21) based bit(15) level 3 in structure "dial_event_message" packed unaligned dcl 5-14 in procedure "convert_dial_message_" ref 146 148 151 172 184 247 249 control 0(02) parameter bit(1) level 2 in structure "bv_status" packed unaligned dcl 48 in procedure "convert_dial_message_" set ref 136* 144* 160* 168* description based char(6) level 2 packed unaligned dcl 5-14 ref 142 237 devx parameter fixed bin(17,0) dcl 265 in procedure "store_chan_name" ref 263 282 290 307 311 316 devx based fixed bin(17,0) level 2 in structure "message_device" packed unaligned dcl 69 in procedure "convert_dial_message_" ref 170 173 184 devx 10 based fixed bin(17,0) array level 3 in structure "devx_tab" dcl 82 in procedure "convert_dial_message_" set ref 276* 282 289 290* 300* 300 307* 316 devx_entries based structure array level 2 dcl 82 devx_msg 1(18) based bit(1) level 3 packed unaligned dcl 5-14 ref 169 devx_tab based structure level 1 dcl 82 devx_tab_entry based structure level 1 dcl 78 devx_tabp 000012 internal static pointer initial dcl 112 set ref 272 273* 276 277 282 283 289 290 291 296 300 301 303* 307 308 314 316 317 dial_event_message based structure level 1 dcl 5-14 dial_event_message_handle based bit(54) dcl 5-23 ref 207 dial_event_message_ptr 000170 automatic pointer dcl 5-12 set ref 127* 142 146 148 151 159 161 169 170 172 173 184 184 196 197 198 199 202 207 237 247 249 dialed_up parameter bit(1) level 2 packed unaligned dcl 48 set ref 247* entries 000014 internal static structure array level 2 dcl 113 set ref 274 error_code based fixed bin(35,0) level 2 dcl 74 ref 161 error_msg 1(19) based bit(1) level 3 packed unaligned dcl 5-14 ref 159 error_table_$action_not_performed 000144 external static fixed bin(35,0) dcl 103 ref 148 error_table_$badcall 000152 external static fixed bin(35,0) dcl 103 ref 135 error_table_$smallarg 000150 external static fixed bin(35,0) dcl 103 ref 188 error_table_$unimplemented_version 000146 external static fixed bin(35,0) dcl 103 ref 228 fixed builtin function dcl 87 ref 151 flags 2 based structure level 2 in structure "as_user_message_info" dcl 2-8 in procedure "convert_dial_message_" set ref 206* flags 1(18) based structure level 2 in structure "dial_event_message" packed unaligned dcl 5-14 in procedure "convert_dial_message_" get_system_free_area_ 000130 constant entry external dcl 95 ref 208 get_temp_segment_ 000126 constant entry external dcl 94 ref 297 hbound builtin function dcl 87 ref 274 hcs_$tty_get_name 000124 constant entry external dcl 93 ref 170 hung_up 0(01) parameter bit(1) level 2 packed unaligned dcl 48 set ref 249* i 000200 automatic fixed bin(17,0) dcl 268 set ref 275* 276 277* 281* 282 283* 288* 289 290 291* 299* 300 300 301 301* 315* 316 317* io_module_name 12 based char(32) level 2 dcl 4-32 ref 233 length builtin function dcl 87 ref 187 187 line_type 0(18) based fixed bin(17,0) level 2 packed unaligned dcl 69 ref 196 197 198 199 ls_connection_message_common based structure level 1 dcl 4-32 ls_connection_message_ptr 000166 automatic pointer dcl 4-25 set ref 209* 213 213 224* 225 227 232 233 234 ls_msg 1(20) based bit(1) level 3 packed unaligned dcl 5-14 ref 202 make_iox_name 000100 automatic bit(1) dcl 58 set ref 118* 124* 239 message_device based structure level 1 packed unaligned dcl 69 message_error based structure level 1 dcl 74 message_handle 14 based bit(72) level 3 dcl 2-8 set ref 207* message_info 4 based structure level 2 dcl 2-8 message_length 6 based fixed bin(18,0) level 3 dcl 2-8 ref 213 227 234 message_ptr 4 based pointer level 3 dcl 2-8 ref 224 n_devx_entries 000010 internal static fixed bin(17,0) dcl 111 set ref 274* 275 281 288 299 306* 306 307 308 315 name parameter char unaligned dcl 266 set ref 263 283 291 308 311 313* 317* null builtin function dcl 87 ref 209 213 272 314 p 000202 automatic pointer dcl 270 set ref 297* 300 301 303 rtrim builtin function dcl 87 ref 187 static_devx_tab 000014 internal static structure level 1 dcl 113 set ref 273 296 string builtin function dcl 87 set ref 130* 206* system_areap 000112 automatic pointer dcl 61 set ref 208* 217* user_message based bit(36) array dcl 67 ref 213 227 234 user_message_$read_message 000132 constant entry external dcl 96 ref 217 version based char(8) level 2 in structure "as_user_message_info" dcl 2-8 in procedure "convert_dial_message_" set ref 205* version based char(8) level 2 in structure "ls_connection_message_common" dcl 4-32 in procedure "convert_dial_message_" ref 225 NAMES DECLARED BY DECLARE STATEMENT AND NEVER REFERENCED. LINE_1050 internal static fixed bin(17,0) initial dcl 1-22 LINE_2741 internal static fixed bin(17,0) initial dcl 1-22 LINE_ARDS internal static fixed bin(17,0) initial dcl 1-22 LINE_ASCII internal static fixed bin(17,0) initial dcl 1-22 LINE_ASYNC1 internal static fixed bin(17,0) initial dcl 1-22 LINE_ASYNC2 internal static fixed bin(17,0) initial dcl 1-22 LINE_ASYNC3 internal static fixed bin(17,0) initial dcl 1-22 LINE_COLTS internal static fixed bin(17,0) initial dcl 1-22 LINE_DSA internal static fixed bin(17,0) initial dcl 1-22 LINE_ETX internal static fixed bin(17,0) initial dcl 1-22 LINE_HASP_OPR internal static fixed bin(17,0) initial dcl 1-22 LINE_HDLC internal static fixed bin(17,0) initial dcl 1-22 LINE_POLLED_VIP internal static fixed bin(17,0) initial dcl 1-22 LINE_SYNC1 internal static fixed bin(17,0) initial dcl 1-22 LINE_SYNC2 internal static fixed bin(17,0) initial dcl 1-22 LINE_SYNC3 internal static fixed bin(17,0) initial dcl 1-22 LINE_SYNCH internal static fixed bin(17,0) initial dcl 1-22 LINE_UNKNOWN internal static fixed bin(17,0) initial dcl 1-22 LINE_VIP internal static fixed bin(17,0) initial dcl 1-22 LINE_X25LAP internal static fixed bin(17,0) initial dcl 1-22 LS_MSG_CONNECTED internal static fixed bin(17,0) initial dcl 4-50 LS_MSG_DISCONNECTED internal static fixed bin(17,0) initial dcl 4-51 SYSTEM_MESSAGE_HANDLE internal static bit(72) initial dcl 3-26 USER_MESSAGE_LS_CONNECTION_INFO_HANDLE internal static bit(72) initial dcl 3-20 line_types internal static char(16) initial array unaligned dcl 1-54 ls_connection_message based structure level 1 dcl 4-40 ls_connection_message_info_length automatic fixed bin(18,0) unsigned dcl 4-27 max_line_type internal static fixed bin(17,0) initial dcl 1-48 n_sync_line_types internal static fixed bin(17,0) initial dcl 1-50 sync_line_type internal static fixed bin(17,0) initial array dcl 1-52 NAMES DECLARED BY EXPLICIT CONTEXT. convert_dial_message_ 000051 constant entry external dcl 36 cv_go 000120 constant label dcl 127 set ref 119 125 lookup_chan_name 001101 constant entry internal dcl 311 ref 173 return_io_module 000075 constant entry external dcl 121 store_chan_name 000640 constant entry internal dcl 263 ref 184 THERE WERE NO NAMES DECLARED BY CONTEXT OR IMPLICATION. STORAGE REQUIREMENTS FOR THIS PROGRAM. Object Text Link Symbol Defs Static Start 0 0 1400 1554 1174 1410 Length 2100 1174 154 310 204 114 BLOCK NAME STACK SIZE TYPE WHY NONQUICK/WHO SHARES STACK FRAME convert_dial_message_ 186 external procedure is an external procedure. on unit on line 211 64 on unit store_chan_name internal procedure shares stack frame of external procedure convert_dial_message_. STORAGE FOR INTERNAL STATIC VARIABLES. LOC IDENTIFIER BLOCK NAME 000010 n_devx_entries convert_dial_message_ 000012 devx_tabp convert_dial_message_ 000014 static_devx_tab convert_dial_message_ STORAGE FOR AUTOMATIC VARIABLES. STACK FRAME LOC IDENTIFIER BLOCK NAME convert_dial_message_ 000100 make_iox_name convert_dial_message_ 000101 chan_name convert_dial_message_ 000111 code convert_dial_message_ 000112 system_areap convert_dial_message_ 000114 auto_user_message_info convert_dial_message_ 000164 as_user_message_info_ptr convert_dial_message_ 000166 ls_connection_message_ptr convert_dial_message_ 000170 dial_event_message_ptr convert_dial_message_ 000200 i store_chan_name 000201 code store_chan_name 000202 p store_chan_name THE FOLLOWING EXTERNAL OPERATORS ARE USED BY THIS PROGRAM. call_ext_out_desc call_ext_out return_mac enable_op ext_entry_desc int_entry op_freen_ THE FOLLOWING EXTERNAL ENTRIES ARE CALLED BY THIS PROGRAM. get_system_free_area_ get_temp_segment_ hcs_$tty_get_name user_message_$read_message THE FOLLOWING EXTERNAL VARIABLES ARE USED BY THIS PROGRAM. as_data_$g115_dim as_data_$mrd_dim as_data_$ntty_dim as_data_$tty_dim error_table_$action_not_performed error_table_$badcall error_table_$smallarg error_table_$unimplemented_version LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC LINE LOC 36 000043 118 000071 119 000072 121 000073 124 000115 125 000117 127 000120 129 000123 130 000125 134 000126 135 000133 136 000136 137 000140 142 000141 144 000147 146 000151 148 000160 151 000166 152 000170 154 000171 159 000172 160 000175 161 000177 162 000201 168 000202 169 000204 170 000207 171 000242 172 000244 173 000251 174 000262 175 000266 176 000271 178 000272 180 000273 181 000275 183 000276 184 000277 187 000315 188 000330 189 000334 191 000335 195 000343 196 000352 197 000371 198 000401 199 000411 200 000417 202 000420 204 000423 205 000425 206 000430 207 000431 208 000440 209 000447 211 000451 213 000465 215 000474 217 000475 218 000510 220 000512 221 000514 224 000515 225 000520 227 000524 228 000526 229 000532 232 000533 233 000541 234 000546 235 000550 237 000551 239 000556 241 000575 242 000606 247 000616 249 000630 254 000635 255 000637 263 000640 272 000651 273 000656 274 000660 275 000662 276 000671 277 000677 278 000703 281 000705 282 000715 283 000725 284 000734 286 000735 288 000737 289 000747 290 000756 291 000762 292 000770 294 000771 296 000773 297 001002 298 001025 299 001030 300 001041 301 001050 302 001055 303 001057 306 001062 307 001063 308 001072 309 001100 311 001101 313 001112 314 001120 315 001126 316 001135 317 001145 318 001154 320 001155 322 001157 ----------------------------------------------------------- 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