$ IBMC041.A@ IBMC041.ABACKUP/NOASSIST/COMMENT=VAX/VMS SPKITBLD Procedure/INTER/LOG/VERIFY [.KIT]*.*;0 DUA0:[DECUS_KITS]IBMC041.A/LABEL=(IBMC)/SAVE/BLOCK=9000/GROUP=25VAX/VMS SPKITBLD Procedure SCOPELLITI_P` wV5.3 _ROVAX::  _ROVAX$DUA0: V5.3 $'*[DECUS_KITS.IBMC.KIT]DISPLAY_NEWS.OBJ;6+,# ./ 4@-#0123KPWO56՜7 0w89&7tGHJ7 DISPLAY_NEWS01 6-Dec-1989 11:18 6-Dec-1989 11:18VAX FORTRAN V5.1-10 DISPLAY_NEWS0P ))) Press RETURN to continue:  DISPLAY_NEWSTPP IBM_STARTNEWS IBM_ENDNEWSPHP[Ѽ1 FOR$READ_SFk FOR$IO_L_R FOR$IO_T_DS FOR$IO_ENDT))T LIB$SIGNALT~ FOR$WRITE_SFk FOR$IO_T_DS FOR$IO_END FOR$READ_SFk FOR$IO_L_R FOR$IO_T_DS FOR$IO_ENDT1~ FOR$WRITE_SF FOR$IO_T_DS FOR$IO_END$ LIB$SIGNALS ~ FOR$WRITE_SF FOR$IO_END~ FOR$READ_SF FOR$IO_T_DS FOR$IO_ENDS޼0,LIB$WAIT)P<>[ H DISPLAY_NEWS IBM_VERSION IBM_NOCONN IBM_NONODESIBM_UNKNOWNERR IBM_LINKLOSTIBM_NOWRITEACC IBM_CONNIBMIBM_WAIT IBM_STARTNEWS IBM_ENDNEWS LIB$SIGNALLIB$WAITA$CODE0$PDATA$LOCAL FOR$IO_END FOR$IO_L_R FOR$IO_T_DS FOR$READ_SF FOR$WRITE_SFaP.P*NPiQP PPPP>P8*P0P?P7+A)*[DECUS_KITS.IBMC.KIT]DISPLAY_REJECT.OBJ;5+,# ./ 4M-#0123KPWO56 7@w89&7tGHJ9DISPLAY_REJECT0118-Jan-1990 16:3918-Jan-1990 16:39VAX FORTRAN V5.1-10DISPLAY_REJECTPDISPLAY_REJECTMPIBM_NFW IBM_REASON< IBM_REASONQno SNA Gateways available - try again later. 'invalid request. ,'nodename/username are illegal. 'username is illegal. ('nodename is illegal. ('no access to IBM allowed from this nodename/username. 'IBM system is off-line or shutting down. Try again later 'requested access-name not available. 'unknown error #9. +'unknown error #10. *'unknown error #11. *'unknown error #12. *'unknown error #13. *'unknown error #14. *'unknown error #15. *'unknown error #16. *'P|H[}PQ FOR$DECODE_MFk FOR$IO_L_R FOR$IO_END LIB$SIGNALkV^(n^(nV^ LIB$SIGNALV^c PFS 04-Apr-1990 Placed server nodenames in common to removec Corning-specific names.@c V4.0-1 PFS 25-Apr-1990 Added missing /DRTEST to final callback4c V4.0-2 PFS 25-Apr-1990 No password if protocol < 43c V4.1 PFS 24-Oct-1990 Change version ident to V4.1  program_version = 'V4.1'* if ( .not. cli$present('NOVERSION')) then0 call lib$signal(ibm_version,1,program_version) end if closing = .false. trace_file_status = 'new' trace_file_status_l = 3! trace_file_access = 'sequential' trace_file_access_l = 10  if (cli$present('CLOSE')) then! status = cli$get_value('CLOSE', 1 close_status, 1 close_status_l) decode (close_status_l, 1 9240,$ 1 close_status(1:close_status_l), 1 err=2100) 1 status access_name = ' ' trace_file_status = 'old' trace_file_status_l = 3 trace_file_access = 'append' trace_file_access_l = 6 closing = .true. end if debug = .false. if (cli$present('DEBUG')) then! status = cli$get_value('DEBUG', 1 password, 1 password_len)! if ( password_len .eq. 6 ) then) call encrypt(password(1:password_len), 1 password,'308GTB')* if ( password(1:6) .eq. debug_pw ) then debug = .true. end if end if end if trace_file = 'sys$output' trace_file_l = 10 debug_trace = .false. if (cli$present('DTRACE')) then" status = cli$get_value('DTRACE', 1 trace_file, 1 trace_file_l) debug_trace = .true. end if if (debug) then if (debug_trace) then) open( file=trace_file(1:trace_file_l), 1 unit=5, 1 organization='sequential', 1 recordtype='variable', 1 carriagecontrol='list',5 1 access=trace_file_access(1:trace_file_access_l),5 1 status=trace_file_status(1:trace_file_status_l),! 1 defaultfile='ibm_trace.log', 1 err=8600) else open( file='sys$output', 1 unit=5, 1 organization='sequential', 1 recordtype='variable', 1 carriagecontrol='list',5 1 access=trace_file_access(1:trace_file_access_l),5 1 status=trace_file_status(1:trace_file_status_l), 1 err=8600) end if end if if (cli$present('DRTEST')) then4 primary_node = drtest_node ! Disaster recovery VAX drtest = .true.6 secondary_node = drtest_node ! Disaster recovery VAX5 tertiary_node = drtest_node ! Disaster recovery VAX if ( debug ) then call lib$date_time(curr_time) write (5,*) curr_time, 1 // ' - DisastXݥ$ IBMC041.A#[DECUS_KITS.IBMC.KIT]IBM.FOR;1H.…er Recovery test selected' end if else drtest = .false. end if special_server = .false., if (debug .and. cli$present('SERVER')) then" status = cli$get_value('SERVER', 1 server_node, 1 server_node_len) primary_node = server_node special_server = .true. end if special_object = .false., if (debug .and. cli$present('OBJECT')) then" status = cli$get_value('OBJECT', 1 server_object, 1 server_object_len) object_id = server_object special_object = .true. end if; selector_node = primary_node // '::"' // object_id // '="' if ( debug ) then call lib$date_time(curr_time) write (5,*) curr_time$ 1 // ' - Trying ' // selector_node end if open ( unit=1, 1 file=selector_node, 1 status='old', 1 err=1000 ) goto 2000 ! we got a link=c If disaster recorvery test, then just look for the one node1000 if (drtest* 1.or. (debug .and. special_server )) then goto 1900 end if= selector_node = secondary_node // '::"' // object_id // '="'O if ( debug ) then call lib$date_time(curr_time)- write (5,*) curr_time-$ 1 // ' - Trying ' // selector_node end ifn open ( unit=1,n 1 file=selector_node, 1 status='old', 1 err=1100 ) ) goto 2000 ! We got link to secondary VAX @1100 selector_node = tertiary_node // '::"' // object_id // '="' if ( debug ) then call lib$date_time(curr_time)o write (5,*) curr_timen$ 1 // ' - Trying ' // selector_node end ifu open ( unit=1,E 1 file=selector_node, 1 status='old', 1 err=1900 )t) goto 2000 ! We got link to secondary VAX!1900 call lib$signal(ibm_nonodes)d goto 32767r%C Come here when we get a router nodeo62000 status = lib$sys_trnlog('SYS$NODE',,tmp_nodename) i = index(tmp_nodename,':') nodename = tmp_nodename(2:i-1)o3 status = lib$getjpi( %loc(jpi$_pid),user_pid,,,, )_8 status = lib$getjpi( %loc(jpi$_username),,,,username, ))c Create temporary file name based on PIDe$ encode (8, 9110, text_pid) user_pid/ temp_file = 'SYS$LOGIN:' // text_pid // '.IBM'4 ac Parse qualifiers if ( closing ) then goto 4000c end if7) if (cli$present('IBM_ACCESS_NAME')) thent+ status = cli$get_value('IBM_ACCESS_NAME',g 1 access_name,s 1 access_name_len)n if ( debug ) thena call lib$date_time(curr_time) write (5,*) curr_time 1 // ' - Access = '& 1 // access_name(1:access_name_len) end if else8 access_name_len = 3a access_name = 'NCI'y if ( debug ) thene call lib$date_time(curr_time) write (5,*) curr_time 1 // ' - Default = 'i& 1 // access_name(1:access_name_len) end if end ifa qual_print = .false.4% if (cli$present('IBM_PRINTER')) then' status = cli$get_value('IBM_PRINTER',s 1 printer,r 1 printer_len) qual_print = .true.i end ifc qual_logon = .false.e( if (cli$present('IBM_LOGON_MODE')) then* status = cli$get_value('IBM_LOGON_MODE', 1 logon,_ 1 logon_len)r qual_logon = .true.t end ife qual_data = .false." if (cli$present('IBM_DATA')) then$ status = cli$get_value('IBM_DATA', 1 vdata,a 1 vdata_len)s qual_data = .true. end ifa qual_key = .false.$ if (cli$present('IBM_KEYMAP')) then& status = cli$get_value('IBM_KEYMAP', 1 keydef, 1 keydef_len) qual_key = .true.t end if qual_status = .false.$ if (cli$present('IBM_STATUS')) then& status = cli$get_value('IBM_STATUS', 1 status_line,  1 status_line_len)r qual_status = .true. end ifr news = '4.0't news_l = 3$ if (cli$present('NEWS_PAUSE')) then& status = cli$get_value('NEWS_PAUSE', 1 news, 1 news_l) end ife if ( news(1:1) .eq. 'Y' ) theni pause_time = -1.0t goto 2100 t end ifr if ( news(1:1) .eq. 'N' ) then  pause_time = 0.0 goto 2100  end if  decode (news_l, 1 9230,t 1 news(1:news_l), 1 err=2100)a 1 pause_timer l=c Create the temporary command file first - that way we avoidb-c needless OPEN requests, etc. if this fails.o2100 open( file=temp_file, 1 unit=2, 1 organization='sequential',k 1 recordtype='variable',a 1 carriagecontrol='list', 1 status='new', 1 err=8600) request = 'OPEN ' # encode ( 48, 9100, request_packet)g! 1 request, ! Accept connectionn+ 1 program_version, ! Our protocol version 1 nodename, ! Our nodenamep 1 username, ! Our username  1 user_pid, ! Our PID( 1 access_name ! Requested access-name if ( debug ) then call lib$date_time(curr_time)c6 write (5,*) curr_time // ' - Request packet follows'2 write (5,*) curr_time // ' - ' // request_packet end ifi+ write ( 1, 9000, err=8500 ) request_packetn9000 format (a) # read ( 1, 9200, err=8500 ) result,y! 1 dn, ! Decnet number of SNAGf. 1 selector_version, ! Their protocol version' 1 access_username, ! SNAG access nameN+ 1 access_password ! SNAG access password if ( debug ) then call lib$date_time(curr_time)  write (5,*) curr_timeS% 1 // ' - Selector response follows'  write (5,*) curr_time 1 // ' - '' 1 // result // dn // selector_version  end ifi@ decode (1,9220,selector_version(1:1),err=3000) protocol_version;c Broadcast news to user, if any. (Protocol V3 or greater)c2 call display_news( pause_time, protocol_version )" if ( result .eq. 'REJECT ') then close ( unit=1 ) call display_reject( dn ) goto 32767 end if # if ( result .ne. 'ACCEPT ' ) thene close ( unit=1 )* call lib$signal(ibm_unknownerr,1,result)5c write (5,*) '%IBM-F-UNKNOWNERR, unknown response ' c 1 // resultA goto 32767 end ifa dCc We're ready to roll. Now create the command file we're gonna usev9c First, make sure they haven't redefined any DCL symbols 3000 close ( unit=1 )r if ( debug ) then, write (5,*) curr_time // ' - Contents of ' 1 // temp_file // ' follows'& write (2,9210) '$ vfy = f$verify(1)'& write (5,9210) '$ vfy = f$verify(1)' elsed& write (2,9210) '$ vfy = f$verify(0)' end if 7 write (2,9210) '$ set symbol/scope=(nolocal,noglobal)'nB if (debug) write (5,9210) '$ set symbol/scope=(nolocal,noglobal)'; write (2,9210) '$ control_char = f$environment("control")'rF if (debug) write (5,9210) '$ control_char = f$environment("control")'# write (2,9210) '$ set nocontrol=y'n. if (debug) write (5,9210) '$ set nocontrol=y' if ( .not. debug ) then1 write (2,9210) '$ delete ' // temp_file // ';*'S end ifm write (2,9210) '$ set noon'( if (debug) write (5,9210) '$ set noon'; write (2,9210) '$ define/user/nolog sys$input sys$command'sG if (debug) write (5,9210) '$ define/user/nolog sys$input sys$command'd" write (2,9210) '$ set host/sna -'. if (debug) write (5,9210) '$ set host/sna -'# if ( access_name_len .gt. 0 ) theni write (2,9210) '/access=' & 1 // access_name(1:access_name_len) 1 // ' -'& if (debug) write (5,9210) '/access='& 1 // access_name(1:access_name_len) 1 // ' -' end ife if ( qual_print ) thenT write (2,9210) '/printer=' 1 // printer(1:printer_len)! 1 // ' -'' if (debug) write (2,9210) '/printer='R 1 // printer(1:printer_len) 1 // ' -' end ifS if ( qual_data ) then write (2,9210) '/data="' 1 // vdata(1:vdata_len) 1 // '" -'e% if (debug) write (5,9210) '/data="'u 1 // vdata(1:vdata_len) 1 // '" -'  end ifu if ( qual_key ) thenT write (2,9210) '/key_def=' 1 // keydef(1:keydef_len) 1 // ' -'' if (debug) write (5,9210) '/key_def='A 1 // keydef(1:keydef_len) 1 // ' -' end ifb if ( qual_status ) then write (2,9210) '/status='' 1 // status_line(1:status_line_len)p 1 // ' -'& if (debug) write (5,9210) '/status='' 1 // status_line(1:status_line_len)S 1 // ' -' end ifi if ( qual_logon ) thenk write (2,9210) '/logon=' 1 // logon(1:logon_len) 1 // ' -'% if (debug) write (5,9210) '/logon=' 1 // logon(1:logon_len) 1 // ' -' end ifr" if (protocol_version .gt. 3) then9 call encrypt (access_password,access_password,text_pid)=9 status = str$trim(access_password,access_password,pw_l)= if ( pw_l .gt. 0 ) thene4 write (2,9210) '/authorization_password=''p2'' -' if (debug) write (5,9210)( 1 '/authorization_password=''p2'' -' end if end ifo write (2,9210) '''p1'''# if (debug) write (5,9210) '''p1'''s if (debug) then+ call encrypt (debug_pw,password,'308GTB')m if ( special_server ) then6 write (2,9210) '$ ibm/close=''f$integer($status)''', 1 // '/noversion/debug=' // password(1:6) 1 // '/object=' // obje $ IBMC041.A#[DECUS_KITS.IBMC.KIT]IBM.FOR;1H.$ct_id" 1 // '/server=' // primary_node0 1 // '/dtrace=' // trace_file(1:trace_file_l)6 write (5,9210) '$ ibm/close=''f$integer($status)''', 1 // '/noversion/debug=' // password(1:6) 1 // '/object=' // object_idr" 1 // '/server=' // primary_node0 1 // '/dtrace=' // trace_file(1:trace_file_l) else if (drtest) thena7 write (2,9210) '$ ibm/close=''f$integer($status)'''=' 1 // '/drtest/object=' // object_idn- 1 // '/noversion/debug=' // password(1:6)a1 1 // '/dtrace=' // trace_file(1:trace_file_l)u7 write (5,9210) '$ ibm/close=''f$integer($status)'''' 1 // '/drtest/object=' // object_id)- 1 // '/noversion/debug=' // password(1:6)'1 1 // '/dtrace=' // trace_file(1:trace_file_l)r else,7 write (2,9210) '$ ibm/close=''f$integer($status)''' 1 // '/object=' // object_id- 1 // '/noversion/debug=' // password(1:6)c1 1 // '/dtrace=' // trace_file(1:trace_file_l)s7 write (5,9210) '$ ibm/close=''f$integer($status)''' 1 // '/object=' // object_id- 1 // '/noversion/debug=' // password(1:6)i1 1 // '/dtrace=' // trace_file(1:trace_file_l)c end ifu end if elsea5 write (2,9210) '$ ibm/close=''f$integer($status)'''i 1 // '/noversion' end ifm3 write (2,9210) '$ if control_char .nes. "" then -'t> if (debug) write (5,9210) '$ if control_char .nes. "" then -'5 write (2,9210) ' set control=(''control_char'')'@ if (debug) write (5,9210) ' set control=(''control_char'')' if ( debug ) then( write (2,9210) '$ vfy = f$verify(vfy)'( write (5,9210) '$ vfy = f$verify(vfy)' else( write (2,9210) '$ vfy = f$verify(vfy)' end ife write (2,9210) '$ exit'# if (debug) write (5,9210) '$ exit's close (unit=2) ? cmnd = '@' // temp_file // ' ' // dn // ' ' // access_password=$ status = str$trim(cmnd,cmnd,cmnd_l) if ( debug ) then call lib$date_time(curr_time)n2 write (5,*) curr_time // ' - ' // cmnd(1:cmnd_l)$ type *, 'Press RETURN to continue' accept 9210, junko close (unit=5) end if.A call lib$signal ( ibm_connibm,1,access_name(1:access_name_len) )i call lib$signal ( ibm_wait )n%c status = lib$spawn( cmnd(1:cmnd_l),tc 1 , ! input-filec 1 , ! output-file/ c 1 , ! flags%c 1 'IBM_' // text_pid ! Process nameec 1 )n ,* status = lib$do_command( cmnd(1:cmnd_l) )3c We should never fall through, but just in case...h jc Handle CLOSE of link4000 if (debug) then call lib$date_time(curr_time)r/ write (5,*) curr_time // ' - STATUS =',statuse end ifa if (.not. status) theni request = 'ABORT '$ encode ( 48, 9120, request_packet)" 1 request, ! Accept connection, 1 program_version, ! Our protocol version 1 nodename, ! Our nodename 1 username, ! Our username 1 user_pid, ! Our PIDo 1 status ! Returned statuss if ( debug ) then_ call lib$date_time(curr_time) write (5,*) curr_time 1 // ' - ' // request_packet  end if open ( unit=1, 1 file=selector_node,_ 1 status='old',o 1 err=32767 )1" write ( 1, 9000 ) request_packet close ( unit=1 ) call lib$signal (%val(status)) end if0 request = 'CLOSE 'd# encode ( 48, 9100, request_packet)w! 1 request, ! Accept connection , 1 program_version, ! Our protocol version 1 nodename, ! Our nodenamed 1 username, ! Our usernames 1 user_pid, ! Our PID 1 access_name, if ( debug ) then call lib$date_time(curr_time)e write (5,*) curr_timeo 1 // ' - ' // request_packet end if8 open ( unit=1,s 1 file=selector_node, 1 status='old', 1 err=32767 )! write ( 1, 9000 ) request_packetn8000 close ( unit=1 )e close ( unit=5 )p32767 call exitN 8500 call lib$signal(ibm_noconn) call lib$signal(ibm_linklost) goto 8000 8600 call lib$signal(ibm_noconn) call lib$signal(ibm_nowriteacc) goto 8000$9100 format ( a8,a6,a6,a12,Z8.8,a8 )9110 format ( z8.8 )&9120 format ( a8,a6,a6,a12,Z8.8,z8.8 ) 9200 format ( a8,a6,a6,a12,a32 )9210 format ( a )9220 format ( i1 )9230 format ( f.0 )t!9240 format ( i ) 9300 format ( q, a )9310 format ( 1x, a )e-9400 format (' Press RETURN to continue: ' $)  end if (cli$present('IBM_PRINTER')) then' status = cli$get_value('IBM_PRINTER',s 1 printer,r 1 printer_len) qual_print = .true.i end ifc qual_logon = .false.e( if (cli$present('IBM_LOGON_MODE')) then* status = cli$get_value('IBM_LOGON_MODE', 1 logon,_ 1 logon_len)r qual_logon = .true.t end ife qual_data = .fa *[DECUS_KITS.IBMC.KIT]IBM.OBJ;118+,."/ 4"!-#0123KPWO#5 6Ӯ7w89&7tGHJ5IBM$MAINV4.124-Oct-1990 11:4924-Oct-1990 11:49VAX FORTRAN V5.4-79IBM$MAINPNOVERSIONCLOSEDEBUG308GTBsys$outputDTRACEibm_trace.logDRTESTSERVEROBJECTSYS$NODE:IBM_ACCESS_NAMEIBM_PRINTERIBM_LOGON_MODEIBM_DATAIBM_KEYMAPIBM_STATUSNEWS_PAUSE$ vfy = f$verify(1)$ vfy = f$verify(0)$ set symbol/scope=(nolocal,noglobal)$ control_char = f$environment("control")$ set nocontrol=y$ set noon$ define/user/nolog sys$input sys$command$ set host/sna -/authorization_password='p2' -'p1'$ ibm/close='f$integer($status)'/noversion$ if control_char .nes. "" then - set control=('control_char')$ vfy = f$verify(vfy)$ exitPress RETURN to continue)    )@@IBM$MAINXPP   (.6<0Brz     H  CLI$PRESENT@ IBM_VERSIONh  CLI$PRESENT@x  CLI$GET_VALUE@8  CLI$PRESENT@  CLI$GET_VALUE@ L    ENCRYPT@, , CLI$PRESENT@, , CLI$GET_VALUE@` 3    3 FOR$OPEN @ ! \ ! FOR$OPEN@d l A A CLI$PRESENT@@ H H CLI$PRESENT@H H CLI$GET_VALUE@0 PO O CLI$PRESENT@O O CLI$GET_VALUE@8 T@  @  @   IBM_NONODESV V LIB$SYS_TRNLOG@_ @a a CLI$PRESENT@a a CLI$GET_VALUE@ H@ @  qP q CLI$PRESENT@ q` q CLI$GET_VALUE@h}x } CLI$PRESENT@} } CLI$GET_VALUE@p  CLI$PRESENT@  CLI$GET_VALUE@x    CLI$PRESENT@   CLI$GET_VALUE@$   CLI$PRESENT@   CLI$GET_VALUE@(   CLI$PRESENT@ (  CLI$GET_VALUE@, @ @ 40IBM_UNKNOWNERR%%))** ; ;)E)Enn    $ IBMC041.A# [DECUS_KITS.IBMC.KIT]IBM.OBJ;118"Y"D~~(   ENCRYPT@*!!!!   !!<@ ' IBM_CONNIBMIBM_WAIT@ @  @   IBM_NOCONN IBM_LINKLOST IBM_NOCONNIBM_NOWRITEACCPO[\V, ,@ CLI$PRESENTPH LIB$SIGNALX, Y(  ZW` CLI$PRESENTPp CLI$GET_VALUEPkzݫ( FOR$DECODE_MFk FOR$IO_L_R FOR$IO_END, ˼, Y, ZX\ˈ CLI$PRESENTP˘ CLI$GET_VALUEѫ<<˨ˬ˸ENCRYPT)g\, ! R CLI$PRESENTP CLI$GET_VALUEΎR\RZYFOR$OPENP1ZTXY\`dFOR$OPENP1ˠ CLI$PRESENTP( ((\˨ LIB$DATE_TIME FOR$WRITE_SL"^("n^(n9˰^˴˰ FOR$IO_T_V_DS FOR$IO_ENDV\ CLI$PRESENTP CLI$GET_VALUE(ާ V\ CLI$PRESENTP CLI$GET_VALUE(="~^(n^(n^( n,n ˜Q^\ LIB$DATE_TIME FOR$WRITE_SL ^( ˜n ^( n^(nA^ FOR$IO_T_V_DS FOR$IO_ENDFOR$OPENP1\V1="~^(n^(n^(n,n ˜Q^\4 LIB$DATE_TIME FOR$WRITE_SL ^( ˜n ^( n^(nA<^@< FOR$IO_T_V_DS FOR$IO_ENDDFOR$OPENP1="~^(n^(n^(n,n ˜Q^\` LIB$DATE_TIME FOR$WRITE_SL ^( ˜n ^( n^(nAh^lh FOR$IO_T_V_DS FOR$IO_ENDpFOR$OPENP1˜LIB$SYS_TRNLOG˴ LIB$INDEXP,P JPI$_PID^ LIB$GETJPI^ JPI$_USERNAME^ LIB$GETJPI^PkˋO FOR$ENCODE_MFݫ0 FOR$IO_L_V FOR$IO_ENDݏ.IBM}ˋ~ ^( n(n˓Q^X1 CLI$PRESENTP CLI$GET_VALUE\  LIB$DATE_TIME FOR$WRITE_SL«8^(8˼nЫ8X ^( n X^(nXX(^,( FOR$IO_T_V_DS FOR$IO_END8, ˼\0 LIB$DATE_TIME FOR$WRITE_SL^(˼n ^( n^(n'8^<8 FOR$IO_T_V_DS FOR$IO_ENDH CLI$PRESENTPX CLI$GET_VALUE¹  p CLI$PRESENTPˀ CLI$GET_VALUE˘ CLI$PRESENTP˨ CLI$GET_VALUE CLI$PRESENTP CLI$GET_VALUE CLI$PRESENTP CLI$GET_VALUE, P˩ CLI$PRESENTP  CLI$GET_VALUEّ˩YR$˩Nԫ$˩rݫ FOR$DECODE_MF߫$ FOR$IO_F_R FOR$IO_END0FOR$OPENP1}OPEN 2A0 FOR$ENCODE_MF˨ FOR$IO_T_DS FOR$IO_T_DS˸ FOR$IO_T_DS˰ FOR$IO_T_DSݫ0 FOR$IO_L_V FOR$IO_T_DS FOR$IO_END\1X LIB$DATE_TIME FOR$WRITE_SL^(n^(n0`^d` FOR$IO_T_V_DS FOR$IO_END FOR$WRITE_SL0^(02n^(n^(nJh^lh FOR$IO_T_V_DS FOR$IO_END? FOR$WRITE_SF FOR$IO_T_DS FOR$IO_ENDb FOR$READ_SF FOR$IO_T_DS FOR$IO_T_DS FOR$IO_T_DS FOR$IO_T_DS FOR$IO_T_DS FOR$IO_END\1p LIB$DATE_TIME FOR$WRITE_SL^(n^(n3x^|x FOR$IO_T_V_DS FOR$IO_END FOR$WRITE_SL^(&n^(jn}b~^(n^(n.ˀ^˄ˀ FOR$IO_T_V_DS FOR$IO_END&o FOR$DECODE_MF߫  FOR$IO_L_R FOR$IO_ENDˈ DISPLAY_NEWS)b3˔ FOR$CLOSE˜DISPLAY_REJECT1)b;ˤ FOR$CLOSEˬ LIB$SIGNAL1˼ FOR$CLOSE\1 FOR$WRITE_SL} follows~^(˓n^(Cn^(nD^ FOR$IO_T_V_DS FOR$IO_ENDm FOR$WRITE_SF FOR$IO_T_DS FOR$IO_ENDm FOR$WRITE_SF FOR$IO_T_DS FOR$IO_ENDm FOR$WRITE_SF FOR$IO_T_DS FOR$IO_ENDm FOR$WRITE_SF FOR$IO_T_DS FOR$IO_END\m FOR$WRITE_SF FOR$IO_T_DS FOR$IO_ENDm FOR$WRITE_SF FOR$IO_T_DS FOR$IO_END\m FOR$WRITE_SF FOR$IO_T_DS FOR$IO_ENDm FOR$WRITE_SF FOR$IO_T_DS FOR$IO_END\m FOR$WRITE_SF  FOR$IO_T_DS FOR$IO_END\m FOR$WRITE_SF;*~^(˓n ^( Rn!^ FOR$IO_T_V_DS FOR$IO_ENDm FOR$WRITE_SF FOR$IO_T_DS FOR$IO_END\m FOR$WRITE_SF$ FOR$IO_T_DS FOR$IO_ENDm FOR$WRITE_SF, FOR$IO_T_DS FOR$IO_END\m FOR$WRITE_SF4 FOR$IO_T_DS FOR$IO_ENDm FOR$WRITE_SF< FOR$IO_T_DS FOR$IO_END\m FOR$WRITE_SFD FOR$IO_T_DS FOR$IO_ENDի81m FOR$WRITE_SFʰ -~«8^(8˼nЫ8ZZX}/access=~XXL^PL FOR$IO_T_V_DS FOR$IO_END\m FOR$WRITE_SFʰ -~«8^(8˼nЫ8ZZX}/access=~XXT^XT FOR$IO_T_V_DS FOR$IO_END1m FOR$WRITE_SF㰏 -~«^(nЫZZX ^( [n XX\^`\ FOR$IO_T_V_DS FOR$IO_END\m FOR$WRITE_SF㰏 -~«^(nЫZZX ^( [n XXd^hd FOR$IO_T_V_DS FOR$IO_END1m FOR$WRITE_SF^(dn«^( nЫZZX^(gnXXl^pl FOR$IO_T_V_DS FOR$IO_END\m FOR$WRITE_SF^(dn«^( nЫZZX^(gnXXt^xt FOR$IO_T_V_DS FOR$IO_END1m FOR$WRITE_SF㰏 -~«^(ˍnЫZZX ^( nn XX|^ˀ| FOR$IO_T_V_DS FOR$IO_END\m FOR$WRITE_SF㰏 -~«^(ˍnЫZZX ^( nn XX˄^ˈ˄ FOR$IO_T_V_DS FOR$IO_END1m FOR$WRITE_SFʰ -~«^(ˌnЫZZX}/status=~XXˌ^ːˌ FOR$IO_T_V_DS FOR$IO_END\m FOR$WRITE_SFʰ -~«^(ˌnЫZZX}/status=~XX˔^˘˔ FOR$IO_T_V_DS FOR$IO_END1m FOR$WRITE_SF㰏 -~« ^( nЫ ZZX^(wnXX˜^ˠ˜ FOR$IO_T_V_DS FOR$IO_END\m FOR$WRITE_SF㰏 -~« ^( nЫ ZZX^(wnXXˤ^˨ˤ FOR$IO_T_V_DS FOR$IO_ENDѫ ¹ ˬENCRYPT˼STR$TRIMի4m FOR$WRITE_SF FOR$IO_T_DS FOR$IO_END\m FOR$WRITE_SF FOR$IO_T_DS FOR$IO_ENDm FOR$WRITE_SF FOR$IO_T_DS FOR$IO_END\m FOR$WRITE_SF FOR$IO_T_DS FOR$IO_END\1ENCRYPTV1m FOR$WRITE_SF«^(nЫV}/dtrace=~V^( nV}/server=~V^(nV}/object=~V^(nV^(~nV ^( n VV^ FOR$IO_T_V_DS FOR$IO_ENDm FOR$WRITE_SF«^(nЫV}/dtrace=~V^( nV}/server=~V^(nV}/object=~V^(nV^(~nV ^( n VV ^  FOR$IO_T_V_DS FOR$IO_END11m FOR$WRITE_SF«^(nЫV}/dtrace=~V^(nV^(~nV^(nV^(nV ^( n VV^ FOR$IO_T_V_DS FOR$IO_ENDm FOR$WRITE_SF«^(nЫV}/dtrace=~V^(nV^(~nV^(nV^(nV ^( n VV^  FOR$IO_T_V_DS FOR$IO_END1m FOR$WRITE_SF«^(nЫV}/dtrace=~V^(nV^(~nV^(nV}/object=~V ^( n VV$^($ FOR$IO_T_V_DS FOR$IO_ENDm FOR$WRITE_SF«^(nЫV}/dtrace=~V^(nV^(~nV^(k$ IBMC041.A# [DECUS_KITS.IBMC.KIT]IBM.OBJ;118"ynV}/object=~V ^( n VV,^0, FOR$IO_T_V_DS FOR$IO_ENDm FOR$WRITE_SF4 FOR$IO_T_DS FOR$IO_ENDm FOR$WRITE_SF< FOR$IO_T_DS FOR$IO_END\m FOR$WRITE_SFD FOR$IO_T_DS FOR$IO_ENDm FOR$WRITE_SFL FOR$IO_T_DS FOR$IO_END\m FOR$WRITE_SFT FOR$IO_T_DS FOR$IO_END\m FOR$WRITE_SF\ FOR$IO_T_DS FOR$IO_ENDm FOR$WRITE_SFd FOR$IO_T_DS FOR$IO_ENDm FOR$WRITE_SFl FOR$IO_T_DS FOR$IO_ENDm FOR$WRITE_SFt FOR$IO_T_DS FOR$IO_END\m FOR$WRITE_SF| FOR$IO_T_DS FOR$IO_END˄ FOR$CLOSE ^( |n ~^(jn ~^(˓n@~,?n Q^ˌSTR$TRIM\1˜ LIB$DATE_TIME FOR$WRITE_SL«,^(,nЫ,V^(nV^(nVVˤ^˨ˤ FOR$IO_T_V_DS FOR$IO_END~ FOR$WRITE_SLˬ FOR$IO_T_DS FOR$IO_ENDm~ FOR$READ_SFH FOR$IO_T_DS FOR$IO_END˴ FOR$CLOSEﰫ8˼˼ LIB$SIGNAL LIB$SIGNALﰫ,LIB$DO_COMMANDPk\ LIB$DATE_TIME FOR$WRITE_SL ^( n^(n"^ FOR$IO_T_V_DSk FOR$IO_L_V FOR$IO_ENDk1}ABORT 2S0 FOR$ENCODE_MF˨ FOR$IO_T_DS FOR$IO_T_DS˸ FOR$IO_T_DS˰ FOR$IO_T_DSݫ0 FOR$IO_L_Vk FOR$IO_L_V FOR$IO_END\ LIB$DATE_TIME FOR$WRITE_SL0^(02n^(n^(nJ^ FOR$IO_T_V_DS FOR$IO_END FOR$OPENP1? FOR$WRITE_SF FOR$IO_T_DS FOR$IO_END( FOR$CLOSEk40 LIB$SIGNAL}CLOSE 2A0 FOR$ENCODE_MF˨ FOR$IO_T_DS FOR$IO_T_DS˸ FOR$IO_T_DS˰ FOR$IO_T_DSݫ0 FOR$IO_L_V FOR$IO_T_DS FOR$IO_END\8 LIB$DATE_TIME FOR$WRITE_SL0^(02n^(n^(nJ@^D@ FOR$IO_T_V_DS FOR$IO_ENDHFOR$OPENP? FOR$WRITE_SF FOR$IO_T_DS FOR$IO_ENDt LIB$SIGNAL| LIB$SIGNAL˄ LIB$SIGNALˌ LIB$SIGNALd FOR$CLOSEl FOR$CLOSEˌ LIB$SIGNALFOR$EXIT@,P@8PPV4.1newsequential oldappend - Disaster Recovery test selected::" - Trying SYS$LOGIN: - Access = NCI - Default = 4.0 - Request packet follows - - Selector response followsREJECT ACCEPT - Contents of $ delete /printer=Q/data="Q" -Q/key_def=/logon=Q$ ibm/close='f$integer($s@tatus)'Q/noversion/debug=Q /drtest/object= - STATUS = OIBM$MAINLIB$SYS_TRNLOGJPI$_PID JPI$_USERNAME LIB$GETJPILIB$DO_COMMANDSTR$TRIM CLI$PRESENT CLI$GET_VALUE LIB$DATE_TIME IBM_VERSION IBM_NOCONN IBM_NONODESIBM_UNKNOWNERR IBM_LINKLOSTIBM_NOWRITEACC IBM_CONNIBMIBM_WAIT IBM_STARTNEWS IBM_ENDNEWS LIB$SIGNALENCRYPTFOR$OPEN LIB$INDEX DISPLAY_NEWS FOR$CLOSEDISPLAY_REJECTFOR$EXIT$CODE$PDATA$LOCAL!NODES FOR$IO_END FOR$IO_L_R FOR$IO_L_V FOR$IO_F_R FOR$IO_T_DS FOR$IO_T_V_DS FOR$READ_SF FOR$READ_SF FOR$WRITE_SF FOR$WRITE_SF FOR$WRITE_SL FOR$ENCODE_MF FOR$DECODE_MFttP|P*P dPasPP0P!P#P 2P`5P6hP.kP'PP]PAPPP%P1PnPKPP#PPPP PK`PbPPKPPPPdPVP] PJdPPPPPP PP8'P,P+2P%eP1PZP(PPfPuPPPPP{ P! P! P!J P!n PD P! P!` P! P PQ6 P PQ P? PW P PQLPPQPOPQP\PEP!&P!LP[PGP2PPP!P!aP!PFP#P!zPRPJP PKdPcPK_PiP'PP  ! w/,*[DECUS_KITS.IBMC.KIT]IBMC040.RELEASE_NOTES;3+,#./ 4ON-#0123KPWO5 6p key for the correct keyboard layout. This is a terminalNsensitive help facility, and will display the layout for the terminal that youare currently using.Hints.HYou might want to INSTALL the IBM.EXE image with the /OPEN/HEADER/SHAREDIqualifiers. This will cause a faster startup of the IBM image because the6operating system does not have to search for the file.MAnother option is to INSTALL the IBM.EXE image with the /ACCOUNT option. ThisKwill set up image accounting for this image only. Then using the accountingLoption, you could generate reports on who used the image, how often, and forKhow long. This report could then be used to compare against the usage bill.HWhen you have INSTALLed the image, be sure to use the REPLACE command in1INSTALL when you upgrade to a new version of IBM. Restrictions.KThe installation procedure will modify the DCLTABLES to include the commandKIBM. Users who are logged-in during the installation and need to access IBM3must logout and login to access the new DCLtables. 8Currently, only the documented qualifiers are supported.LWhen run, the IBM program creates a temporary workfile. To do this, the userBrunning it must have read/write access to the SYS$LOGIN directory.Changes for V4.08 - Support for access to Channel Attach and ST gateways. - Installable using VMSINSTAL.C - Customizable server nodenames, object number, and debug password  Release Notes for IBM V3.2LThe /DATA= qualifier now excepts any valid signon data to be sent to the IBMOhost for any application. Previous versions allowed DCL to parse the data fieldNcausing delimiters to recognized by DCL and not passed to the IBM application.ANote, it is important that the data be enclosed in double quotes.Example:$ IBM/DATA="userid/password"LIf the application has been enabled to except this type of login, the USERIDMand PASSWORD would be passed to the applications signon screen. If valid, theKuser would be presented with a successful signon screen or the first screen,presented after a signon has been completed.  Release Notes for IBM V3.1JIBM V3.1 no longer spawns the "SET HOST/SNA" command. System performance Fwill be aided by the elimination of spawning a sub-process as well as Kreducing the number of processes on a given VAX. Elimination of the spawn Falso avoids a bug in the terminal driver wherein the SPAWN would causeKCTRL/Y and CTRL/T to be disabled for the duration of the logged-in session.KA new qualifier, /NOVERSION, has been added to suppress the display of the version of IBM.EThe system NEWS will be displayed if a session is rejected due to no Igateways being available. This may help a user determine the reason for the rejection.MThe default Logon Mode is now S3278M2. This change requires less resources on?the SNA Gateways allowing for more simultaneous sessions. UsingL/LOGON_MODE=T3278M5 will cause automatic switching to a 132 column by 24 row/screen when the application supports that mode.  Release Notes for IBM V3.0HWhen IBM V3.0 exits, it now sets the $STATUS symbol properly. Hence, DCLFprocedures can now detect whether a IBM session was activated or not. NThe process name of the spawned sub-process is now set to IBM_pid where pid isHthe process ID of the process where IBM was invoke9n$ IBMC041.A##,[DECUS_KITS.IBMC.KIT]IBMC040.RELEASE_NOTES;3O=d. This feature may beJreplaced in a future release. We are investigating other options to enableeasy tracking of DECnet links.LTwo informational messages have been added when IBM V3.0 is ready to connectHto the IBM system. The first displays the access name being used and the,second simply indicates "Please standby...".KIBM now supports the VMS HELP facility. All support commands are documentedMin the HELP facility, including examples. The HELP files are installed duringGthe IBM Version 3.0 installation process. To view the HELP information,enter the following: $ HELP IBM_accessMIBM V3.0 includes a NEWS feature which will display an informational message Lto the user before the IBM session is started. This message will typically Kinform the user about outages, new features, etc. The system will pause 4 Kseconds before continuing. The qualifier /PAUSE has been added to control 3the length of the pause. The format is as follows:> /PAUSE=YES User will be prompted to press RETURN to continue.? /PAUSE=NO There will be no pause after display of the message.. /PAUSE=n Pause 'n' seconds before continuing.  Release Notes for IBM V2.2Command Qualifiers:/ACCESS_NAME=application_id default is /ACCESS_NAME=NCIB Identifies the name of the entry in the Gateway access name tableG to use when connecting to the SNA network. If you use other qualifiersA along with an access name, the values for those other qualifiers% override the defaults if they exist.2 The "application_id" may be any of the following: CICS CICSTEST NCI (default) ROSCOE ROSCOE2 TSO/PRINTER=file-spec" default is /PRINTER=SNATPRINT.LISF Identifies the name of a file that records the contents of the screenC when the PRINT function key is pressed. "File-spec" is a file nameG formatted according to the VAX/VMS conventions for naming files. It isF recommended that you use the /PRINTER qualifier to direct output to aG disk file or to a spooled printer only. Using this qualifier to directB output to a physical printer or to a slow terminal may cause yourB terminal to hang when you press PRINT, particularly if the output device has dropped off line. B NOTE: The file name you specify with /PRINTER or the one that is A implied when you take the default value can be changed when the A 3270 TE software is running. To supply a new file name, use the  SET PRINT FILE function. /DATA=dataE Identifies user data to be sent to the IBM system as part of the SNAB INITS (initiate self) log-on request. "Data" is a string of ASCIIC characters. If the string includes any nonalphanumeric characters,G then the entire string must be included in quotation marks. The string# can be up to 128 characters long. B Some IBM subsystems use values for the /DATA qualifier at 3270 TEE startup time to speed the log-in process. The 3270 TE users who wantF to connect to TSO can use the /DATA qualifier, if allowed, to provideD specific information. For TSO/VTAM, the value for /DATA must follow the following format:   /DATA="user-id"  /KEY_DEFINITIONS=file-specE This optional qualifier identifies the keyboard definition file usedE to redefine the way the 3270 key function correspond to the keyboardA layout. This file holds the definitions for alternative keyboardF mapping. The value for "file-spec" is the file name of the definitionC file. You can specify a file you create or use the numeric key-pad: definition fiel SNATE$NUMPAD.FIL found in SYS$EXAMPLES:. A If the /KEY_DEFINITIONS qualifier is not specifiedm, the TE will< use the default keyboard layout. Refer to Appendix E of theD DECnet/SNA VMS 3270 Terminal Emulator User's Guide for instructions2 on creating and using a keyboard definition file.2/LOGON_MODE=mode-entry  default is /LOGON_MODE=T3278M2G Identifies the name of an entry in the logon mode table defined by theE host IBM system. This entry specifies a selected set of SNA protocolG options. The value for "mode-entry" is given to the Gateway manager byB the IBM VTAM programmer and is defined in the VTAM MODEENT macro.F "Mode-entry is an alphanumeric string consisting of 1 to 8 charactersF chosen from the set of A-Z, 0-9, period (.), dollar sign ($), at sign (@), and pound sign (#). /STATUS=[ON|OFF|AUTOMATIC] default is /STATUS=AUTOMATICH Specifies the startup setting of STATUS LINE. If "ON" is specified,H the status line is displayed when the terminal emulator starts up andH overwrites any text on the last line of the display. If "OFF" isH specified, the status line is turned off at startup. If "AUTO" isH specified, the status line is displayed at startup but disappearsH whenever there is text to be displayed on the last line of the display.#*[DECUS_KITS.IBMC.KIT]IBMERRS.OBJ;14+,# ./ 4@4-#0123KPWO567 w89&7tGHJ6 IBM_MESSAGES018-JAN-1990 16:3918-JAN-1990 16:39VAX-11 Message V04-00k$ABS$  MSG$SECTIONMSG$AAAAAAAAAAAMSG$AAAAAAAAAABMSG$AAAAAAAAAAC,l IBM_REASONdIBM_NOWRITEACC\ IBM_LINKLOSTTIBM_UNKNOWNERRL IBM_NONODESBIBM_NFW:IBM_CONNREJECT3 IBM_ENDNEWS+ IBM_STARTNEWS#IBM_WAIT IBM_CONNIBM IBM_NOCONN  IBM_VERSION IBM$_FACILITY@PeP*P'P (p{  (D0r8@HP<X`h"VERSIONIBM version !AS2NOCONN unable to connect to IBM system.4CONNIBM!Connecting to IBM application !AS$WAITPlease standby . . .. STARTNEWSStart of IBM news . . .!/(ENDNEWSEnd of IBM news . . .8 CONNREJECT"connection to IBM system rejected.0NFW"connection to IBM system rejected.:NONODES'unable to locate a Gateway Router node.N UNKNOWNERR8unknown response -!AS- report this to support personnel .LINKLOSTlink to router lost/broken.8 NOWRITEACC#no write access to login directory.REASON!ASIBM%*[DECUS_KITS.IBMC.KIT]IBM_ACCESS.HLP;1+,7$ ./ 4M|-#0123KPWO565@7QEw89&7tGHJ   1 IBM_access  M The IBM command is a Corning replacement for SET HOST/SNA. It is used to M access the IBM system via the 3270 terminal emulator. The IBM command is M not limited to a single gateway, but instead allows a pool of SNA M Gateways to be used, thereby increasing availability and ensuring that : the user is always placed on the least loaded gateway.  M To use the IBM command, the user's username and DECnet nodename must be M registered. Non-registered users will be denied access to the IBM system. M Have your System Manager contact the Data Communications Technicians for details.  M To exit from the IBM session, log out completely as per the application M instructions. If your IBM session goes into a "hung" state, where key M entry causes no change to occur on the screen, please call the Customer M Support Line at 222-3000. Do not exit the IBM session without consulting ) the Customer Support personnel first.  M The IBM command supports a sub-set of the qualifiers that are supported by the SET HOST/SNA command.   Format: IBM [/qualifiers]  2 Keyboard_Map  H In order to view the keyboard definition for the current 3270 H terminal emulation session, press the key located on the H keyboard adjacent to the key or press keypad <.> followed by H the letter . A keyboard map will be displayed for the current  terminal type in uI$ IBMC041.A7$ #%[DECUS_KITS.IBMC.KIT]IBM_ACCESS.HLP;1M"se.  H If you are using a personal computer with an ASCII terminal H emulation program, refer to the program's reference manual for the H key assignments of the emulated terminal. In order to accomplish the H correct keyboard mapping, you will need to know the terminal type H that the personal computer is emulating. Execute SHOW TERMINAL at H the $ to display the terminal characteristics. The 'Device_type' 3 field states the current terminal type setting.  2 New_features_V3.1  6 These are new features implemented since IBM V2.2.  3 Exit_status  C When IBM exits, it now sets the $STATUS symbol properly. Hence, C DCL procedures can now detect whether an IBM session was  activated or not.  3 Network_news  C IBM V3.0 includes a NEWS feature which will display an C informational message to the user before the IBM session is C started. This message will typically inform the user about C outages, new features, etc. The system will pause 4 seconds C before continuing. The qualifier /PAUSE has been added to > control the length of the pause. The format is as follows:  C /PAUSE=YES User will be prompted to press RETURN to ! continue. C /PAUSE=NO There will be no pause after display of the message. < /PAUSE=n Pause 'n' seconds before continuing.  3 Status_messages  C Two informational messages have been added when IBM V3.0 is C ready to connect to the IBM system. The first displays the C access name being used and the second simply indicates "Please  standby...".  3 New_qualifier  C Display of the IBM version may be suppressed by using the  /NOVERSION qualifier.  3 SPAWN  C IBM no longer executes the SET HOST/SNA by spawning a C subprocess. This will reduce the time needed to startup the IBM 7 session as well as help overall system performance.  2 News_message  H IBM will display a news message after user verification has taken H place. This message will contain information relating to upcoming H IBM downtimes, new features, or other helpful information. If a news H message is displayed, IBM will pause four seconds for the user to H read the text of the message. There is no pause if there is no news  to be displayed.  2 Restrictions  H Currently, only the documented qualifiers are supported. If support H is required for other qualifiers, please contact the CGW Networks  personnel.  H You must have read/write access to your SYS$LOGIN directory for IBM  to function properly.  2 Examples  H To establish a 3270 terminal emulation session to the NCI = application on the IBM host, enter the following command:   $ IBM  H To establish a 3270 terminal emulation session to the CICS = application on the IBM host, enter the following command:   $ IBM/ACCESS=CICS  H To establish a 3270 terminal emulation session to the ROSCOE H application on the IBM host with support for a 132 column wide ( screen, enter the following command:  / $ IBM/ACCESS=ROSCOE/LOGON_MODE=T3278M5  H To establish a 3270 terminal emulation session to the TSO H application on the IBM host and using a spooled printer for screen . print output, enter the following command:  ' $ IBM/ACCESS=TSO/PRINTER=LPA0:  H To establish a 3270 terminal emulation session to the ROSCOE2 H application on the IBM host using a custom keyboard definition file, enter the following command:  A $ IBM/ACCESS=ROSCOE2/KEY_DEFINITION=SYS$LOGIN:MYKEYS.FIL  H To establish a 3270 terminal emulation session to the TSO H application on the IBM host using a pre-determined USERID, enter the  following command:  ( $ IBM/ACCESS=TSO/DATA="IYIY999"  H application on the IBM host with a personal computer and using a 7 file transfer program, enter the following command:  % $ IBM/ACCESS=CICS/STATUS=OFF  C2 Command_qualifiers  /ACCESS_NAME   /ACCESS_NAME=application_id  H Identifies the name of the entry in the Gateway access name table to H use when connecting to the SNA network. If you use other qualifiers H along with an access name, the values for those other qualifiers ( override the defaults if they exist.  5 The "application_id" may be any of the following: CICS  CICSTEST  NCI ( default )  ROSCOE  ROSCOE2 TSO  /DATA   /DATA=data  H Identifies user data to be sent to the IBM system as part of the SNA H INITS (initiate self) log-on request. "Data" is a string of ASCII H characters. If the string includes any nonalphanumeric characters, H then the entire string must be included in quotation marks. The , string can be up to 128 characters long.  H Some IBM subsystems use values for the /DATA qualifier at 3270 TE H startup time to speed the log-in process. The 3270 TE users who want H to connect to TSO can use the /DATA qualifier, if allowed, to H provide specific information. For TSO/VTAM, the value for /DATA must follow the following format:   /DATA="user-id"  /KEY_DEFINITIONS   /KEY_DEFINITIONS=file-spec  H This optional qualifier identifies the keyboard definition file used H to redefine the way the 3270 key function correspond to the keyboard H layout. This file holds the definitions for alternative keyboard H mapping. The value for "file-spec" is the file name of the H definition file. You can specify a file you create or use the H numeric key-pad definition file SNATE$NUMPAD.FIL found in  SYS$EXAMPLES:.  H If the /KEY_DEFINITIONS qualifier is not specified, the TE will use H the default keyboard layout. Refer to Appendix E of the DECnet/SNA H VMS 3270 Terminal Emulator User's Guide for instructions on creating ) and using a keyboard definition file.  /LOGON_MODE   /LOGON_MODE=mode-entry  " Default is /LOGON_MODE=T3278M2  H Identifies the name of an entry in the logon mode table defined by H the host IBM system. This entry specifies a selected set of SNA H protocol options. The value for "mode-entry" is given to the Gateway H manager by the IBM VTAM programmer and is defined in the VTAM H MODEENT macro. "Mode-entry is an alphanumeric string consisting of 1 H to 8 characters chosen from the set of A-Z, 0-9, period (.), dollar . sign ($), at sign (@), and pound sign (#).  /NOVERSION   /NOVERSION  H Specifies that the version of the IBM client software not be  displayed.  /PAUSE   /PAUSE=[YES|NO|n] e  Default is /PAUSE=4  H Specifies the amount of time to pause after the news message is  displayed.  ? /PAUSE=YES IBM will pause until the user presses RETURN. G /PAUSE=NO IBM will not pause after displaying the news message. "? /PAUSE=n IBM will pause 'n' seconds before continuing. r 8 If no news message is displayed, IBM will not pause.  /PRINTER   /PRINTER=file-spec  % Default is /PRINTER=SNATPRINT.LIS f H Identifies the name of a file that records the contents of the H screen when the PRINT function key is pressed. "File-spec" is a file H name formatted according to the VAX/VMS conventions for naming files.  H It is recommended that you use the /PRINTER qualifier to direct H output to a disk file or to a spooled printer only. Using this H qualifier to direct output to a physical printer or to a slow H terminal may cause your terminal to hang when you press PRINT, ; particularly if the output device has dropped off line. t H NOTE: The file name you specify with /PRINTER or the one that is H implied when you take the default value can be changed when the 3270 H TE software is running. To supply a new file name, use the SET PRINT  FILE function.  /STATUS u  /STATUS=[ON|OFF|AUTOMATIC]  Default is /STATUS=AUTOMATIC  H Specifies the startup setting of STATUS LINE. If "ON" is specified, H  qmA$ IBMC041.A7$ #%[DECUS_KITS.IBMC.KIT]IBM_ACCESS.HLP;1MTZthe status line is displayed when the terminal emulator starts up H and overwrites any text on the last line of the display. If "OFF" is H specified, the status line is turned off at startup. If "AUTO" is H specified, the status line is displayed at startup but disappears H whenever there is text to be displayed on the last line of the display. %*[DECUS_KITS.IBMC.KIT]KITINSTAL.COM;29+,./ 4P-#0123KPWO567w7Qw89GHJ+$! Installation of IBM Access System - V4.1$!$ on warning then exit $status$ type sys$inputH************************************************************************H* *H* IBM_Access Client Kit *H* *H************************************************************************$!$! Check minimum VMS version$!/$ VMI$CALLBACK CHECK_VMS_VERSION version_ok 050$ if .not. version_ok then - VMI$CALLBACK UNWIND$!B$! Give them a choice to either install entire kit, or just update$$! server nodenames or DECnet object$!!$ update_only_site_data = "FALSE"C$ if f$search("sys$system:ibm.exe") .eqs. "" then goto check_global$get_install_opt:$ type sys$inputPYou may install the entire IBM Client kit (if this is an upgrade from a previousIversion, or a new installation), or just rebuild IBM.EXE to specify a new/debug password, DECnet object, or server nodes. 1. Installing entire kit 2. Rebuild IBM.EXE imageD$ VMI$CALLBACK ASK install_opt "Please specify option (1 or 2)" "" I.$ if install_opt .eq. 1 then goto check_global$ if install_opt .eq. 2$ then!$ update_only_site_data = "TRUE"$ goto skip_global_check$ endif$ goto get_install_opt$!J$! Make sure we have enough free GBLSECTIONS & GBLPAGES before proceeding.$!$check_global:$$ VMI$CALLBACK MESSAGE I CHKGLOBAL -1 "Checking for sufficient global sections/pages"$ gosub check_gbl4$ if gblsections_free .lt. 5 then goto need_sections0$ if gblpages_free .lt. 400 then goto need_pages$!#$ VMI$CALLBACK MESSAGE I GLOBALOK -$ "Sufficient Global sections/pages"$!$skip_global_check:$ VMI$CALLBACK SET PURGE ASK$! $get_obj:$!$ type sys$inputGInstallation requires that you supply the DECnet object number that was4specified for the IBM Server on the central systems."$ VMI$CALLBACK ASK decnet_object -* "What is the DECnet object number" 130 II$ if decnet_object .ge. 128 .and. decnet_object .le. 255 then goto obj_ok$!%$ VMI$CALLBACK MESSAGE W BADOBJNUMB -4 "DECnet object number must be in range 128 -> 255"$!$ goto get_obj$!$obj_ok:$!$ type sys$inputIYou must now provide four DECnet node names which specify up to three IBMNserver systems in the order in which they are to be accessed, and one disasterOrecovery test system. If less than three systems are available, you may specifyduplicate nodenames.$!!$ VMI$CALLBACK ASK primary_node -/ "What is the primary server node name" NETWRK$!#$ VMI$CALLBACK ASK secondary_node -1 "What is the secondary server node name" HISVAX$!"$ VMI$CALLBACK ASK tertiary_node -0 "What is the tertiary server node name" HERVAX$! $ VMI$CALLBACK ASK drtest_node -> "What is the disaster recovery test server node name" NETBCK$!G$ primary_node = f$edit(f$extract(0,6,"''primary_node' "),"upcase")K$ secondary_node = f$edit(f$extract(0,6,"''secondary_node' "),"upcase")I$ tertiary_node = f$edit(f$extract(0,6,"''tertiary_node' "),"upcase")E$ drtest_node = f$edit(f$extract(0,6,"''drtest_node' "),"upcase")$!$get_debug_pwd:#$ VMI$CALLBACK ASK debug_password -2 "What is the DEBUG password (3 to 6 characters)";$ debug_password = f$edit(debug_password,"upcase,collapse")&$ if f$length(debug_password) .le. 3 -= .or. f$length(debug_password) .gt. 6 then goto get_debug_pwd$!!$ VMI$CALLBACK MESSAGE I CONFIG -1 "You have specified the following information:"!$ VMI$CALLBACK MESSAGE I OBJECT -# "DECnet object: ''decnet_object'""$ VMI$CALLBACK MESSAGE I PRIMARY -! "Primary node: ''primary_node'"$$ VMI$CALLBACK MESSAGE I SECONDARY -% "Secondary node: ''secondary_node'"#$ VMI$CALLBACK MESSAGE I TERTIARY -# "Tertiary node: ''tertiary_node'"!$ VMI$CALLBACK MESSAGE I DRTEST -/ "Disaster recovery test node: ''drtest_node'"#$ VMI$CALLBACK MESSAGE I DEBUGPWD -% "Debug password: ''debug_passwor d'"$ VMI$CALLBACK ASK ok2go - "Answer YES to proceed" "N" BD"$ if .not. ok2go then goto get_obj$!A$ Write sys$output "Linking debug password encryption program...">$ link/notrace/executable=vmi$kwd:encrypt_debug_password.exe -# vmi$kwd:encrypt_debug_password,- vmi$kwd:encrypt$$ run vmi$kwd:encrypt_debug_password $ wmar := write ibm_nodename_mar:$ open/write ibm_nodename_mar vmi$kwd:ibm_server_nodes.mar $ wmar ""B$ wmar " .PSECT NODES PIC OVR REL GBL SHR NOEXE RD WRT LONG" $ wmar "":$ wmar "; Names of DECnet nodes that are the server nodes" $ wmar ""=$ wmar " .byte ^D''f$edit(byte1,"collapse")' ; Encrypted pwd"-$ wmar " .byte ^D''f$edit(byte2,"collapse")'"-$ wmar " .byte ^D''f$edit(byte3,"collapse")'"-$ wmar " .byte ^D''f$edit(byte4,"collapse")'"-$ wmar " .byte ^D''f$edit(byte5,"collapse")'"-$ wmar " .byte ^D''f$edit(byte6,"collapse")'"=$ wmar f$fao(" .ascii /!3ZL/ ; object number",decnet_object)A$ wmar f$fao(" .ascii /!6AS/ ; Primary server node",primary_no de)E$ wmar f$fao(" .ascii /!6AS/ ; Secondary server node",secondary_node)C$ wmar f$fao(" .ascii /!6AS/ ; Tertiary server node",tertiary_node)J$ wmar f$fao(" .ascii /!6AS/ ; Disaster recovery test server",drtest_node) $ wmar ""$ wmar " .end"$ close ibm_nodename_marH$ macro vmi$kwd:ibm_server_nodes.mar/object=vmi$kwd:ibm_server_nodes.obj$!0$ write sys$output "Linking IBM.EXE image . . ."$!+$ link/notrace/executable=vmi$kwd:ibm.exe - vmi$kwd:ibm,- vmi$kwd:display_reject,- vmi$kwd:display_news,- vmi$kwd:ibmerrs,- vmi$kwd:encrypt,- vmi$kwd:ibm_server_nodes$!A$ VMI$CALLBACK PROVIDE_IMAGE ibm_image ibm.exe vmi$root:[sysexe] $!/$ VMI$CALLBACK SECURE_FILE ibm_image [1,4] w:re-$ if update_only_site_data then goto skip_dcl$! $! Add new command to DCL tables$!*$ VMI$CALLBACK PROVIDE_DCL_COMMAND ibm.cld$!$! Add to system help library$!*$ VMI$CALLBACK PROVIDE_DCL_HELP ibm_access$!$ type sys$inputH************************************************** **********************H* *H* N O T E *H* *H* If this is a cluster installation, make sure to reinstall DCLTABLES *H* on all other members of the cluster. *H* *H************************************************************************ $skip_dcl:$ exit$! B$! Display problems w/ insufficient free global sections or pages.$need_sections:$ type sys$inputFThis installation installs a new DCL command ( IBM ) by rebuilding andFreINSTALLing DCLTABLES. This will require at least 1 additional globalIsection. You have less than 5 free global sections. To be safe, you willFhave to increase the number of global sections (parameter GBLSECTIONS)*before the installation can be performed. /$ if gblpages_free .ge. 400 then goto we_failed $need_pages:$ type sys$inputFThis installation installs a new DCL command ( IBM ) by rebuilding andFreINSTALLing DCLTABLES. This will require approximately 350 additionalGglobal pages. You have less than 400 free global pages. To be safe, youEwill have to increase the number of global pages (parameter GBLPAGES)*before the installation can be performed. $we_failed:%$ VMI$CALLBACK MESSAGE E MOREGLOBAL -, "More global pages and/or sections needed"$ P |.$ IBMC041.A#%[DECUS_KITS.IBMC.KIT]KITINSTAL.COM;29PUVMI$CALLBACK UNWIND$ exit$! $! GBLSUMMARY.COM$!6$! Displays current status of GBLSECTIONS and GBLPAGES$! $check_gbl:$ say := write sys$output$ install := $install/command$ pid = f$getjpi("","PID")$$ temp_file = "sys$login:''pid'.tmp";$ if f$search(temp_file) .nes. "" then delete 'temp_file';*'$ gblsections = f$getsyi("gblsections")!$ gblpages = f$getsyi("gblpages")$ gosub gbl_summary$ gosub gbl_display$ return$! $! Subroutine GBL_SUMMARY$!$! Global Structure Summary$!2$! Following variables are defined when this ends:3$! gblsections, gblsections_used, gblsections_free*$! gblpages, gblpages_used, gblpages_free$! $gbl_summary:$$ define/user sys$output 'temp_file'$ install list /glo/summ$ open/read f1 'temp_file'#$ read f1 record ! skip header line$ read f1 recordI$ record = f$edit(f$extract(2,255,record),"trim") ! trim leading $ t1 = f$locate(" ",record);$ gblsections_used = f$integer(f$extract(0,t1,record)) !***7$ record = f$extract(f$locate(",",record)+1,255,record)$ t1 = f$locate("/",record)8$ gblpages_used = f$integer(f$extract(0,t1,record)) !***%$ record = f$extract(t1+1,255,record)J$ gblpages_free = f$integer(f$extract(0,f$locate(" ",record),record)) !***8$ gblsections_free = gblsections - gblsections_used !*** $ close f1$ delete 'temp_file';*$ return$! $!$! Subroutine GBL_DISPLAY$!$! Global Structure Display$!$! $gbl_display:$ type sys$input' Global Sections Global Pages* Total Used Free Total Used Free* ----- ----- ----- ----- ----- -----0$ say f$fao("!6UL!6UL!6UL !6UL!6UL!6UL!/",-1 gblsections,gblsections_used,gblsections_free,-' gblpages,gblpages_used,gblpages_free)$ return W-#[DECUS_KITS.IBMC.KIT]KIT$8(6T/k hwfNOTES;3W(@+-:)S(EOonZ[C5s.189`/nGK OҶGD"cq48ny8?kh(Q?n[{]f+!ZYZ Y.o3zOMP\ B\qEW^ {]f?sD$_yb\@!afw`\*zL/$ZP%=69V/Z9u0 ?L2d\ {/% Z)"|mT0k WI y)n;IN, ^S3^hII {~$v7[ FP)5^)Uc!5@^P(62=̃'[K42n*`Jd?tTUE&tE,8V=`Bx)8:dV~SyE% xSm2'bn@Wz#b[ZmH \k(LDL3LGFgpG)ʳ]y*˨or7MGY̜jPQ ud挷\*L'%·:3bB$!Wԗ Mϼf~s549 Y]SL;\S%k1Mm#9a9`>?n @ ]"DG BX%e}SG_n_m]tlg^wjT"Mj_ T(gq3#>xBÿf+F :B9YֱvH^lF~I$} pt.:${'"j-o2"Z_oM"}|%ȭ JoE AHc*5jϿo] E EGh7_C^i(Ji? @TN_i~ah5u}j@sfg5u!pCc?.rk`2}տ WO4n]KQm* ;.zwHߎ5V Kp'cevx2STQY4N*GZIX,IN>VBBE!^ ?,y"]Y |7wggS;[LxziF>FdUn!~Zq_1఺$4n+sڣuw"$2 ɦ@m4@EH#[hO0rlK|RG"H.2l}S'-'KdT=(}TL\+MQgyst~*A$' %@V-&iz2̤D F~4so|~($il ͇/#8K|џê)][9QBeC6g:pt#OP?UwsywR]_ltsN0Jj_+7,iov<,=.QD=ՏQip. 2Lgc0 [3,br ~9Q^-OUY> 9^-'^ R]{/O0q0}z*BS d3Vkhcɼ}3 M)3Up^4{\*j,eJ"5f-r=Dgd32wW,g ^q BTD] Nld./&%` ik`?R:(BFXcaW?ck^#18pd~{I_8KocڪX #W߱}W^W%!Oce[A#o4ރ~.1X.ǥQ+!f.,/aDH#|@b5%e5mukEPmGeci1%@yk^ZEm֯.sqSs%tXL? 5ARaCv :gETB*_;\6 sVny ]1~stXȏCq&`2FQ]QW 2T" +9+EKOB`"E{*;^^nGJet/ NBD6VBT)%;GZIc)/W|3fx O"IWY=#{.RP M)nBdl50MGHNMR fXCoeMO~4J-5TMnA[&V\ה7kZ@90<(PXEp#MDT?!`ƵiA c"!9rAQj l-~2!׻3> dq\5M=Bޑ#"}EciZIG>|6P(b/gN@5KE!6"hdb5KR~wcي^s@F#I>_҂U NgZBR刹LG#.szln5%@m؅=W_FHsqNH3"ݺBX:ݖ<6â$/܈POgbe<H讉VQNooJ ۞oȷuBy/el0''3?Yo `7G.א5g!6`8c{F\<gZ9#€!Zbo;HL6,E>lTn ;KZKy5S.}cio'@ 󷜥%XP!DW.Ifn@.eR1b;jmr):\X+DBq(/D=x3? m-;H#q64 7NLJz2-;b{{ =54n7i;V$%&;p<=ޮ\ho1._g"5b DmBIi:֌nw}}{?H9}JclS!nw`$?Դfz^k=`eٰlc\؁y7,9q mcxԿ{+ T9A2y^]y&bg3q_-h@%9'-HԈH/>Ok26&"LOUD@k=/]Cu#,(u*gL!Wx[k` ;ɼ"BM5YD&mw4,`}GخhoXgUe#zʒyNa'~I1 ~ޞ; 8hBv :X`#J;~/R)[@&64YZlRB >,-f)FV_w9 =0k `5Fp8FNq oPu:za!vAUfуi4@FArckw&I͢%M|G6Eq{R7#!}0, :w"|3JjLT [Nm%AHJ\s5>(IOReH{ kqr0m p즷:PnYWvbB2)q5&!?Jn{Q, &w-#j(K}nH𐷲1M )Ⰷ9$.p0%kz$Ft-_l 0,~nw-iG SffT?9s6@w5y,/u/RX%)+{ owM*[~Ѓ\Vbv{6-j漇 @n8l rmjׇY#Jwg >~ 5 @?n,hd$v:@{$H`-+{ (D B0Fx/h}N/.,%De޿kA.e4C/W"e'BQU@ЎxI^hb4ᘋ K Ss%a{#6 .?;GKF_/}P0Ap9 zO:'z<$cL]r4\y?} cK_g}߷eÇ;c+vMmBkkĢO21N9Etr"AbD|NNd?zNcx6I+pVbҬ~VMU_^i` {gV!1_C0]R (;_CX]}P)XWHG7#`CgNC(4"if.'>ZUudjYA0DXeƶ x:r0?(^ T"gtO5GnQ,] Op1%1UnC`;7m2~HQ{G]_%7x9A('  V={)לA=en(PeJ:hET =Crqs3-׋Wsqs\J-N i@l05SR;toTb[1tg!8Ш:$u+eZ:7 Q 5xق=^qZ/.Z&m[2@g3[7l k:ùAf'~+:6Cʼn8ApN/#rdR@y?m}>.0[hReXC2R:dZLeHh"nYkI/l',#}8y6]_o#Dut: Q: SKoCC\+ 9W:wx~%-!{v](5@D'0p U;OZ>xr#;^yRCwN'/+s (Vw!{sֿSi\+gaPqa7d@MwXm@{C.\N^<1tg®lp^?0:l?u=@ bc@M)hE~IRg .-fbBDK K+Q /in{!Pp%GY ^ NCP9))rHAIs!Pbn=FdBRQ68'# +$~vIERe׹O ,AEѹsA2<|6n_d>E#g"%6B!.SH9Hc$07aX ,c w֐Vb !緐 at}s~MFP.Kf mGpak=B[`5/73(ƍJoP/&T9a_TKb~Y0{!Ňt{ResjƆgT!*B{3}^F1V?0G@5h/kpn٤CcC::aD !~Jjd׭c ڦ: @/tw.~6Zy\kk9m:h,2bߊd)c^VI7 q=IVOuhnruBϬvfv*"Mqqm$3O{ͱ 2k (䞡zTffhʩ\a )1rl;e)4Lnň4kK/~pi0<mJ &g43rQ5sKthA{dK{F~ܕP L +`Mw! ˝1jYDW (G=nۃsB[enPNKU#;&z#b#N22dŃSS'BB[: #5%`S9i(Xs\l\BrpK-N=q.2dA( %RHBuPYg>r~oIJ9IOr|#B]|Y0--iwX <:g&0FzW'X?%@d7,fI?\%CBM%c,x~Xy D3",bM1tsl/2e'rK5SyEx ){LŽ ^0iN+KOl\@z/dg' n>ڜ%fBt/) en% [oSZsx#$j`Q wl>}^u_Rʖ,b^!WE#o42J#ow7RC'T+-8Cq,\#E/>tS=U0=Wk: ژ́N\[7~f@JWFfLˏ"D@EJwL 4y]G'W6leL y@ndP<O5@|)őv,jZFc/fyNMH{QU,6 Nˍ#fUIm(|mD6KM] $ EZ1(@K{u>Uhh~Hz}^jHSVe) .oY,Ey ]R5'76S@j {/Af-?%mmpt `Uu!5NS= D]VKŃ"k]Jeㆣ"A JXFk:GTUw >Uf-}#7|jg7rU}Z48衩g\Dǽ#/VymgxthVqV Ձ)_/Czi5: KWc@o=#(|vLkҕ=$AY Y^,nq r 0݊4@}|Ku.fU5W`ʣw.>KOz`?0iX>[Z7r2l7F&ʡ8N7 T>!#bz.|;0/Ly)i..]ˣ+BOV7q8*ys  [ xj]u'w0+YPx9<5Ol%T8mރl G}o G5c,#bmښe5[|Fku+Q5,azUOl{8ZN+p: IRhg[Gew1H72g~-4w2 Yj |@2&m-;:-0$-Wo#R =8?VLmkA HqAr|eurR=;wT'Y3GLQWmG?mKr{4~YLvN.FTSG@*O"&#/9/\Yf]nq<OзCH@#MC,*t5Naw!}cdEp`?&0')QRdhJ#vO