+$ PSICOPY020.A) PSICOPY020.ABACKUP/NOASSIST/COMMENT=VAX/VMS SPKITBLD Procedure/INTER/LOG/VERIFY PSICOPY.OLB;,.OPT;,.MEM;,.RELEASE_NOTES;,*.MSG;,SYSDEP.MAR;,MAKE.COM;,KITINSTAL;,GETOBJ;,PSICOPY$*; USR$ADMIN:[GEGE.SYSTEME.PSICOPY_V2]PSICOPY020.A/LABEL=(PSICOPY)/SAVE/BLOCK=9000/GROUP=25VAX/VMS SPKITBLD Procedure GEGE  bJV5.2 _CHOPIN:: NZ _$1$DUA34: V5.2 $(*[GEGE.SYSTEME.PSICOPY_V2]PSICOPY.OLB;173+,!.5/ 456-W0123 KPWO656 : SJ7 {%bJ8 e9GH@J % VAX-11 Librarian V04-00 =SJ{KSJ!5Z6   COMPDECOMPFCRC! DATA_TRANSFERYFILE_IOhHEADERiHPWDkINTER&KERNELbLOGINPSICOPY6 PSICOPY_CMDp PSICOPY_ERROR PSICOPY_MSG PSINETWORK!RESTART)SERVERFADD_CRCF ADD_CRC_MAPF ADD_CRC_SELF ALLOCATE_MAPF CHECK_CRCF CHECK_CRC_MAP COMPRESS_DONE COMPRESS_INITCONNECT_NW_CHANNEL! COPY_DATAkDCLINIThDEBUTDECOMPRESS_CLEANUPDECOMPRESS_DONEDECOMPRESS_INITDISCONNECT_NW_CHANNELh EDIT_LEVEL&ERR& FCH$M_BADACL&FCH$M_BADBLOCK& FCH$M_CONTIGM_ERASE& FCH$M_LOCKED& FCH$M_MARKDEL&FCH$M_NOBACKUPkGET_INPUT_FILE_SPECSINPUTKrYLOCAL_DELETE_OUTPUTYLOCAL_GET_INPUT_BLOCKYLOCAL_INPUT_FILE_SPECSb LOCAL_LOGINYLOCAL_NEXT_INPUT_FILEYLOCAL_OPEN_INPUT_FILEYLOCAL_OPEN_OUTPUT_FILEYLOCAL_OUTPUT_FILE_SPECSYLOCAL_PARSE_OUTPUT_FILEYLOCAL_PUT_OUTPUT_BLOCKYLOCAL_RESTART_READYLOCAL_REWIND_INPUT_FILEh MAJOR_VERSIONh MINOR_VERSIONOPEN_INPUT_FILEiPURDYREAD_COMPRESSED_BLOCKFVALIDATE_CRC_BLOCKWRITE_COMPRESSED_BLOCKh X25_IDENT FCH$M_CONTIG FCH$V_CONTIGB GET_INPUT_FILE_SPECSLOCAL_DELETE_INPUT MINOR_VERSIONPSICOPY_ASSOUTCHANPSICOPY_CONFAIL PSICOPY_GRANTERR PSICOPY_NOTNOW PSICOPY_REMDTELNG REMOTE_LOGIN X25_IDENT NETCONNECTNETKEYIN NETPURGEDATA NETRECEIVENETRECEIVEDESCNETSEND NETSENDDATA NETSENDDESCk NEXT_FILEkOPEN_INPUT_FILEkOPEN_OUTPUT_FILEPSICOPYPSICOPY$MASTER)PSICOPY$SERVERPSICOPY$_FACILITY PSICOPY_ABORTPSICOPY_ACCEPTERRPSICOPY_ACK_ITPSICOPY_ASSINCHANPSICOPY_ASSOUTCHANOPY_CLEARED6 PSICOPY_CMDPSICOPY_CONABORTPSICOPY_CONERRNCBPSICOPY_CONFAILOGINENTpINIT_CENTRALIZED_LOGFINIT_CRC_TABLE_INFINIT_CRC_TABLE_OUTiLGI$HPWDYLOCAL_DEACCESS_INPUTYLOCAL_DEACCESS_OUTPUTYLOCAL_DELETE_INPUTY& FCH$M_CONTIGB&FCH$M_DIRECTORY& FCH$M_ERASE& FCH$M_LOCKED& FCH$M_MARKDEL&FCH$M_NOBACKUP&FCH$M_NOCHARGE&FCH$M_READCHECK& FCH$M_SPOOL&FCH$M_WASCONTIG&FCH$M_WRITCHECK&FCH$M_WRITEBACK& FCH$S_FCHDEF& FCH$V_BADACL&FCH$V_BADBLOCK& FCH$V_CONTIG& FCH$V_CONTIGB&FCH$V_DIRECTORY& FCH$V_ERASE& FCH$V_LOCKED& FCH$V_MARKDEL&FCH$V_NOBACKUP&FCH$V_NOCHARGEkGET_INPUT_FILE_SPECS&FCH$V_DIRECTORY& FCH$V_ERASE& FCH$V_LOCKED& FCH$V_MARKDEL&FCH$V_NOBACKUP&FCH$V_NOCHARGE&FCH$V_READCHECK& FCH$V_SPOOL&FCH$V_WASCONTIG&FCH$V_WRITCHECK&FCH$V_WRITEBACKkGET_INPUT_FILE_SPECSbRESET_SERVER_MODESEND_IT SEND_RESET&SETUICbSET_SERVER_MODE! START_RESTARTk TRANSFER_FILEFVALIDATE_CRC_BLOCKWRITE_COMPRESSED_BLOCKh X25_IDENTdPSICOPY_COPIEDPSICOPY_CRCBLOCKPSICOPY_CRCBURSTPSICOPY_CREATEDPSICOPY_CREFAILPSICOPY_DEACCESSp PSICOPY_DEBUGPSICOPY_DEBUGINFOPSICOPY_DELETEDPSICOPY_ERRDEACCESSPSICOPY_ERRDELETEPSICOPY_ERREXHPSICOPY_ERRJPIp PSICOPY_ERRORPSICOPY_EXTLOGPSICOPY_GRANTERR PSICOPY_IDENTpPSICOPY_RMS_ERRORpPSICOPY_SYS_ERRORiPURDYREAD_COMPRESSED_BLOCKb REMOTE_LOGINZ PSICOPY_IDENTPSICOPY_INPARSEPSICOPY_INTERRUPTPSICOPY_INVALIDNCBPSICOPY_INV_ITPSICOPY_IN_SEARCHPSICOPY_LOCDTELNGPSICOPY_LOGFAILPSICOPY_MAXCRCERRPSICOPY_NETRECEIVEPSICOPY_NETSENDPSICOPY_NOSYSNETPSICOPY_NOTCOPIEDPSICOPY_NOTDELETEDPSICOPY_NOTNOWPSICOPY_NOTSUPPPSICOPY_NOX25CHANpPSICOPY_RMS_ERRORpPSICOPY_SYS_ERRORiPURDYREAD_COMPRESSED_BLOCKb REMOTE_LOGINXPSICOPY_NOTSUPPPSICOPY_NOX25CHANPSICOPY_OPENINPSICOPY_OPENLOGPSICOPY_OPENOUTPSICOPY_OUTPDELETEPSICOPY_OUT_PARSEPSICOPY_PKTBADPSICOPY_PROTOCOLPSICOPY_PUTMSGPSICOPY_READMBXPSICOPY_READSYSNETPSICOPY_READ_INPUTPSICOPY_RECEIVEDPSICOPY_REMDTELNGPSICOPY_REMLOGFAILPSICOPY_REMLOGINpPSICOPY_RMS_ERRORpPSICOPY_SYS_ERRORiPURDYREAD_COMPRESSED_BLOCKb REMOTE_LOGINPSICOPY_REMLOGFAILPSICOPY_REMLOGINPSICOPY_REQFAILPSICOPY_REQUESTPSICOPY_REVOKERRpPSICOPY_RMS_ERRORPSICOPY_RPOALNGPSICOPY_SECLVLERRPSICOPY_SEND_IT PSICOPY_SENTpPSICOPY_SYS_ERRORPSICOPY_THRBADPSICOPY_TRNLOGPSICOPY_USERLNGPSICOPY_USERNAMEPSICOPY_WINBADPSICOPY_WORDBADPSICOPY_WRITE_OUTPUTiPURDYREAD_COMPRESSED_BLOCKb REMOTE_LOGINPSICOPY_BADSTATUSWORDPSICOPY_CLEARED6 PSICOPY_CMDPSICOPY_CONABORTPSICOPY_CONERRNCBPSICOPY_CONFAIL_.$ PSICOPY020.A!W([GEGE.SYSTEME.PSICOPY_V2]PSICOPY.OLB;1735J"1 ?rSJ015 COMPDECOMP01 3-Apr-1990 10:10 3-Apr-1990 10:10VAX Pascal V3.8-273R COMPDECOMPP ^ߏ DCX$C_BOUNDEDDCX$ANALYZE_INITPRRLOCAL_GET_INPUT_BLOCKPR<DCX$ANALYZE_DATAPSSSRR͞ SS$_ENDOFFILEPPR  DCX$MAKE_MAPPSSLOCAL_REWIND_INPUT_FILEPRRSR DCX$_AGAINPPR1bR DCX$ANALYZE_DONEPRRDCX$COMPRESS_INITPRRP DCX$COMPRESS_DONEP\\  LIB$FREE_VMP\ \\P^ COMPRESS_INIT DCX$C_BOUNDEDDCX$ANALYZE_INITLOCAL_GET_INPUT_BLOCKDCX$ANALYZE_DATA SS$_ENDOFFILE DCX$MAKE_MAPLOCAL_REWIND_INPUT_FILE DCX$_AGAINDCX$ANALYZE_DONEDCX$COMPRESS_INIT COMPRESS_DONEDCX$COMPRESS_DONE LIB$FREE_VM 0READ_COMPRESSED_BLOCKDCX$COMPRESS_DATA  ALLOCATE_MAP LIB$GET_VM DECOMPRESS_INITDCX$EXPAND_INIT DECOMPRESS_CLEANUPDCX$EXPAND_DONELOCAL_GET_INPUT_BLOCKPR<ݬЬPDCX$COMPRESS_DATAPPRRPмPP   LIB$GET_VMDCX$EXPAND_INITQPQQ DCX$EXPAND_DONEP\\\  LIB$FREE_VMP\ \\P^<ЏDCX$EXPAND_DATAP\\LOCAL_PUT_OUTPUT_BLOCKP\\P ^\\R^\ DCX$EXPAND_DONEPSSS  LIB$FREE_VMPS S\^R\SPP0P6QQQ,QQ Q6QQ$2Q"QQ#AQ9 QQOQ>QQQ!QQLQ%AQQQ!QS <WRITE_COMPRESSED_BLOCKDCX$EXPAND_DATALOCAL_PUT_OUTPUT_BLOCK  DECOMPRESS_DONE COMPDECOMP COMPDECOMP 3-Apr-1990 10:10:58PAS$ENVIRONMENT_TIME  COMPRESS_CONTEXT  EXPAND_CONTEXT  MAP_ADDR   MAP_LENGTH  EXPAND_INIT_DONE$CODE$LOCAL  X $CODE$LOCALZHpZ # 4USR$ADMIN:[GEGE.SYSTEME.PSICOPY_V2]COMPDECOMP.PAS;40  PAS$FV_INPUTINPUTTEXT  CHAR  PAS$FV_OUTPUTOUTPUTR TZ3DESCR@ LENGTH POINTERCOMPRESS_CONTEXTEXPAND_CONTEXTUNSIGNED SS$_ENDOFFILE SS$_ENDOFFILEMAP_ADDR  MAP_LENGTHEXPAND_INIT_DONE COMPRESS_INITMAP_LEN MAPR COMPRESS_INITR COMPRESS_INITRSTATUSR DCX_STATUSRBLK  BLOCK_TYPE R BLOCK_DESC R T3 RCONTEXT DCX$_AGAIN DCX$_AGAIN DCX$C_BOUNDED DCX$C_BOUNDED jLOCAL_GET_INPUT_BLOCKLOCAL_GET_INPUT_BLOCKLOCAL_REWIND_INPUT_FILELOCAL_REWIND_INPUT_FILE  COMPRESS_DONE R COMPRESS_DONE--  R COMPRESS_DONE--  RSTATUS+ D" NETBLOCK_TYPE (0READ_COMPRESSED_BLOCK7 BLK R T3RREAD_COMPRESSED_BLOCKRREAD_COMPRESSED_BLOCKR INPUT_BLOCK9SR T,3R BLOCK_DESCRPtR T3R RETBLK_DESCRR T3RSTATUSER DCX_STATUS d,WORD  INTEGER ALLOCATE_MAPRET_ADDRR ALLOCATE_MAPR ALLOCATE_MAPR IN_LENGTH),DECOMPRESS_INITRDECOMPRESS_INITRDECOMPRESS_INITRSTATUS,$DECOMPRESS_CLEANUPRDECOMPRESS_CLEANUP77 RDECOMPRESS_CLEANUP77  RSTATUS/ 0X<WRITE_COMPRESSED_BLOCKC) BLK!R T3"RWRITE_COMPRESSED_BLOCK #RWRITE_COMPRESSED_BLOCK $R INP_DESCGe%R T3&REXP_RECP{'R T,3(RSTATUSv P6LOCAL_PUT_OUTPUT_BLOCKLOCAL_PUT_OUTPUT_BLOCK"DECOMPRESS_DONEa)RDECOMPRESS_DONE*RDECOMPRESS_DONE g+RS !S&!S&!S!S#!S!S#!S ! S ! S&! S&! S! S !S.!S.!S$!S !S$!S !S%!S !S!S#!S%!S%!S"!S(!S(!S!S+!S+! S!!S !"S/!#S/!$S!!%S !&S !'S !(S!)S(! *S(!+S$ PAS$FV_INPUT PAS$FV_OUTPUTww1 @yI01.CRC01 2-Apr-1990 13:57 2-Apr-1990 13:57VAX Pascal V3.8-273  CRCPcheck_crc: Crc index > max crcQ!!!check_crc_map: crc index > crc nbQadd_crc: CRC index out of rangeQ###add_crc_map: CRC index out of rangeߏ  LIB$CRC_TABLE^ЬP< PPP ߏLIB$CRCЬ\ѬPPP<(^ԭ PAS$HANDLERmЬP< PѼP( x؞PPP蟭PROTOCOL_ERRORЬ P`ߏLIB$CRCQ QQЬRPA ּ\\\P<0^ԭ PAS$HANDLERmм PмQPQЬQ< QѼQ( О0PPPPROTOCOL_ERRORߏLIB$CRCQ QQЬRPA RRQ QQЬSPA ּRP@ߏ  LIB$CRC_TABLE< (^ԭ PAS$HANDLERmѼ( ؞PPP蟭PROTOCOL_ERRORּ RЬSЬ P`ߏ@LIB$CRCPB ЬS Ѽ\\\P0^ԭ PAS$HANDLERmм VмWѼ INIT_CRC_TABLE_IN LIB$CRC_TABLE VALIDATE_CRC_BLOCKLIB$CRC d< CHECK_CRC PAS$HANDLER PSINETWORK PSINETWORK 2-Apr-1990 13:55:15PAS$ENVIRONMENT_TIME PROTOCOL_ERROR < CHECK_CRC_MAP INIT_CRC_TABLE_OUT <ADD!_CRC D ADD_CRC_MAP  ADD_CRC_SELFCRCCRC 2-Apr-1990 13:57:28PAS$ENVIRONMENT_TIME  INPUT_CRC_TABLE  @OUTPUT_CRC_TABLE   INPUT_SEED( \ОtPPPPROTOCOL_ERRORּVW WЬ\ߏ@LIB$CRCPG ^ЬP< PPP Ь\ߏ@LIB$CRCPZPQQ #QbQQ4#QOQQQ5'Q$QMQQ#'Q$6   OUTPUT_SEED"$CODE$LOCALu $CODE$LOCALINIT_CRC_TABLE_IN VALIDATE_CRC_BLOCKDd CHECK_CRC CHECK_CRC_MAPINIT_CRC_TABLE_OUTADD_CRCD ADD_CRC_MAPx ADD_CRC_SELF:ww1㾖SJ018ߞw$ PSICOPY020.A!W([GEGE.SYSTEME.PSICOPY_V2]PSICOPY.OLB;1735H""# DATA_TRANSFER01 3-Apr-1990 10:11 3-Apr-1990 10:11VAX Pascal V3.8-273R DATA_TRANSFERPNot first CRC QInv MAP CRCCRCMAP: status=Q ix crc=Restart burst: cause Q38BLWRETRANSMIT_REASON_TYPENONE ONE_BLOCK ONE_BURST PREV_BLOCK PREV_BURSTQtransmit data: Qblk ix: start blk: status: QInvalid InterruptQNot RESUME mess:P]kz &0$= REQUEST_TYPE NET$C_INSPECSNET$C_OUTSPECSNET$C_INSEARCHNET$C_OUTPARSE NET$C_OPENIN NET$C_OPENOUT NET$C_READ NET$C_WRITE NET$C_DELOUTPNET$C_DEACCESS NET$C_END NET$C_LOGINNET$C_PASSWORD NET$C_DELINP NET$C_STATUS NET$C_CRC NET$C_RESUME NET$C_NETERRQGetin: ft state:&.6@ FT_STATE_TYPEFT_FAILFT_DONE FT_OUTPUTFT_INPUTQ crcwait=Q crc#=Got CRC blk: Q***Got data message while expecting qualifiedQ%Got Q mess while expecting dataQRXMIT REQ: blk=Q reason=ask rmxit: received QQNot RESUME responseQDATA: Abort transfer reason: QNot valid Q mess for serverQLastwill: G^ԭ PAS$HANDLERm\ 욼PP蚼PPм ^RԭԭPPДԭV1INIT_CRC_TABLE_IN]QP1͔]Q葭͛ PAS$DECWWWR^^X(n( c&ЏXЏWWWPROTOCOL_ERRORINIT_CRC_TABLE_OUT1]QP11֭ P@VXX]QPhVhܟTADD_CRCP]QP]QP INPUT_RSA3< INPUT_RSATABLINK33<TABLINK13PSICOPY_READ_INPUTPSICOPY_SYS_ERRORԭؑ1Lխ]QP SERVER_MODE]QP SERVER_MODE]Q1' COMPRESS_DONEDECOMPRESS_DONEV\\P^Q\Q1ЬPݠЬQ ALLOCATE_MAPPRR , COPY_DATA PAS$HANDLERINIT_CRC_TABLE_INPAS$DEC PSINETWORK PSINETWORK 2-Apr-1990 13:55:15PAS$ENVIRONMENT_TIME PROTOCOL_ERRORINIT_CRC_TABLE_OUTADD_CRCFILE_IOFILE_IO 3-Apr-1990 10:10:05PAS$ENVIRONMENT_TIME % INPUT_RSA TABLINKPSICOPY_READ_INPUTPSICOPY_SYS_ERRORPSICOPYPSICOPY13-Feb-1(990 18:19:53PAS$ENVIRONMENT_TIME  SERVER_MODE COMPRESS_DONEDECOMPRESS_DONE ALLOCATE_MAP1ЬPЬQNETRECEIVEDESCPR11DEBUG PAS$FV_OUTPUTPAS$WRITE_STRING PAS$FV_OUTPUT PAS$WRITELN2ӟߏ\QPRRЬPЬQNETRECEIVEDESCPRDEBUG PAS$FV_OUTPUTPAS$WRITE_STRINGR PAS$HEX PAS$FV_OUTPUTPAS$WRITE_STRING PAS$FV_OUTPUTPAS$WRITE_S)TRINGP PAS$FV_OUTPUTPAS$WRITE_INTEGER PAS$FV_OUTPUT PAS$WRITELN2ЬPЬQP CHECK_CRC_MAPŔQRQPQQ1R]QPR]QPRRPС\DECOMPRESS_INITPRЬPЬQܟT ADD_CRC_MAPRRP ^Q\QRDEBUG PAS$FV_OUTPUTPAS$WRITE_STRING R~ PAS$FV_OUTPUTPAS$WRITE_ENUMERATED PAS$FV_OUTPUT PAS$WRITELN2ᔬRZ[T ADD_CRC_SELFTNETSEND*PSSSԭ]QPSìK呬1PЬRBجKSS\QS\QԬԬSP ^ԭ PAS$HANDLERmQ\ЬRТPТQ NETSENDDESCPSSS1֬ P@VRQPSDEBUG1 PAS$FV_OUTPUTPAS$WRITE_STRING PAS$FV_OUTPUTPAS$WRITE_STRINGݬ PAS$FV_OUTPUTPAS$WRITE_INTEGER PAS$FV_OUTPUTPAS$WRITE_STRINGݢԟ PAS$FV_OUTPUTPAS$WRITE_UNS+IGNED PAS$FV_OUTPUTPAS$WRITE_STRINGS PAS$HEX PAS$FV_OUTPUTPAS$WRITE_STRING PAS$FV_OUTPUT PAS$WRITELN2ѬS1SP ^Q^PЬVQQQ Q9Q"QjQQ\QQMQCQBQQ Q)Q Q Q\Q QQ|Q QQ QQ)[QGQ! QQ "Q4R QQ"qQQ QQ Q QQ &QQ:@INP_RLF&R T3HINP_FNB'R(R@RET_ATR  UCHAR RECATTR)R*R+R Tn3    ASCDATES,R-R.R Tn3 ## 8FPRO/R Te3 HRPRO0R Te3 XSEMASK1R2R3R Tn3 STATBLK Tc ?34R5RSBK$R_STLBN_OVERLAY6R  7R  SBK$R_FILESIZE_OVERLAY8R  9R @ SBK$B_ACNT:R ;R H SBK$B_LCNTR  SBK$W_ACNT?R @R  SBK$W_LCNTAR T 3 SBK$W_WCNTBR T 3 SBK$@W_TCNTCR T 3 SBK$L_READS SBK$L_WRITESDR@ER SBK$L_STLBN SBK$L_FILESIZEFRGRHR@IR SBK$W_STLBNHJR T 3 SBK$W_STLBNLKR T 3 SBK$W_FILESIZHLR T 30SBK$W_FILESIZLMR T 3RET_MSZRET_FDID FIDNRORPR Te3  0DVIAQRRR@INP_OPTSR  T3`INP_ATRTR T& 3INP_MSZURPVR@RET_BLKWR T3XRPYR@INP_BLKZR T3[RH\R@RET_FNA]R T3^R@_R `R@aR bR@cR dRPeR @ INP_USERNAME fRgR @INP_SALThR Te3P INP_ENCRYPTiR B Tn3 XTIMEjRkRlR UNSIGNED RET_PASSWORD RET_REMUSERmR T3nR@oRpRqR@SELF_CRC `CRC_NBrR sR  pCRCtRuRvR twRxR@ START_BLK `NETERRyR T3 aCRCERRzR T3bCRCXMIT{CR T3cRESTART|R T3h RES_CAUSETRANSFER_OPTIONS DELETE_INPUT}R T3COMPRESS~R T3 CRCR T3RESTARTR T3, COPY_DATAc* FILE_MAP_LEN + FILE_MAP_ADDR 0TRANSFERRED_BLOCKS R COPY_DATA R COPY_DATAD R LOCAL_INPUTEoR LOCAL_OUTPUTJRINPUT_TRANSFER_OPTIONSRtR T3ROUTPUT_TRANSFER_OPTIONSZR T3R LASTWILL__R Tq3#MAX_RETRANSMIT ! DATA$_NORMAL RETRANSMIT_REASON_TYPE NONE ONE_BLOCK ONE_BURST PREV_BLOCK PREV_BURST FT_STATz$ PSICOPY020.A!W([GEGE.SYSTEME.PSICOPY_V2]PSICOPY.OLB;1735F"DEE_TYPEFT_FAILFT_DONE FT_OUTPUTFT_INPUTRTX_FLAGS_TYPERTX_CRC RTX_BURSTRTX_NETRTX_RESRRTX_REASON_TYPE T3RINPUT_CRC_BLOCKٔR T3R INPUT_CRC_NUMP  ROUTPUT_CRC_BLOCKhmTR T3ROUTPUT_CRC_NUMym RLAST_BURST_BLOCK|FmRTABBLKhmXRRRT3 :tR FT_STATER T33R WAIT_FOR_CRCORSEND_BURST_MAPRSTART_BURST_BLOCKSR RESTART_BLOCKKRSTATUSamRBLOCKSRRETRANSMIT_REASONR GT3RLAST_RETRANSMIT_BLOCKGRRETRANSMIT_COUNTPSICOPY_READ_INPUTPSICOPY_READ_INPUT!PROCESS_Q_MESS BLKR T3RPROCESS_Q_MESS.RPROCESS_Q_MESS.i(LABORT_TRANSFERZkRREASONZ R ABORTMSGR T3),RETRANSMIHT_REQUEST0RRETRANSMIT_REQUESTRRETRANSMIT_REQUESTR STARTBLKRREASON]R T3R RESUMEMSG'pR T3PSICOPY_MAXCRCERRPSICOPY_MAXCRCERR!SEND_RXMIT_MSGfRSEND_RXMIT_MSGIRSEND_RXMIT_MSGI  &DI INIT_RESTARTR INIT_RESTART R INIT_RESTART R BLOCK_NO  R RESUMEMSGR T3)1L ANAL_RETRANSMIT_REQUEST8 RESMSGR T3RANAL_RETRANSMIT_REQUESTRANAL_RETRANSMIT_REQUESTRSTATUS,iRERRCODEPSJICOPY_CRCBURSTPSICOPY_CRCBURSTPSICOPY_CRCBLOCKPSICOPY_CRCBLOCK)-GET_INPUT_CRC_BLOCK RGET_INPUT_CRC_BLOCKTRGET_INPUT_CRC_BLOCKTRSTATUSB)$GET_INPUT_BLOCK0 BLOCKR T3RGET_INPUT_BLOCK//RGET_INPUT_BLOCK//RSTATUSFp SS$_EKNDOFFILE SS$_ENDOFFILERQ_MESS_RECEIVED)@4REMOTE_GET_INPUT_BLOCKD BLKR T3RREMOTE_GET_INPUT_BLOCKcRREMOTE_GET_INPUT_BLOCKcPSICOPY_PROTOCOLPSICOPY_PROTOCOL&PROCESS_NOTDATAMESS) BLKR T3RPROCESS_NOTDATAMESS9RPROCESS_NOTDATAMESS9 l L  * PUT_OUTPUT_BLOCK  BLKR T3RPUT_OUTPUT_BLOCK  RPUT_OUTPUT_BLOCK  RSTATUS  *@ REMOTE_PUT_OUTPUT_BLOCK   BLKR T3RREMOTE_PUT_OUTPUT_BLOCK  RREMOTE_PUT_OUTPUT_BLOCK  RSTATUS  PSICOPY_INTERRUPTPSICOPY_INTERRUMPTRITMSG- t R T3  *dINIT_COMPRESSIONRINIT_COMPRESSIONRINIT_COMPRESSIONRSTATUSRBLKR T3@ PROCESS_MAP"R PROCESS_MAPZZR PROCESS_MAPZZRSTATUS0X @N - SIGNAL_OUTPUT_ERROR _RSTATUS   PSICOPY_WRITE_OUTPUTPSICOPY_WRITE_OUTPUT%T\ VIDER_SALVEhR VIDER_SALVE_ _ R VIDER_SALVE_ _ R BLKINDEXh RSTATUShJ R STARTREASONh R T3!@d EMISSION_SALVEz REMISSION_SALVEO  REMISSION_SALVE  RSTATUS   0 +T PROCESS_INTERRUPT]  INTMSGR T3RPROCESS_INTERRUPTq RPROCESS_INTERRUPTq RMESS  ٬P )) DEACCESS_OUTPUT RDEACCESS_OUTPUT   RDEACCESS_OUTPUTP   RSTATUS@T  CHECKDEACa R CHECKDEAC   R CHECKDEAC   RSTATUS] f  PSICOPY_ERRDEACCESSPSICOPY_ERRDEACCESS08 REMOTE_DEACCESS_OUTPUT BRREMOTE_DEACCESS_OUTPUTN P RREMOTE_DEACCESS_OUTPUTN P RSTATUS / RASKDEAC B QR T3R TEMOIN_PURGER MESSAGE_TYPE * R T3 t %8  WAIT_SERVER ?RMSG  R T3tp MAX_CRC_NB PROTOCOL_ERRORPROTOCOL_ERROR DEBUGDEBUG  NETR T3 MAINR T3 DATAR T3 CRCR R T3 LOGR T3 LOGINR T3 INTERR T3 SERVERR T3FILE_IOR T3 RESTARTR T3SEND_ITSEND_IT NET$_FROMNET$_TO SERVER_MODE SERVER_MODENETSENDNETSEND NETPURGEDATA NETPURGEDATA NETRECEIVE NETRECEIVE GLOBAL_STATUS GLOBAL_STATUSLOCAL_RESTART_READLOCAL_RESTART_READ PSSICOPY_ERROR PSICOPY_ERRORTABLINKTABLINKRRRRT)3ij f X25_CHANR Te3MBX_CHAN R Te3 IOSB @ IOSB_STATUS R Te3 IOSB_COUNT R Te3 IOSB_UINFO R Te30 IOSB_SINFO R Te3`MBX_IOSBR T*3 CAUSER Tn3 TDIAGR Tn3 REASONR Tn3GOTCAUSEGOTDIAG GOTREASON CONNECTEDCLEARED LOGERRMBX_BUF MSGTYPER Te3 UNITR Te3 NAME SIZER Tn3 DATA INFO  SIZER Tn3 DATARRR Tn3 U SAVADDRR T3VALIDATE_CRC_BLOCKVALIDATE_CRC_BLOCK CHECK_CRC CHECK_CRCREAD_COMPRESSED_BLOCKREAD_COMPRESSED_BLOCKLOCAL_GET_INPUT_BLOCKLOCAL_GET_INPUT_BLOCK NETSENDDATA NETSENDDATARECEIVE_QUALIFIEDRECEIVE_QUALIFIEDWRITE_COMPRESSED_BLOCKWRITE_COMPRESSED_BLOCKLOCAL_PUT_OUTPUT_BLOCKLOCAL_PUT_OUTPUT_BLOCKDECOMPRESS_INITDECOMPRESS_INIT ADD_CRC_MAP ADD_CRC_MAP ALLOCATE_MAP ALLOCATE_MAPNETRECE#wE$ PSICOPY020.A!W([GEGE.SYSTEME.PSICOPY_V2]PSICOPY.OLB;1735"UVIVEDESCNETRECEIVEDESC CHECK_CRC_MAP CHECK_CRC_MAPPSICOPY_SYS_ERRORPSICOPY_SYS_ERROR OUTPUT_ESA OUTPUT_ESA  NETSENDDESC NETSENDDESC ADD_CRC_SELF ADD_CRC_SELFNETKEYINNETKEYINLOCAL_DEACCESS_OUTPUTLOCAL_DEACCESS_OUTPUT SS$_ENDOFFILE SS$_ENDOFFILEINIT_CRC_TABLE_ININIT_CRC_TABLE_ININIT_CRC_TABLE_OUTINIT_CRC_TABLE_OUTADD_CRCADD_CRC INPUT_RSA INPUT_RSAR T.3 COMPRESS_DONE COMPRESWS_DONEDECOMPRESS_DONEDECOMPRESS_DONERS !S!ST3S !S"S !S !S" S ! S" S ! S" S !STe3S !ST3S !S !S !S"S !STn3S !S !S"S !S !ST3S !S !S ! S !!S !"S"#S !$S !%S"&S !'S !(S")S7!*S3"+S ,S7!-S3".S /S !0S !1S7!2S3"3S 4S !5S"6S !7ST 38S !9ST 3:S !;ST 3ST 3?S !@ST 3XAS !BS !CS !DS !ES"FS !GS"HS !IS"JS !KS !LS !MS !NS7!OS3"PS QS !RS"SS !TS !US !VS"WS !XS !YS"ZS ![S !\S"]S !^S !_S"`S !aS"bS !cS"dS !eS"fS !gS"hS !iS !jS0!kS,"lSmS !nS !oS"pS !qS"rS !sST3tS0!uS,"vSwS !xS"yS !zS !{S !|S !}S !~S !S !S !S"!S"!S$!S%!S/!S !S0!S !S!!S !S!S(!S !S&!YS)!S !S'!S)!S!S3!S/"SS!!S !S%!S'!S*!S&!S!S!S*!S !S.!S)!S !S'!S'!S!S!!S !S+!S+!S!!S!S !S"!S !S'!S'!S%!S%!S!!S"!S !S !S0!S0!S!S !S,!S,!S!S !S(!S(!S!S(!S !S/!S/!S !S,!S,!S !S)!S)!S!S !S0!S0!S!S!S !S)!S)!S!S!S !S$!S$!S!S!S$!S$!S!!S!S$!ZS !S'!S'!S!S !S*!S*!S!S(!S(!S!S"!S"!S!S/!S/!S!S !S !S%!S%!S !S!S !S !S !S !S !S !S !S !S !S !S !S:!S6"SST}*3S ! S ! S ! S ! S ! S !S !S !S !S !S !AS !S !S !S7!S3"S S !S !S' PAS$FV_INPUTPSICOPY_PROTOCOLww1ASJ012[FILE_IO01 3-Apr-1990 10:10 3-Apr-1990 10:10VAX Pascal V3.8-273FILE_IOPsearch FNB:QFNB: QWrite disk block No Size: Q Status: Q Iosb: dlt|!#+!#TP(v0b\fTPj n\X<t^ԭ PAS$H\ANDLERmЬ\l lt(lvv,t4 SYS$PARSEP\[`tP``(b`t5\P<t^ԭ PAS$HANDLERmЬ\l lt(lv^^V}f ,f  f~T~T P~Q $PaQ}Pd|d~SVS dP CLI$PRESENTP START_RESTARTwR CLI$PRESENTPRRwR CLI$PRESENTPRRw\V^\T(VTV CLI$PRESENTP1Џ䞭ܭ\^W\Y\Y^\nW~^^WQDQ)QQEQ!#QiQ Q QQ!QQ QP&Q>nQHQFQ Q QQ =QQQQQ QB Q'QTQ(.QQoQRQ DQZQ Q Q@(Q&Q;QQf*Q*Q`Q`Q:Q:Q gQQ6Q$QQ QQpQ}Q _QQFQ0Q.Q Q#Q8Q4Q1QxQ,Q)Q'(Q$Q"Q&Q#Q"cQ'Q#Q"7Q'Q#Q" Q0Q85Q13LOCAL_NEXT_INPUT_FILE  INPUT_NAMLOCAL_PARSE_OUTPUT_FILELOCAL_OUTPUT_FILE_SPECSLOCAL_INPUT_FILE_SPECSPSICOPY_NOTSUPPI$CODEN$LOCAL%   &   `} $ PSICOPY020.A!W([GEGE.SYSTEME.PSICOPY_V2]PSICOPY.OLB;1735," m@ v x   5=  - 1$CODEI$LOCALN CHECK_COMPAT@ ERRCOMPATPARSE_NAME_ADDRGET_LINK_CHARS DISCONNECT_LINK4 GET_NUMERICDCLINIT\ GET_INPUT_FILE_SPECSH INPUT_SPECSREMOTE_INPUT_SPECS4pGET_OUTPUT_FILE_SPECSPOUTPUT_FILE_SPECS REMOTE_OUTPUT_FILE_SPECS<|P NEXT_FILENEXT_INPUT_FILEHREMOTE_NEXT_INPUT_FILEx8PARSE_OUTPUT_FILEREMOTE_PARSE_OUTPUT_FILE|OPEN_INPUT_FILE OPEN_INPUTREMOTE_OPEN_INPUT_FILEPlO|PEN_OUTPUT_FILE\ OPEN_OUTPUT@REMOTE_OPEN_OUTPUT_FILEtD TRANSFER_FILEww1" IE00KERNEL028-MAR-1990 18:15 VAX MACRO V5.0-8,MACRO VMI$KWD:SYSDEP/OBJECT=VMI$KWD:SYSDEP-- system dependant routines KERNEL CTL$GL_PCB CTL$T_ACCOUNT ERR FCH$M_BADACL@FCH$M_BADBLOCK FCH$M_CONTIG FCH$M_CONTIGB FCH$M_DIRECTORY FCH$M_ERASE@ FCH$M_LOCKED FCH$M_MARKDELFCH$M_NOBACKUPFCH$M_NOCHARGEFCH$M_READCHECK FCH$M_SPOOLFCH$M_WASCONTIGFCH$M_WRITCHECKFCH$M_WRITEBACK FCH$S_FCHDEF FCH$V_BADACLFCH$V_BADBLOCKP FCH$V_CONTIG FCH$V_CONTIGB FCH$V_DIRECTORY FCH$V_ERASE FCH$V_LOCKED FCH$V_MARKDELFCH$V_NOBACKUPFCH$V_NOCHARGEFCH$V_READCHECK FCH$V_SPOOLFCH$V_WASCONTIGFCH$V_WRITCHECKFCH$V_WRITEBACK SYS$CMKRNL SYS$UNWINDSYS$SYSTEM:SYS.STB . ABS .P$ABS$PPPPPP $DATAPQQ$CODEP&mPPP Pߏ SYS$UNWIND<ޯm( CTL$T_ACCOUNT CTL$GL_PCBPР|P(P SYS$CMKRNLP! rSETUIC&0Ь~ SYS$CMKRNLPPY&HANDLER9SETACCOUNT_KERN rSETUIC SETUIC_KERN($DATA $CODEww1 I010LOGIN01 2-Apr-1990 13:56 2-Apr-1990 13:56VAX Pascal V3.8-273 LOGINPPSICOPY$SERVER_MODEQUsing QCRCQPurdyQPurdy VQnumber Q encryption algorithm.Qpassword for Q: SYS$DISKLNM$PROCESS^ԭ PAS$HANDLERmм\\Rl\ SYS$REVOKIDPR PAS$DISPOSE2\SETUIC<PRR PRRRRRP찏R SYS$SETDDIR֞P ^м\\ԭԭ쟭 SYS$FIND_HELDP\ SS$_NOSUCHIDPP\RRR SYS$GRANTIDP\ SS$_WASCLRPP\ PAS$NEW2PS}cS\RR\RRP^$  SYS$DCLEXHPPPSICOPY_ERREXHPSICOPY_SYS_ERROR SYS$GETJPIPPPSICOPY_ERRJPILIB$STOP^ SYS$CANEXH SYS$GRANTIDPP!PPSICOPY_GRANTERRPSICOPY_SYS_ERROR^$ SYS$DCLEXHP\\\PSICOPY_ERREXHPSICOPY_SYS_ERROR SYS$REVOKIDP\\\!\PSICOPY_REVOKERRPSICOPY_SYS_ERROR SYS$CANEXH<d^ԭ PAS$HANDLERmЬP` `p(`rЬP` `(`Ь P` `d(`f\ SYS$GETJPIPPPSICOPY_ERRJPILIB$STOPpt(prvl NETKEYIN1s  PAS$HANDLER SYS$REVOKID PAS$DISPOSE2SETUIC SYS$SETDDIR SYS$FIND_HELD SS$_NOSUCHID SYS$GRANTID SS$_WASCLRPAS$NEW2 SYS$DCLEXHPSICOPY_ERREXHPSICOPY_SYS_ERROR SYS$GETJPIPSICOPY_ERRJPILIB$STOP \SET_SERVER_MODE SYS$CANEXHPSICOPY_GRANTERR RESET_SERVER_MODEPSICOPY_REVOKERR `< REMOTE_LOGINNETKEYINPSICOPY_PROTOCOLPSICOPY_SECLVLERRNETSEND NETRECEIVEPSICOPY_PROTOCOLLIB$STOPvPSICOPY_SECLVLERRn\]Qd]Q͇(͉lNETSEND\l NETRECEIVEr\n1rns PSICOPY_PROTOCOLLIB$STOPnP|ά^ԭ PAS$HANDLERmQVЬ\l lͬ(lͮDEBUG1 PAS$FV_OUTPUTPAS$WRITE_STRINGvPP PAS$FV_OUTPUTPAS$WRITE_STRING PAS$FV_OUTPUTPAS$WRITE_STRING PAS$FV_OUTPUTPAS$WRITE_STRING PAS$FV_OUTPUTPAS$WRITE_STRING v~ PAS$FV_OUTPUTPAS$WRITE_INTEGERr PAS$FV_OUTPUTPAS$WRITE_STRING PAS$FV_OUTPUT PAS$WRITELN2ͬ1 PAS$FV_INPUTPAS$RABP\I PAS$FV_OUTPUTPAS$WRITE_STRINGP PP@TABLINK13P` PAS$FV_OUTPUTPAS$WRITE_STRING PAS$FV_OUTPUTPAS$WRITE_STRING0 PAS$FV_INPUT PAS$FV_INPUTPAS$LOOK_AHEAD1 PAS$FV_INPUTݏP PAS$FV_INPUT0PAS$READ_VARYING PAS$FV_INPUT PAS$READLN20<02 STR$UPCASE PAS$FV_OUTPUT PAS$WRITELN2ͬP ͬ0(ͬͮ2pP`QQQHQQQ Q Q1QQQ?QaQQQQ/zQrQQQ&1<GRQKQ @Q 5Q *Q Q gQ QP Q Q Q QQ Q-QK?QB Q{Q;Q:Qcopy QlogQcentralized_logQstatistics`^ԭ PAS$HANDLERmЬP` ``(`b\^R`b CLI$PRESENT CLI$_NEGATEDQQPV1 CLI$_PRESENTQQPV CLI$_ABSENTQQPP PAS$HEXWWWR^^X({n( cWX PAS$FV_OUTPUTPAS$WRITE_STRING PAS$FV_OUTPUT PAS$WRITELN2\VVPX^ԭ PAS$HANDLERm^\ 8 CLI$PRESENTPVVR CLI$PRESENTPRR\W^\ X( ZVXXZ CLI$PRESENT CLI$_NEGATEDRRPY1 CLI$_PRESENTRRPY CLI$_ABSENTRRPP PAS$HEXZZZ\^^[(Gn( cZ[ PAS$FV_OUTPUTPAS$WRITE_STRING PAS$FV_OUTPUT PAS$WRITELN2XY\^W\Y\Y^\ X( ,ZVWX찏Z CLI$PRESENT CLI$_NEGATEDXXPX1 CLI$_PRESENT[[PX CLI$_ABSENT[[PP PAS$HEX[[[\^^Z(on( c[Z PAS$FV_OUTPUTPAS$WRITE_STRING PAS$FV_OUTPUT PAS$WRITELN2WX\^Y\X\X^\ X( `ZVYX谏Z쟭 CLI$PRESENT CLI$_NEGATEDWWPW1 CLI$_PRESENTZZPW CLI$_ABSENTZZPP쟭 PAS$HEXZZZ\^^[(n( cZ[ PAS$FV_OUTPUTPAS$WRITE_STRING PAS$FV_OUTPUT PAS$WRITELN2YW\^X\W\W^\ X( ZVXX䰏Z蟭 CLI$PRESENT CLI$_NEGATEDYYPY1 CLI$_PRESENT[[PY CLI$_ABSENT[[PP蟭 PAS$HEX[[[\^^Z(n( c[Z PAS$FV_OUTPUTPAS$WRITE_STRING PAS$FV_OUTPUT PAS$WRITELN2XY\^W\Y\Y^\ X( ZVWXZ CLI$PRESENT CLI$_NEGATEDXXPX1 CLI$_PRESENTZZPX CLI$_ABSENTZZPP PAS$HEXZZZ\^^[(n( cZ[ PAS$FV_OUTPUTPAS$WRITE_STRING PAS$FV_OUTPUT PAS$WRITELN2WX\^Y\X\X^\ X( ZVYX䰏Z蟭 CLI$PRESENT CLI$_NEGATEDWWPW1 CLI$_PRESENT[[PW CLI$_ABSENT[[PP蟭 PAS$HEX[[[\^^Z(n( c[Z PAS$FV_OUTPUTPAS$WRITE_STRING PAS$FV_OUTPUT PAS$WRITELN2YW\^X\W\W^\ X( 0ZVXXZ CLI$PRESENT CLI$_NEGATEDYYPY1 CLI$_PRESENTZZPY CLI$_ABSENTZZPP PAS$HEXZZZ\^^[(7n( cZ[ PAS$FV_OUTPUTPAS$WRITE_STRING PAS$FV_OUTPUT PAS$WRITELN2XY\^W\Y\Y^\ X( dZVWX䰏Z蟭 CLI$PRESENT CLI$_NEGATEDXXPX1 CLI$_PRESENT[[PX CLI$_ABSENT[[PP蟭 PAS$HEX[[[\^^Z(_n( c[Z PAS$FV_OUTPUTPAS$WRITE_STRING PAS$FV_OUTPUT PAS$WRITELN2WX\^Y\XӐV \^( n ~^^PP DCLINITOPEN_INPUT_FILEQQPPOPEN_OUTPUT_FILEQQPP TRANSFER_FILE NEXT_FILEQQPPGET_INPUT_FILE_SPECSQQPPP0^ԭ PAS$HANDLER PAS$HANDLER CLI$PRESENT CLI$_NEGATED CLI$_PRESENT CLI$_ABSENTPAS$HEX PAS$FV_OUTPUTPAS$WRITE_STRING PAS$WRITELN2PSICOPYPSICOPY13-Feb-1990 18:19:53PAS$ENVIRONMENT_TIME   INIT_DEBUG  PSICOPY$MASTERDCLINITOPEN_INPUT_FILEOPEN_OUTPUT_FILE TRANSFER_FILE NEXT_FILEGET_INPUT_FILE_SPECS PSICOPY MINOR_VERSION MAJOR_VERSIONLIB$GET_FOREIGN LIB$GET_INPUTm^\ MINOR_VERSIONPP MAJOR_VERSIONPPЏLIB$GET_FOREIGNPV  LIB$GET_INPUT LIB$GET_INPUT PSICOPY_CMD<WPP WPPXXXWYYY\^^\(Kn(WhcYа\ԞЭܚ CLI$DCL_PARSEPVV&V  CLI$PRESENTPVV EDIT_LEVEL MINOR_VERSION쟭 MAJOR_VERSIONԟԞ PSICOPY_IDENT PSICOPY_ERROR CLI$PRESENTPINIT_CENTRALIZED_LOGV CLI$DISPATCHPVV ] CLI$PRESENTP   PSICOPY_SENT PSICOPY_ERRORPSICOPY_RECEIVED PSICOPY_ERROR PSICOPY_ABORTPPPQPQ<QQ QrQ`Q QyQQ"QJQQ QrQ`Q QQQ QrQ`Q QQQ QrQ`Q QQQ QrQ`Q QQQ QrQ`Q QQQ QrQ`Q QQQ QrQ`Q QQQ QrQ`Q QIQ1QQQQCQ'Q6Q.QQ3QQQQQ Q'SQQ%Q$ Q PSICOPY_CMD CLI$DCL_PARSE EDIT_LEVEL PSICOPY_IDENT PSICOPY_ERRORINIT_CENTRALIZED_LOG CLI$DISPATCH PSICOPY_SENTPSICOPY_RECEIVED PSICOPY_ABORT %  COMMAND_LINE   GLOBAL_STATUS   FILES_TO_DO  LOG  TT_LOG DEBUG   SERVER_MODE    TX_PACKETS  TX_BYTES   RX_PACKETS  RX_BYTES VERSION $CODE$LOCAL# j f $CODE $LOCAL INIT_DEBUG SETVAL\ PSICOPY$MA STERx PSICOPYTww1#0-0& PSICOPY_CMD0-013-FEB-1990 12:08-VAX/VMS Command Definition Utility (V4-001) PSICOPY_CMD CLI$TABLESP  COPY ,<`h" &COPYPSICOPY$MASTER,q&!P1FromINPUT,$!P2ToOUTPUT$aPFROM$aP ($ PSICOPY020.A!W([GEGE.SYSTEME.PSICOPY_V2]PSICOPY.OLB;1735_"TO(0@SERVER$TLOG$axDEBUG, STATISTICS(DELETE(COMPRESS$ CRC(@ REVERSE(ch` RESTART( WINDOW( PKTSIZE(THRUCLS(DELETE(0COMPRESS0CENTRALIZED_LOG| RESTART_KEY4#FILEpsicopy$restartDBG_TYPE$ALL$NET$8DATA$\CRC$MAIN$LOGIN$INTER(SERVER( FILE_IO( RESTARTD` . SERVER_SYNTAXPSICOPY$SERVER(SERVER$LOG$aDEBUG,  STATISTICS0CENTRALIZED_LOG pREMOTE_ADDRESS(ADDRESS$PWD$PWD2 PSICOPY$MASTERRPPSICOPY$MASTERPSICOPY$SERVERnPPSICOPY$SERVERww1 q H018 PSICOPY_ERROR0131-Mar-1990 12:4831-Mar-1990 12:48VAX Pascal V3.8-273 PSICOPY_ERRORPALOG_FILEQLPTcentralized_logQ.log<^ԭ PAS$HANDLERm}<ح<ح<حЏܭ­^Э\ЭQ^S\(ac\(\ací^\\^ SYS$SETASTP\ P`%1PAS$DATEPAS$TIME PAS$WRITE_STRING PAS$WRITE_STRING PAS$WRITE_CHARѭݭPAS$WRITE_STRING PAS$WRITELN2 PAS$WRITE_CHAR⟯ѭѭݭPAS$WRITE_STRING PAS$WRITELN2 PAS$STATUSPTT_LOG\  SYS$SETAST<^ԭ PAS$HANDLERm( ­^Э\ЭQ^S\(ac\(\ací^\\^\ЏОԟП \P@ SYS$GETMSGPR\REQFAIL,Request to transfer file !AD from !AD failed4CREATED"File !AD creation requested by !AD<CREFAIL)File !AD creation requested by !AD failed$REMLOGIN!AD logged as !AD. REMLOGFAIL!AD failed to log as !AD DEBUGINFO!AD& NOTCOPIED!AD!AD not copied2NOTSUPP!AD does not support !AS option< LOCDTELNG(local DTE name !AD too long -- truncated> REMDTELNG)remote DTE name !AD too long -- truncated6USERLNG$!AD: user data too long -- truncatedRWINBAD@!AD: Invalid window size specified -- nearest valid value chosenRPKTBAD@!AD: Invalid packet size specified -- nearest valid value chosenFRPOALNG4!AD: RPOA is not a multiple of 4 digits -- truncatedFWORDBAD4!AD: one or more transit facilities reduced to 65535VTHRBADE!AD: Invalid throughput class specified -- nearest valid value chosen< BADSTATUSWORD#!AD: Invalid iosb third word: %X!XW8 ASSINCHAN$Error assigning input channel to !AC: ASSOUTCHAN%Error assigning output channel to !AC.OPENINError opening !AD!AD as input0OPENOUTError opening !AD!AD as output* IN_SEARCHError searching !AD!AD&INPARSEError parsing input( OUT_PARSEError parsing output4 READ_INPUTError reading input file !AD!AD8 WRITE_OUTPUT Error writing output file !AD!AD6 NOTDELETED Error deleting input file !AD!AD*CONFAILError connecting to !AD2LOGFAIL Error during remote login to !ADBCONABORT.Error connecting to !AD, secondary status= !UWR CONERRNCB=Error parsing NCB during access to !AD, secondary status= !UW6NETSEND$Error sending network message to !AD> NETRECEIVE(Error receiving network message from !AD: INTERRUPT&Transfer aborted by partner, code= !UB4 INVALIDNCBReceived NCB has invalid formatHCRCBLOCK5CRC error with !AD at block !UL, retransmitting blockRCRCBURST>CRC error on burst with !AD at block !UL, retransmitting burst@ MAXCRCERR,maximum retransmit reached, transfer aborted ABORTtransfer aborted.PUTMSG$PUTMSG system service failed( ERRDELETEError deleting file, ERRDEACCESSError deaccessing file8 NOX25CHAN#Cannot assign channel to X25 device4NOSYSNET!Cannot assign channel to SYS$NET:4 READSYSNETError reading NCB from SYS$NET:2 ACCEPTERRError establishing remote link&PROTOCOLProtocol error: !AS.USERNAMECannot get username specs.0 SECLVLERRIncompatible security level.ERRJPI$GETJPI system service failed(ERREXHCannot set exit handler,READMBXError reading !AD mailbox2DEACCESSError during deaccess from !AD0SEND_ITError sending interrupt to !AD8ACK_IT&Error acknowledging interrupt from !AD6INV_IT$Invalid IT message received from !AD,CLEAREDCall to !AD cleared!/-!AD4OPENLOG"Error opening centralized log fileDEXTLOG2Error preparing centralized log file for extension0NOTNOWYou are not allowed to log now@REVOKERR-Error revoking identifier PSICOPY$SERVER_MODE@GRANTERR-Error granting identifier PSICOPY$SERVER_MODE4TRNLOG"Error translating logical name !AD PSICOPYww1 ZyI015 PSINETWORK01 2-Apr-1990 13:55 2-Apr-1990 13:55VAX Pascal V3.8-273R PSINETWORKPQ cause Q diagnostic Network initiatedQ X25 protocol ErrorQ Comm. link failedQ Comm. link operationalQ Comm. link restartQ Multi-host connexion disconnectedQ Multi-host connexion lostQ Network management function Call collisionQ Network time-outQ reason ::QIOSB: status:Q Count:Q Uinfo:Q Sinfo:QRemote DTE: Cause QDiag QReason QLocal DTE: QLocal subaddress: QUserdata: QLocal network name: Destination priority: QPacket size: QWindow size: QIncoming DTE: QReverse charging baudsQunknown speed #QMin throughput class: QBusyOut of orderSystematicQUnknown reason #Redirect reason: QNCB code Q: Mailbox: inc dataQ Mailbox: interruptionQ Mailbox: disconnect Mailbox: connectQ Mailbox: resetQ Unknown mailbox message type QNWA0:Qremote nodeQSYS$NET:Netsend P]kz &0= REQUEST_TYPE NET$C_INSPECSNET$C_OUTSPECSNET$C_INSEARCHNET$C_OUTPARSE NET$C_OPENIN NET$C_OPENOUT NET$C_READ NET$C_WRITE NET$C_DELOUTPNET$C_DEACCESS NET$C_END NET$C_LOGINNET$C_PASSWORD NET$C_DELINP NET$C_STATUS NET$C_CRC NET$C_RESUME NET$C_NETERRQ$$$received wrong message expecting mapOversized packet receivedQreceived mess type #instead of #received non Q messQ::::PSI$DTE_DIRECTORYQPSI$PSICOPY_LOCAL_SUBADDRESSLNM$SYSTEMQPSI$MAIL_LOCAL_SUBADDRESSQLNM$SYSTEM<(^( ­^Э\ЭQ^S\(ac\(\ací^\\^ЭܰذڟPSICOPY_PROTOCOLLIB$STOPPSICOPY_PROTOCOLP^ԭ PAS$HANDLERm\4\P PP@~ SYS$QIOWPݏPAS$WRITEV_STRINGQ$Q QKQCQ?5QFQS Q Q*Q3QTQCQ2QCQS=QOQQQjQ=QQVQJQN,QVQ3Q`Q3QJQQ#RQ+Q Qx8Q Q QZQQ,QwQ5QwQQwQQQ,QQ QQ="QnQ\Q>QQaQqQ !Q Q0%P|5S]bgXQQQQQzQQ]QWQNQ Q?Q-QQ QQ QQQ QQ&QQQ QQ }QwQrQmQhQcQQ LQGQQ9Q*Q%QQQQ ?QQ>Q;"QQ4Q3BQQ QQQ,Q#QQIQGQ!Q !Q8Q QQQ~Q{QQ UQS%Q QQQjQcQQQ XQSQ !QA$QQ;Q !Q QQgQ Q QQ#QO Q Q&QQ*QQb4Q+QNQQQ@,QQ0 QKQ`QQ:Q5Q7Q6iQQ RQ6QQ'QQQeBQk Q QQQQQQ:QQQ1Q#Q$Q QQQ1Q&Q!Q 6Q QPQ QQfQQQQKQQ2mQQ1#Q4Q+Q3 QFQ Q|4Q+Q3QoQ Q#QQ 3Q &QvQ 3Q &Q@Q .Q !QQ.QVQ Q$Q!QQ Q QCQ#QwQ)7QQQQQQQnQVQNQvJ2  gIT_CODE9$CODE$LOCAL    \\   * 7$CODE9$LOCALWE B,IQH1USR$ADMIN:[GEGE.SYSTEME.PSICOPY_V2]PSINET.PAS;330 j  PAS$FV_INPUTINPUTTEXT  CHAR  PAS$FV_OUTPUTOUTPUTR T3&MAX_NETWORK_CHARS 'MAX_USERNAME_CHARS  (MAX_TRANSPAC_DIGITS ! MAX_NCB_SIZE  MAX_CRC_NB ! NULL_CHANNEL QIO_EFN WAY NET$_FROMNET$_TOINTERRUPT_TYPE NET$IT_WRTERRNET$IT_READERRNET$IT_RETRANSMIT NET$IT_ACK REQUEST_TYPE NET$C_INSPECSNET$C_OUTSPECSNET$C_INSEARCHNET$C_OUTPARSE NET$C_OPENIN NET$C_OPENOUT NET$C_READ NET$C_WRITE NET$C_DELOUTP NET$C_DEACCESS NET$C_END NET$C_LOGIN NET$C_PASSWORD NET$C_DELINP NET$C_STATUS NET$C_CRC NET$C_RESUME NET$C_NETERRNETMSG  TJ3RRIT_CODER TQ3RRDISK_BLK BLOCK_TYPE R RNET_BLK NETBLOCK_TYPE  RP RRET_SIZE R  RWORD  INTEGER STATUS0 MSG_FLAGS  REQUESTOR R R BOOLEAN DEBUGR T 38MSG_CODER T3PT 3RXR@INP_VER VERSION_TYPE MINORR RBYTE  MAJORR TF 3PINP_FNA FILE_NAME RR@RET_STV`RET_VERR T 3pRET_OPTR  RTRANSFER_OPTIONS DELETE_INPUTR T 3COMPRESSR T 3 CRCR T 3RESTARTR T 3Rh R@RET_STV1`RET_RSA!R T 3"Rh#R@INP_RLF$R T 3HINP_FNB%R&R@RET_ATRATR_LIST UCHAR RECATTR'R(R)R TF 3    ASCDATES*R+R,R TF 3 ## 8FPRO-R T- 3 HRPRO.R T- 3 XSEMASK/R0R1R TF 3 STATBLK T` 32R3RSBK$R_STLBN_OVERLAY4R  5R  SBK$R_FILESIZE_OVERLAY6R  7R @ SBK$B_ACNT8R 9R H SBK$B_LCNT:R T3P SBK$L_FCBpSBKDEF$$_FILL_1;R R  SBK$W_LCNT?R T3 SBK$W_WCNT@R T3 SBK$W_TCNTAR T3 SBK$L_READS SBK$L_WRITESBR@CR SBK$L_STLBN SBK$L_FILESIZEDRERFR@GR SBK$W_STLBNHHR T3 SBK$W_STLBNLIR T3 SBK$W_FILESIZHJR T30SBK$W_FILESIZLKR T3RET_MSZRET_FDID FDID_TYPE FIDLRMRNR T- 3  0DVIORPR@INP_OPTQR  T 3`INP_ATRRR T 3INP_MSZSRPTR@RET_BLKUR T3VRPWR@INP_BLKXR T3YRHZR@RET_FNA[R T 3\R@]R ^R@_R `R@aR bRPcR @ INP_USERNAME CLI_PARAMETER dReR @INP_SALTfR  T- 3P INP_ENCRYPTgR TF 3 XTIMEhRiRjR UNSIGNED RET_PASSWORD"CRYPTED_PASSWORD RET_REMUSERkR T3lR@mRnRoR@SELF_CRC `CRC_NBpR qR  pCRCrRsRtR tuRvR@ START_BLK `NETERRwR T 3 aCRCERRxR T 3bCRCXMITyR T 3cRESTARTzR T 3h RES_CAUSE PSI_OPTIONS WINDOW THRUCLS@PKTSIZE `OPT WINDOW REVCHGTHRUCLSPKTSIZEPSI_IOSB@ IOSB_STATUS{R T- 3 IOSB_COUNT|R T- 3 IOSB_UINFO}R T- 30 IOSB_SINFO~R T- 3 ADDR_TYPE. NCB_ITEM LENGTHR T- 3 CODER T- 3T3RR DATARRR TF 3 R(R DATABR TF 3R0R DATAWR T- 3R@R  DATALR NCB_ITEM_PTRT3RNCB_TYPERR TF 3  MBXMSG_TYPEMSGTYPER T- 3 UNITR T- 3 NAME SIZER TF 3 DATA INFO  SIZER TF 3 DATARRR TF 3 PSI_LINK X25_CHANR T- 3MBX_CHANR T- 3 IOSBR T3[߬$ PSICOPY020.A!W([GEGE.SYSTEME.PSICOPY_V2]PSICOPY.OLB;1735!`"`MBX_IOSBR T3 CAUSER TF 3 DIAGR TF 3 REASONR TF 3GOTCAUSEGOTDIAG GOTREASON CONNECTEDCLEARED LOGERRMBX_BUFR T3 SAVADDRR T3TABLINKRRRT!3T(3ݳ ff IT_RECEIVEDgIT_CODER TQ3 X25_IDENT X25_IDENT DEFAULT_PSI_OPTIONSR T=3!PROTOCOL_ERROR0 MESSRRRPROTOCOL_ERRORYYRPROTOCOL_ERRORYYLHPSICOPY_PROTOCOLPSICOPY_PROTOCOL t  EXPLAIN_CLEAR LINKR T!3RWORK7 ٤P RSYSMESS ٘ PSICOPY_CLEAREDPSICOPY_CLEAREDR REMDTE_LENGTHq    $PSI$C_L3_NETWRK $PSI$C_L3_NETERR $PSI$C_L3_LNKDWN #PSI$C_L3_LNKUP $PSI$C_L3_LNKRRT %PSI$C_L3_GATDISC  %PSI$C_L3_NETDISC  $PSI$C_L3_LOCMGT  $PSI$C_L3_CALCOL  $PSI$C_L3_NETTIM   PSICOPY_ERROR PSICOPY_ERROR  NETERR  LINKR T!3RSTATUS  RPSICOPY_STATUS  RMESS c  RSAVAST    SYS$SETAST$SETASTPSICOPY_SYS_ERRORPSICOPY_SYS_ERROR DEBUGDEBUG  NETR T 3 MAINR T 3 DATAR T 3 CRCR T 3 LOGR T 3 LOGINR T 3 INTERR T 3 SERVERR T 3FILE_IOR T 3 RESTARTR T 3 PSICOPY_DEBUG PSICOPY_DEBUG SS$_WASSET  &@ 8EXPLAIN_ADJUSTMENTS$8RWHATWAY88R T(3R STATUSWORD$88 R T- 3R REMSTATUS'88R T- 3PSICOPY_LOCDTELNGPSICOPY_LOCDTELNGPSICOPY_REMDTELNGPSICOPY_REMDTELNGPSICOPY_USERLNGPSICOPY_USERLNGPSICOPY_WINBADPSICOPY_WINBADPSICOPY_PKTBADPSICOPY_PKTBADPSICOPY_RPOALNGPSICOPY_RPOALNGPSICOPY_WORDBADPSICOPY_WORDBADPSICOPY_THRBADPSICOPY_THRBAD0PSICOPY_BADSTATUSWORDPSICOPY_BADSTATUSWORDD9WARNING[9mRMASKW9l9R T- 3R CONDITION[99 q8=(PSI$M_STS_LOCDTELNG (PSI$M_STS_REMDTELNG &PSI$M_STS_USERLNG %PSI$M_STS_WINBAD %PSI$M_STS_PKTBAD  &PSI$M_STS_RPOALNG &PSI$M_STS_WORDBAD %PSI$M_STS_THRBAD @"@ PARSE_INPUT_NCB  LINKR T!3R ITEM_PTR R T3R NCB_SIZE   MIN_SPEED  MAX_SPEED  CHARZ LENGTHR TF 3 BODYRREMSIZE 8PSICOPY_INVALIDNCBPSICOPY_INVALIDNCBRI R TF 3hTABSPEEDRRR ( RMESS ِ RVAL  RNETNAME  RREMDTE  R CALLERGIVEN   " PSI$C_NCB_ICI  %PSI$C_NCB_REMDTE $PSI$C_NCB_CAUSE 'PSI$C_NCB_DIAGCODE %PSI$C_NCB_REASON %PSI$C_NCB_LOCDTE (PSI$C_NCB_LOCSUBADR 'PSI$C_NCB_USERDATA &PSI$C_NCB_NETWORK %PSI$C_NCB_PRIDST "&P SI$C_NCB_PKTSIZE &PSI$C_NCB_WINSIZE +PSI$C_NCB_INCOMING_DTE 7%PSI$C_NCB_REVCHG  &PSI$C_NCB_THRUCLS -PSI$C_NCB_CALL_REDIR_RSN ,&PSI$C_REDRSN_BUSY .PSI$C_REDRSN_OUT_OF_ORDER ,PSI$C_REDRSN_SYSTEMATIC !@ACKNOWLEDGE_IT LINKR T!3RSTATUSRIOSB RRR T- 3 PSICOPY_ACK_ITPSICOPY_ACK_IT h] SYS$QIOW$QIOW#IO$_NETCONTROL 6! PSI$K_INTACK $@hACKNOWLEDGE_RESETm LINKR T!3RSTATUSRIOSBR T3PSICOPY_ACK_ITPSICOPY_ACK_IT h#  PSI$K_RESET @8READ_M BX?} LINKR T!3PSICOPY_INV_ITPSICOPY_INV_ITRMESS{   MSG$_INCDAT @  MSG$_INTMSG 5LIB$STOP ERROR_STOP  MSG$_DISCON 3! MSG$_CONNECT 2 MSG$_RESET A@H START_WATCHJm LINKR T!3RSTATUSPSICOPY_READMBXPSICOPY_READMBX `7  SYS$QIO$QIO! IO$_READVBLK 1@ GET_X25_CHAN LINKR T!3< X25_DEVICERSTATUSPSICOPY_NOX25CHANPSICOPY_NOX25CHAN/d\DISCONNECT_NW_CHANNELoRWHATWAYoG R T(3RSTATUSRIOSBRRR T- 3  PSICOPY_DEACCESSPSICOPY_DEACCESS [! IO$_DEACCESS 4 LIB$SIGNAL ERROR_SIGNAL SYS$DASSGN$DASSGN`SEND_ITx/RREASONsR TQ3RWHATWAYx R T(3RSTATUSRIOSBRRR T- 3 PSICOPY_SEND_ITPSICOPY_SEND_IT '$PSI$K_INTERRUPT @ SEND_RESETR DIAGCODE'R TF 3RWHATWAYb R T(3RSTATUSXRIOSB2[R T3PSICOPY_SEND_ITPSICOPY_SEND_IT, CONNECT_NW_CHANNEL RCONNECT_NW_CHANNEL!! RCONNECT_NW_CHANNEL!! PSYSNETRSTATUSL ! R MBX_CHAN,  R T- 3RIOSBx  RRR T- 3 R NCB_DESC!@!R R R  RMBX_MSGp ! R T3PSICOPY_NOSYSNETPSICOPY_NOSYSNETPSICOPY_READSYSNETPSICOPY_READSYSNETPSICOPY_ACCEPTERRPSICOPY_ACCEPTERR \ SYS$ASSIGN$ASSIGN IO$_ACCESS 2  IO$M_ACCEPT @!NETSEND! MSG R T83RNETSEND$$RNETSEND$$RWHATWAY!8$R T(3HDRSZ RSTATUS$h$PSICOPY_NETSENDPSICOPY_NETSENDR MSG_SIZE!$ RFDIDP: $ PSICOPY020.A!W([GEGE.SYSTEME.PSICOPY_V2]PSICOPY.OLB;1735"TR""RT`3 " IO$_WRITEVBLK 0#IO$M_QUALIFIED  GLOBAL_STATUS GLOBAL_STATUSTX_BYTESTX_BYTES TX_PACKETS TX_PACKETS$ NETSENDDESC$5R NETSENDDESC%%R NETSENDDESC%%RBUFLEN$q%RBUFADR$$RWHATWAY$% R T(3RSTATUS$2%PSICOPY_NETSENDPSICOPY_NETSEND%% NETSENDDATA% MSGR T83R NETSENDDATA%%R NETSENDDATA%% RWHATWAY%%!R T(3PSICOPY_INTERRUPTPSICOPY_INTERRUPT(H%NETRECEIVEDESC%A"RNETRECEIVEDESC4'4'#RNETRECEIVEDESC4'4'$RBUFLEN%'%RBUFADR%%&RWHATWAY%& 'R T(3(RSTATUS,&m&PSICOPY_NETRECEIVEPSICOPY_NETRECEIVE d_$PSI$M_QUALIFIED RX_BYTESRX_BYTES RX_PACKETS RX_PACKETS8' NETPURGEDATAK'  MSG)R T83*R NETPURGEDATA((+R NETPURGEDATA((,RWHATWAYK'K(-R T(3.RSTATUS`'(PSICOPY_NETRECEIVEPSICOPY_NETRECEIVE$|( NETRECEIVE(k MSG/R T830R NETRECEIVE**1R NETRECEIVE**2RWHATWAY(*3R T(3FNBPTR4RSTATUS(*PSICOPY_NETRECEIVEPSICOPY_NETRECEIVE5R SIZELEFT(x*6RBUFPTR() &#PSI$M_MOREDATA @*NETKEYIN* MSG7R T838RFUNC**9R T3:RWHATWAY**;R T(3+@+RECEIVE_QUALIFIED+ MSG<R T83=RFUNC++>R T3?RWHATWAY++@R T(3ARMESSV++٬P $ l- NETCONNECT-%PSI_OPT BR T=3CR NETCONNECT1(1DR NETCONNECT1(1ERADDR-;0PFR T3GRPWD-"0HR T3IRPWD2- 0HJR T3KRWHATWAY-0 LR T(3MRBYTE_PTRTF 3NRNCB..OR T3PRNCB_PTRDQR T3RR NCB_SIZE.. SR NCB_DESC..TRURVR WRIOSB./XRYRZR T- 3 [RSTATUS.1PSICOPY_CONFAILPSICOPY_CONFAILPSICOPY_LOGFAILPSICOPY_LOGFAILPSICOPY_CONERRNCBPSICOPY_CONERRNCBPSICOPY_CONABORTPSICOPY_CONABORT ,TRNLNM, LOGVAL\R T3]RTRNLNMj-j- ^RTRNLNMj-j- _RLOGNAM,H-T`R T3aRTABNAM,-bR T3cRITMLST,, BUFLENdR T- 3 ITMCODeR T- 3  BUFADR @RETLEN`ENDLISTfRSTATUS1-Q- PSICOPY_TRNLOGPSICOPY_TRNLOG%, PRETTY_ADDR&,D LINKgR T!3hRIS,S,"L7ADDASCIC}7iR ADDASCIC7 8jR ADDASCIC7 8kRITEMp77tlR T3mRCODE}77 nRJ77oR pR(CLI_PARAMETER_LEN i#6 ADDNBYTES6qR ADDNBYTES6H7rR ADDNBYTES6H7sRITEM6.7tRNBBYTES67uRCODE66 !3FILLDTE3!DTEADDRvR T3wRFILLDTExRFILLDTE TABLEyRDTENUM34dzR T3{RSTATUSY3Y3|RI33 i)004PROCESS_SUBADDR=4}RPROCESS_SUBADDR55~RPROCESS_SUBADDR55RSUBADDRl45R T3.5VALIDATE_PSI_OPTIONS5RVALIDATE_PSI_OPTIONS66RVALIDATE_PSI_OPTIONS66R PARSE_OK56#,1 PARSE_NCBA1 ADDRR T3R PARSE_NCB22R PARSE_NCB22RCAST_NCBT3RIl12 R TO@3R PARSE_OKD12i  LNM$_STRING  SYS$TRNLNM$TRNLNM! SS$_NOLOGNAM ! SS$_IVDEVNAM D SS$_ABORT ,  SS$_CLEARED !RS !S !S"S !S !S"S !S" S ! S" S ! ST- 3 S !ST 3S !S !S !S"S !STF 3S !S !S"S !S !ST 3S !S !S !S !S ! S"!S !"S !#S"$S !%S !&S"'S7!(S3")S *S7!+S3",S -S !.S !/S7!0S3"1S 2S !3S"4S !5ST 36S !7ST 38S !9ST3:S !;S !ST3?S !@S !AS !BS !CS"DS !ES"FS !GS"HS !IS !JS !KS !LS7!MS3"NS OS !PS"QS !RS !SS !TS"US !VS !WS"XS !YS !ZS"[S !\S !]S"^S !_S"`S !aS"bS !cS"dS !eS"fS !gS !hS0!iS,"jSkS !lS !mS"nS !oS"pS !qSTA3rS0!sS,"tSuS !vS"wS !xS !yS !zS !{S !|S !}S !~S !S !S !S !S"S7!S3"S S !S"S !S !S"S !S !S"S!S?!S3"S S !S !S !S !S7!S3"S S !S !S !S !S !S !S !S !S !S:!S6"SS !S !S!S "S'!S'!S !S!S !S&!S !S!S'!S!S!S !S !S !S !S !S !S !S !S !S !S !S !S#!S !S"!S !S!S !S"!S !S!!S !S!!S !S !S!S !S0!S,"SS!S!S !S!S$!S !S!S!S7!S3"S S !S!S!S !S !S!S !S!S !S!S !S !S!S!S7!S3"S  S!S !S !S !S!S!S7!S3"S S!!S !S !S !S!S!S !S+!S+!S!S!!S !S!S7!S3"S S!!S0! S," S S ! S ! S !S !S !S !S !S!S!!S !S !S$!S$!S!S!S !S !S!S !S$!S$! S !!S !"S'!#S'!$S!%S!&S !'S !(S!)S !*S%!+S%!,S !-S !.S!/S !0S#!1S#!2S !3S !4S!5S!!6S!!7S !8S!9S !:S !;S !<S !=S!>S !?S !@S !AS!BS !CS#!DS#!ES!FS !GS!HS !IS!JS !KS !LS !MS!NS!OS !PS !QS !RS!!SS!!TS0!US,"VSWS!XS7!YS3"ZS [S!\S !]S!^S!_S!`4S !aS!bS !cS!dS !eS !fS!gS !hS!iS!!jS!!kS!lS !mS!nS!oS !pSTO@3qS"!rS"!sS!tS !uS!vS !wS !xS !yS!zS !{S!|S!!S;$ PSICOPY020.A!W([GEGE.SYSTEME.PSICOPY_V2]PSICOPY.OLB;1735"! "}S(!~S(!S !S !S-!S-!S!!S !S"!S"!S!S!S !S!!S PAS$FV_INPUTww1bSJ012RESTART01 3-Apr-1990 10:11 3-Apr-1990 10:11VAX Pascal V3.8-273RRESTARTPbRESFILQrestart.fileRestart file:Q$lineQCommand line:QNew_input: QNew_output: Output done:l^lЏn | CLI$GET_VALUEv PAS$#FV_OUTPUTPAS$WRITE_STRINGnl PAS$FV_OUTPUTPAS$WRITE_STRING PAS$FV_OUTPUT PAS$WRITELN2Џ+ CLI$GET_VALUE! PAS$FV_OUTPUTPAS$WRITE_STRINGЭP` PAS$FV_OUTPUTPAS$WRITE_STRING PAS$FV_OUTPUT PAS$WRITELN2< ^ԭ PAS$HANDLERm(P\\ P\\\\\lP PAS$FV_OUTPUTPAS$WRITE_STRING( PAS$FV_OUTPUTPAS$WRITE_CHAR<~ PAS$FV_OUTPUT$PAS$WRITE_INTEGER, PAS$FV_OUTPUTPAS$WRITE_CHAR<~ PAS$FV_OUTPUTPAS$WRITE_INTEGER, PAS$FV_OUTPUTPAS$WRITE_CHAR<~ PAS$FV_OUTPUTPAS$WRITE_INTEGER) PAS$FV_OUTPUTPAS$WRITE_CHAR PAS$FV_OUTPUT PAS$WRITELN2<8^ԭ PAS$HANDLERm( PAS$FV_OUTPUTPAS$WRITE_STRING(ȚP\\ P\\\\\lP PAS$FV_OUTPUTPAS$WRITE_STRING( PAS$FV_OUTPUTPAS$WRITE_CHAR<~ PAS$FV_OUTPUT%PAS$WRITE_INTEGER, PAS$FV_OUTPUTPAS$WRITE_CHAR<~ PAS$FV_OUTPUTPAS$WRITE_INTEGER, PAS$FV_OUTPUTPAS$WRITE_CHAR<~ PAS$FV_OUTPUTPAS$WRITE_INTEGER) PAS$FV_OUTPUTPAS$WRITE_CHAR PAS$FV_OUTPUT PAS$WRITELN2P(<8^ԭ PAS$HANDLERm( PAS$FV_OUTPUTPAS$WRITE_STRING(ȚP\\ P\\\\\lP PAS$FV_OUTPUTPAS$WRITE_STRING( PAS$FV_OUTPUTPAS$WRITE_CHAR<&~ PAS$FV_OUTPUTPAS$WRITE_INTEGER, PAS$FV_OUTPUTPAS$WRITE_CHAR<~ PAS$FV_OUTPUTPAS$WRITE_INTEGER, PAS$FV_OUTPUTPAS$WRITE_CHAR<~ PAS$FV_OUTPUTPAS$WRITE_INTEGER) PAS$FV_OUTPUTPAS$WRITE_CHAR PAS$FV_OUTPUT PAS$WRITELN2PP(^м\- PAS$FV_OUTPUTPAS$WRITE_STRING\ PAS$HEX PAS$FV_OUTPUTPAS$WRITE_STRING PAS$FV_OUTPUT PAS$WRITELN2PQ'rPQQ l START_RESTART CLI$GET_VALUE PAS$FV_OUTPUTPAS$WRITE_STRING PAS$WRITELN2RESTARTRESTART 3-Apr-1990 10:11:37PAS$ENVIRONMENT_TIME  T< WRITEFDID PAS$HANDLERPAS$WRITE_CHARPAS$WRITE_INTEGER  $<NEW_INPUT_FILE  <NEW_OUTPUT_FILE  $OUTPUT_FILE_DONEPAS$HEX   RESTARTING   RESTART_BLKNO RESFILw$CODE$LOCALnl>( $CODEw$LOCALWE`TE1USR$ADMIN:[GEGE.SYSTEME.PSICOPY_V2]RESTART.PAS;19 6  PAS$FV_INPUTINPUTTEXT  CHAR  PAS$FV_OUTPUTOUTPUTR T3RPB` COMMAND_LINE CLI_PARAMETER  INPUT_FDID FDID_TYPE FIDRRR R   INTE )GER 0DVI OUTPUT_FDIDR Td3p RESTART_FDIDR xTd3 ACK_BLK @STATE RESTARTING RESTART_BLKNO RESFILR T3l START_RESTARTs< R FILE_NAMEul R T23 $ CLI$GET_VALUE CLI$GET_VALUET WRITEFDIDi8 RFDIDh R Td3($NEW_INPUT_FILE98* RFDID8R Td3) NEW_OUTPUT_FILE58RFDID4R Td3 UNSIGNED#$OUTPUT_FILE_DONE-(RSTATUS-D SvRS !S7!S3"S ST3S !S !S ! S"! S ! S! S ! S!S !S!S !S!S PAS$FV_INPUTww1XFSJ011SERVER01 +3-Apr-1990 10:12 3-Apr-1990 10:12VAX Pascal V3.8-273 SERVERPRcvd code: QP^m| #0 NET$C_INSPECSNET$C_OUTSPECSNET$C_INSEARCHNET$C_OUTPARSE NET$C_OPENIN NET$C_OPENOUT NET$C_READ NET$C_WRITE NET$C_DELOUTPNET$C_DEACCESS NET$C_END NET$C_LOGINNET$C_PASSWORD NET$C_DELINP NET$C_STATUS NET$C_CRC NET$C_RESUME NET$C_NETERRQUnknown message code received: QUnexpected ,data msg received<^ SERVER_MODECONNECT_NW_CHANNELP(TABLINKTABLINK3RESET_SERVER_MODE]QSET_SERVER_MODEPP^ԭ PAS$HANDLERmQ\Q^V ]Q]QW NETRECEIVEPPPWW11DEBUG PAS$FV_OUTPUTPAS$WRITE_STRING~v PAS$FV_OUTPUTPAS$WRITE_ENUMERATED PAS$FV_OUTPUT PAS$WRITELN21 -1 PSICOPY est implemente comme une "foreign command"./ PSICOPY:== $ddcu:[directory]psicopy 1. Securite 1-1. ServeurV Si vous installez le serveur, ce qui permet a des vax distants deR venir lire ou ecrire des fichiers sur votre vax, il faudra prevoir unR numero de compte qui recevra les appels, et qui ne sera accede qu'enR reseau. ce numero de compte devra avoir NETMBX et TMPMBX, a moins queR vous n'installiez PSICOPY.EXE avec ces privileges, mais dans ce casR vous devrez prendre des precautions si vous voulez restreindre lesR appels sortants. Le mot de passe de ce compte n'a a etre connu que deR l'objet NCP, qui est cree lors de l'installation. Vous pouvez choisirR de garder une trace de toutes les transactions effectuees par leR serveur de votre machine. En plus, vous pouvez definir un identifierR "PSICOPY$SERVER_MODE" et le donner a l'username du serveur avecR l'option "DYNAMIC". Lorsque le serveur fonctionne en mode "controle",R c'est a dire avant tout transfert de fichier, si l'identifier estR defini, il est alloue au process serveur. Il est retire avant toutR transfert, ce qui permet par exemple de retirer les droits d'acces sur* les fichiers de log du serveur. 1-2. PSICOPY.EXEV Ce fichier doit etre accessible en execution par tous ceux qui ont leR droit d'utiliser cet utilitaire. Il necessite les privileges TMPMBX etR NETMBX. L'utilisation de la commande PSICOPY requiert l'autorisationR d'acceder a PSI. En tant que serveur, il doit etre executable par leR username sous lequel le serveur est implemente. En outre, si vousR voulez autoriser les login distants pour le serveur, il faudraB installer l'image PSICOPY.EXE avec le privilege CMKRNL. 26 PSICOPY - transfert de fichiers par PSI  1-3. PSICOPY.COMV Ce fichier doit etre accessible en LECTURE par le username sous< _______, lequel est implemente le serveur.# 1-4. logins distantsV Par defaut, les fichiers sont accedes par l'UIC de l'username duR serveur. Il est possible d'acceder aux fichiers par l'UIC d'unR utilisateur quelconque a condition de fournir son mot de passe. DeR plus, les identificateurs qui sont alloues a l'utilisateur specifieR sont donne au processus distant. Les tentatives de "login" sontR effecuees en mode dialup, on verifie que la connexion est autoriseeR (heures autorisees et flag DISUSER). Ces "login distants" sont traces< dans le fichier de trace du serveur, s'il existe.* 1-5. Sous-adresse transpac.V La sous-adresse transmise lors de l'etablissement d'une liaisonR PSICOPY est celle definie par le nom logiqueR PSI$PSICOPY_LOCAL_SUBADDRESS, ou bien, si ce dernier n'esiste pas, parR le nom logique PSI$MAIL_LOCAL_SUBADDRESS, et si ce dernier n'existe4 pas, aucune sous adresse n'est transmise.z PSICOPY - transfert de fichiers par PSI 3 G Repertoire des commandesz 46 PSICOPY - transfert de fichiers par PSI 2 1. PSICOPY source dest [qualificateurs] 1-1. Parametres 1-1-1. source ______ 8 syntaxe: [adresse machine\]nom_de_fichier_vmsR l'adresse machine est decrite dans le qualificateur /FROM Nom ou listeR de noms de fichiers a copier, wilcard autorise. Ces fichiers doiventR etre des fichier sur disque ODS-2. Il n'est pas possible de lire desQ fichiers sur d'autres noeuds que celui sur lequel est installe PSICOPY 1-1-2. dest ____< syntaxe: [adresse machine\]nom_de_fichier_vmsR l'adresse machine est decrite dans le qualificateur /TO Nom de fichierA resultant. Ces fichiers doivent etre sur disque ODS-2.R Il n'est pas possible de creer des fichiers sur d'autre noeuds que0 celui sur lequel est installe PSICOPY" 1-2. Qualificateurs 1-2-1. /compress _________V Ce qualificateur local indique que le fichier auquel il s'appliqueR doit etre compresse avant transfert. Le taux de compression depend duR type de fichier transfere. Generalement les taux de compression sontR assez faibles (20% a 30% pour un executable ou un petit fichier de texte). 1-2-2. /delete _______V Ce qualificateur local indique qu'apres transfert les fichiers sourceR doivent etre detruits. La destruction s'effectue apres le transfert deK chaque fichier, a condition que le transfert se soit bien passe.V PSICOPY - transfert de fichiers par PSI 5  1-2-3. /log ____J Affiche divers messages au cours du transfert. Ca occupe. 1-2-4. /stat _____J Affiche le taux d'utilisation de TRANSPAC apres transfert 1-2-5. /reverse ________( Permet d'appeler en PCV# 1-2-6. /window=fenetre _______________ Taille fenetre* 1-2-7. /pktsize=taille paquet# ______________________! Taille du paquet+ 1-2-8. /thrucls= debit liaison$ _______________________5 Debit minimal garanti de la liaison. 1 75 2 5$ PSICOPY020.ArWW'[GEGE.SYSTEME.PSICOPY_V2]PSICOPY.MEM;15 3 4 5 6 7 8 9 10 11 12 13 66 PSICOPY - transfert de fichiers par PSI  1-2-9. /crc ____ 1-2-10. /nocrc (d) __________G Verifie que chaque paquet de donnees recu est integre.* Retransmission en cas d'erreur.- 1-2-11. /restart (=restart_file)& ________________________V Garde trace de l'etat du transfert dans un fichier afin de le6 redemarrer en cas de problemes. (* FUTUR *), 1-2-12. /from=% _______________________B Indique les coordonnees PSI de la machine source.* 1-2-13. /to=# _____________________F Indique les coordonnees PSI de la machine destination3 1-3. Format des adresses de machinesP syntaxe: (ADDR=[NETWORK.]DTE[::username][,PWD=pass][,PWD2=pass])M Si un seul mot-cle est present, les parentheses sont facultatives. 1-3-1. addr ____+ coordonnees de la machine. network8 reseau utilise pour joindre la machine.P PSICOPY - transfert de fichiers par PSI 7  DTE/ Numero transpac de la machine.M Peut etre un nom logique contenant une adresse reseau de la forme: [reseau. ]DTER Si un nom de reseau est specifie dans le nom logique et dans l'adresseB machine, alors c'est ce dernier qui est pris en compte. username= Utilisateur a fournir pour le login distant. 1-3-2. PWD ___V Mot de passe dudit utilisateur. Si ce mot-cle est absent, alors leB mot de passe, s'il existe, est demande interactivement. 1-4. PWD2F Mot de passe secondaire. Meme remarque que plus haut.H 86 PSICOPY - transfert de fichiers par PSI  2. PSICOPY/SERVER0 Active psicopy en mode serveur." 2-1. Qualificateurs 2-1-1. /LOG ____D Jolis petits message dans les fichiers PSICOPY.LOG. 2-1-2. /STAT _____M Statistiques utilisation TRANSPAC a la fin dans PSICOPY.LOG.- 2-1-3. /CENTRALIZED_LOG=filename& _________________________V Tous les jolis messages ci-dessus sont mis dans un fichier unique et centralise.~ PSICOPY - transfert de fichiers par PSI 9 ; SOMMAIRE.X Generalites . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 ___________T Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . 2 ______________R 1.Securite . . . . . . . . . . . . . . . . . . . . . . . . . . . 2R 1-1.Serveur . . . . . . . . . . . . . . . . . . . . . . . . . . 2R 1-2.PSICOPY.EXE . . . . . . . . . . . . . . . . . . . . . . . . 2R 1-3.PSICOPY.COM . . . . . . . . . . . . . . . . . . . . . . . . 3R 1-4.logins distants . . . . . . . . . . . . . . . . . . . . . . 3R 1-5.Sous-adresse transpac. . . . . . . . . . . . . . . . . . . 3T Repertoire des commandes . . . . . . . . . . . . . . . . . . . . . 4" ________________________R 1.PSICOPY source dest [qualificateurs] . . . . . . . . . . . . . 5R 1-1.Parametres . . . . . . . . . . . . . . . . . . . . . . . . 5R 1-1-1.source . . . . . . . . . . . . . . . . . . . . . . . . 5R 1-1-2.dest . . . . . . . . . . . . . . . . . . . . . . . . . 5T 1-2.Qualificateurs . . . . . . . . . . . . . . . . . . . . . . 5R 1-2-1./compress . . . . . . . . . . . . . . . . . . . . . . . 5R 1-2-2./delete . . . . . . . . . . . . . . . . . . . . . . . . 5R 1-2-3./log . . . . . . . . . . . . . . . . . . . . . . . . . 6R 1-2-4./stat . . . . . . . . . . . . . . . . . . . . . . . . . 6R 1-2-5./reverse . . . . . . . . . . . . . . . . . . . . . . . 6R 1-2-6./window=fenetre . . . . . . . . . . . . . . . . . . . . 6R 1-2-7./pktsize=taille paquet . . . . . . . . . . . . . . . . 6R 1-2-8./thrucls= debit liaison . . . . . . . . . . . . . . . . 6R 1-2-9./crc . . . . . . . . . . . . . . . . . . . . . . . . . 7R 1-2-10./nocrc (d) . . . . . . . . . . . . . . . . . . . . . . 7R 1-2-11./restart (=restart_file) . . . . . . . . . . . . . . . 7R 1-2-12./from= . . . . . . . . . . . . . . . 7R 1-2-13./to= . . . . . . . . . . . . . . . . 7T 1-3.Format des adresses de machines . . . . . . . . . . . . . . 7R 1-3-1.addr . . . . . . . . . . . . . . . . . . . . . . . . . 7R network . . . . . . . . . . . . . . . . . . . . . . . . . . 7R DTE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8R username . . . . . . . . . . . . . . . . . . . . . . . . . 8T 1-3-2.PWD . . . . . . . . . . . . . . . . . . . . . . . . . . 8T 1-4.PWD2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 8T 2.PSICOPY/SERVER . . . . . . . . . . . . . . . . . . . . . . . . 9R 2-1.Qualificateurs . . . . . . . . . . . . . . . . . . . . . . 9R 2-1-1./LOG . . . . . . . . . . . . . . . . . . . . . . . . . 9R 2-1-2./STAT . . . . . . . . . . . . . . . . . . . . . . . . . 9R 2-1-3./CENTRALIZED_LOG=filename . . . . . . . . . . . . . . . 9 105 PSICOPY - transfert de fichiers par PSI  source PSICOPY - transfert de fichiers par PSI 11   s$ PSICOPY020.A!W0[GEGE.SYSTEME.PSICOPY_V2]PSICOPY.RELEASE_NOTES;9K0*[GEGE.SYSTEME.PSICOPY_V2]PSICOPY.RELEASE_NOTES;9+,!./ 4K-W0123KPWO56`uYJ7 #bJ8 ce9GH@J En cas de pb's: contactez guillaume gerard. PSI-mail: 02080750412::gege e-mail: gege@enst.fr bitnet: gege@frint51H X400: country= fr; admd= atlas; prmd=telecparis; name= guillaume gerard ear-mail: ((33) 1) 45-81-78-22' Changements par rapport a la version 1Kpossibilite de qualificateurs pour les liaision PSI (classes de debit, pcv, fenetres)H- le % est remplace par un \ pour separer adresse machine\nom de fichierH- ajout d'un qualifier /crc pour les gens qui douteraient de l'intgrit de leur donnes.E- reparation divers bugs dont un pb d'exit handler pour le serveur et5 quelques bugs dans la gestion des messages d'erreur.6- amlioration de la gestion des vnements du rseau.!- compatibilite avec la version 1;- remplacement des :: par \ dans les noms de fichier reseau dans tous les cas...8- correction crccomp: pas de dcx$expand_done si pas init5 (dump pas beaux si pbs lors du transfert de la map)@- en cas de pb dans l'install a la creation de compte, detruire  - l'objet psicopy (NCP PURGE) - et l'utilisateur psicopyC- correction du message d'erreur sur fichier en entree si /compress et erreur d'ouverture- copie des arborescencesF$ PSICOPY020.AW>W*[GEGE.SYSTEME.PSICOPY_V2]PSICOPYMSG.MSG;70[ }**[GEGE.SYSTEME.PSICOPY_V2]PSICOPYMSG.MSG;70+,W>. / 4[ -W0123KPWO 5!6M7`bJ8`D0e9 5GGH@J8.title PSICOPY_MSG -- Error messages for PSICOPY program#.facility psicopy,1/prefix=psicopy_.severity SUCCESS<COPIED /fao_count=9%DELETED /fao_count=9.severity INFO$IDENT !OUTPDELETE 9RECEIVED /fao_count=22SENT /fao_count=2<REQUEST /fao_count=2CREQFAIL /fao_count=29CREATED /fao_count=4@CREFAIL /fao_count=4(REMLOGIN /fao_count=42REMLOGFAIL /fao_count= 4DEBUGINFO /fao_count=2.severity WARNING)NOTCOPIED /fao_count=46NOTSUPP /fao_count=3@LOCDTELNG /fao_count=2AREMDTELNG /fao_count=2;USERLNG /fao_count=2VWINBAD /fao_count=2VPKTBAD /fao_count=2KRPOALNG /fao_count=2KWORDBAD /fao_count=2[THRBAD /fao_count=2?BADSTATUSWORD /fao_count=3.severity ERROR<ASSINCHAN /fao_count=1>ASSOUTCHAN /fao_count=13OPENIN /fao_count=45OPENOUT /fao_count=4.IN_SEARCH /fao_count=4INPARSE OUT_PARSE 8READ_INPUT /fao_count=4;WRITE_OUTPUT /fao_count=49NOTDELETED /fao_count=4.CONFAIL /fao_count=27LOGFAIL /fao_count=2ECONABORT /fao_count=3UCONERRNCB /fao_count=3;NETSEND /fao_count=2ANETRECEIVE /fao_count=2>INTERRUPT /fao_count=1,INVALIDNCB LCRCBLOCK /fao_count=3UCRCBURST /fao_count=3.severity FATAL8MAXCRCERR ABORT 'PUTMSG <$PUTMSG system service failed>ERRDELETE $ERRDEACCESS /NOX25CHAN ,NOSYSNET ,READSYSNET *ACCEPTERR *PROTOCOL /fao_count=1%USERNAME 'SECLVLERR 'ERRJPI <$GETJPI system service failed>!ERREXH 0READMBX /fao_count=25DEACCESS /fao_count=25SEND_IT /fao_count=2<ACK_IT /fao_count=2:INV_IT /fao_count=20CLEARED /fao_count=4-OPENLOG <EXTLOG (NOTNOW 8REVOKERR 8GRANTERR 8TRNLOG /fao_count=2.endBb?$ PSICOPY020.AW)W%[GEGE.SYSTEME.PSICOPY_V2]SYSDEP.MAR;2.dh%*[GEGE.SYSTEME.PSICOPY_V2]SYSDEP.MAR;2+,W)./ 4.-W0123KPWO5467bJ8\Se9 5GGH@J, .title KERNEL -- system dependant routines .library "SYS$LIBRARY:LIB" .link "SYS$SYSTEM:SYS.STB"/SE $ACCDEF $JIBDEF $JPIDEF $PCBDEF $PSLDEF $FCHDEF GLOBAL ; pour File_io! .psect $DATA,RD,WRT,NOPIC,NOSHRwork: .blkl 1group: .blkb ACC$S_ACCOUNT;$ .psect $CODE,RD,NOWRT,LONG,SHR,PIC;SETUIC_KERN:.WORD ^M<> MOVAL HANDLER,(FP) movl PCB$L_UIC(r4),R0 MOVL work,PCB$L_UIC(R4) movl R0,work MOVZBL #1,R0 RETTRAP: MOVZBL #12,R0 RET;HANDLER:.WORD ^M<> $UNWIND_S depadr=#0,newpc=TRAP RET;%SETACCOUNT_KERN:.WORD ^M MOVAL HANDLER,(FP)* MOVC3 #ACC$S_ACCOUNT,GROUP,CTL$T_ACCOUNT MOVL CTL$GL_PCB,R0 MOVL PCB$L_JIB(R0),R0. MOVC3 #JIB$S_ACCOUNT,GROUP,JIB$T_ACCOUNT(R0) MOVZBL #1,R0 RET! $CMKRNL_S routin=SETACCOUNT_KERN BLBC R0,RET .entry setuic,^M<> movl 4(ap),work $CMKRNL_S routin=SETUIC_KERN blbc r0,err movl work,r0RET: RET err:: ret .ENDCb$ PSICOPY020.A*  w #&~h~OTES;9! 6+ 3'MVVmc3Wխ <pӈ)ߕtD{)df-wAFQˬ@BAol;ŵV#fdVn+]x&K6rs\1$/d\ϯjN My|߳.tdT9P$`_~8B+E4M U[!:k&qz˜pbσLۙS G(^ֱm[uVTDBMΞd ojo8T|mcF<OlgɏӼH;s>tgY{Oܕ uK@:RstԐlڕ=~HO]j_2wOK: [4 \3h܅a2g2bUUW:d-ؙ;0#> ̠Y[y)qJ2 wFm+/9aa=QwFCL;\AvrpZ4+ύA.w CJYM[t ݄h5[fCF-2>}/`z'4dECI!|#**3FxءՏ)-*-E|"Xw?df3XfiFlq 7:-)g-AG-fq߆ɢ=br7$l6 =TAnԂTW^3oљ%O \'2 /MtNd:5ǐzsuU&A|胂9ug+CJWuGf;c򊑩5W>׊H<ӉԠ X/`Ay 5\L:Y]$NLaO~I2lbLvϵu=5ە!јȭLϸF xT-|j&ʼIwUpg/NEgMDQF2}(Yv'cB,3l/>9 D.~ːfL4T &Z@n)odҕޒ8tII:u'd2nttgA$Šq+x]oEР̓B9!9(c3W_9=R}rEAky1-uҭQ^C`:(Y)k23qe+xXLL jWa`;eH7Apj?Lyrr5 R=qO.u/)ESW`fIAAd"@1B&HAzmN[{=+|@1"#l 0O`'F"+T<:AfӜ+0j'2!s PHGAϫrk9rԔf ~G*wİQN}IfiE].(%n7CqNw'|VFKrA؀ "0M8&~Wv O8Z't"g:}_ ӡ$(xSenP޵f/mImʯ?(r.!rzVH)e-ɛz5+C|LD|s%-rg2hҦkbHzVyޯ:cKb=]E/$_(Vcwi5Dz*R{#T>պ፲&b.z䣮ud3Ƌ˥sDQƌ%VƓ'nzH4SB VXw7H۳J;Q;lOXf2/B' }.!TSiRɠ}Jj^K!Nigx!-!*`$owGJ4\iQ礥THLp?A̤ۭmOv'w~jxU+q̀ *Ǹ Y d3Bl;R~vGT+#Hv7ɜ i.00!q8bݟF&,LO46&wM+NyY? 8rBDF~NFitsEѵ^e+Ij"& YyjhkWh/cU*-F?QQ)/B71r$~x1Pxjn4.Jt?+-P=qmB,ޚ/mHS+iÖwkD=EQ4By%VXۼ@?T곖AO+K-lvΜ%/Hݭ!$pݯ/`jϐ9Ut"dQeSW97;Z-`$]oI\DTE6 ytB]]sҝִ8BH0kwvSUIcd l~ś&+-%TiŔKc>8vꕚ3"Zt@H{՟/{sӈ/W'?rURKI@B&#I;2fu993-+;,?>^$&%`7bxV_<:4$.Y nz!-1.(ZmEښ{y0 f6[Xp\sSt;8ZV,#[fM>3 8駱*\ Tؑ˿aӭ2p`1ა OC7 mFEl#my ~˅ H" O[: `CZp5[?DGB%!TQp]XateOG yz[H04QˋL.U^) *LVwelYXmtфWz? 9rꣵs8d{#h'+νe(jc1|{ߜE]rtRK `q0p-wOR*!xJMa N]0'\ɡPE.U.'9?77+D*>ѣGCvf2S:!CH'g| ܷ`Ѳd*ZJPBH g3{X(2(UH.Jo[lhEÞ=2?'R[LGORwn!29'Jڃ1luвPr屪0p{[mZVlu\7'-v6TN}PAʈ ~˵z 3}U"[` 9ƻ!e k˲Hˑ2?5>oCr.RAp_VP)Ƽ\Z]@b6rR@:ߦAO3<%J: NZE~b[qz2щ: A 1xr ۑ51FЎsܦQV`9E{X=>-u2ly/%8 d} W't\tPt-PM0)rX7KG?L% R"%!R4HZΓo6$ %dVOzH"$h$!ff[LH)4,6^,[MSW/05 ؟C+&|\xc$^cP`ŊT[T ;hf?UH"4^i⫑T}>J/Ԑ&A=UZˁt4V,z4qCm Æ wדo7{5X+?qDNFuº%hW|ܹ"ʶh7YZb$$l/Ŗk'\Dū&8K+,+h|H^3ꂅkB/4!gPTJK7MnS+J;itUYmxA]\I G'tp:͍y0ju#@2m$ yq&8_-̔_r 219u`ըaBņƸJR7e{Ah(L'?!"l3tt90ӑpw!!5;䯫 U7VEc+Nw~GXeC=AQ P᭍* eM; Gk09 ߗەXu5ǝM.M ]mM~:sNm'(yxe)Mr0)i9d/iw$4De{ {ꑻ2,b_Z"[lj֕k}ɊVcWA'Z8<.}5p>1:dw* ;2Q#Š=j;ĻK |dvtY?ƫ](яٹGQZ%@y/ka*R{xp`G=uG "僉;$7HJImZ(=i-1U MXh̷wZMhʼW̝'O>a(}`Hp?xS3.$m1נEsBۑp~0<|h)ˎ 3Le\Hhk^2EX+W*\xfcrrC'Ǣ2q{[ZrVNAGWv7˗ʀL]3mhIgx&n7'?ޏaOVVܙW[) ΢ɬ-Ep5QR* 5;/.vsʅuLwʅ->"\m8Tl?ࢠ5Ka=?F$d❢E{E?Hkº[%: Nyw|Zw [cR[i@KLMi7)l!hZ0('12"WgڮkVK: ʪ4I\GR^cwY#әH:}ɛ!G{ۧ,N*6ǒ.rxv4{y^i.7Zc=-?pRSOH3Cin+)F&xw@ĠASA<~:;"s-q6mb1E2yTJ҃aeRݐk5-]rEh5ԝmZl?vIJjf [8%+8A(2&92w81nnc oUo6VvF$J-#`qϰUX,fD4V[Ջ(LV,NQU%L"3:U? u!QXP_C6[/ibidT1?JzX qvLˏ9{`:!m-JH}Pܣ- 0 u̞NEk~]wOsC:/((z(h-N !:l* o >]aWWQ#ÿW):P8\>imo|AvgG$v*AxXv85ĨgOuFyh°?#I-XZXBx݌gB(h=r ٹ ,At8h7T) <5Dk?s> +uBˑ+̇AcZ>H"eeX\^k6v8q[Ȼ-|+uZzIHr^Yq{*3嚏 w˶r<1gz[^N9C&ԽAS:ʭ * λK2]RkgUl=ڤd11OF  K |'ZlIsX!ܯzӴ?pe/uaiXȃ\3tn.s'fZnmAq9 Vs$U-<#c C!AWl0) =fqy,FֵZơ9+jjSN΄u/uaS1d2DKHNrʊ|J%ۍWryc$y.adǼ%2S Es7Jmw+1YS6e? /8PBCMd{>oC8nGx"XY;k!r0TCwqȡ 5;"Z;9e:X>_YbjA]fbfFPʼ09v|!⯖RE!%&{ Ӿ@?x <1͓2ת/W1շ̿[~Nt>$$j *5Jq8NP> "Voulez vous recevoir des connexions entrantes (O/N)" O S,N -" "@vmi$kwd:kitinstal help connex"($ if .not.$status then exit VMI$_FAILURE$ gosub ouinon$ if err then goto askinc$ if .not.oui then goto files$!$! installation en mode serveur$! $asklogin: $ VMI$CALLBACK ASK psicopy$rep -H "Voulez vous autoriser les login par PSICOPY sur votre machine" O S,N -$ "@vmi$kwd:kitinstal help remlogin"($ if .not.$status then exit VMI$_FAILURE$ gosub ouinon$ if err then goto asklogin$ allowlogin= oui$!!$ req_privs= "OPER,NETMBX,CMKRNL"2$ if .not.f$privilege (req_privs) then goto nopriv?$ if f$identifier ("PSI$X25_USER","NAME_TO_NUMBER").ne.0 then -"$ VMI$CALLBACK MESSAGE I GRIDENT -A "Il faudra donner l'identificateur ""PSI$X25_USER"" a ce compte"/$ @vmi$kwd:getobj psicopy number psicopy$number,$ if psicopy$number.nes."" then goto upgrade$! $restartncp:@$ VMI$CALLBACK ASK psicopy$user "Username associe a ce compte" - PSICOPY S,N - "@vmi$kwd:kitinstal help user"($ if .not.$status then exit VMI$_FAILURE $ creuaf= 1$!$askserveruic:I$ VMI$CALLBACK ASK psicopy$uic "UIC de l'username ''psicopy$user'" "" S -% "@vmi$kwd:kitinstal help uicserver"$ define/user sys$output nl:$ define/user sys$error nl: $ set noon$$ create nl:toto/owner='psicopy$uic' $ st= $status$ set on#$ if .not.st then goto askserveruic$!$askdir:&$ VMI$CALLBACK ASK psicopy$serverdir -- "Repertoire de l'username ''psicopy$user'" -% "SYS$SYSROOT:[PSICOPY$SERVER]" S,N -$ "@vmi$kwd:kitinstal help serverdir"$ on error then exit $status&$ VMI$CALLBACK CREATE_DIRECTORY USER -- 'psicopy$serverdir' "/OWNER=''psicopy$uic'" $ st= $status$ on warning then exit $status"$ if .not.$status then goto askdir$!>$ defdev= f$parse (psicopy$serverdir,,,"DEVICE","Syntax_only")A$ defdir= f$parse (psicopy$serverdir,,,"DIRECTORY","Syntax_only")$ gosub generate_password$ vmi$debug = p2>$ VMI$CALLBACK create_account 'psicopy$user' /noadd_identifier $ st= $status$ vmi$debug = 0$ if .not.st then goto assumeok.$ VMI$CALLBACK UPDATE_ACCOUNT 'psicopy$user' -}"/network/lgicmd=""nl:""/flag=(dismail,restricted)/priv=(noall,tmpmbx,netmbx)/defpriv=(noall,tmpmbx,netmbx)/password=''pwdx'".$ VMI$CALLBACK UPDATE_ACCOUNT 'psicopy$user' -N"/device=''defdev'/directory=''defdir'/uic=''psicopy$uic'/nomodify_identifier" $ set noonH$ VMI$CALLBACK add_identifier psicopy$server "/value=uic:''psicopy$uic'"G$ VMI$CALLBACK add_identifier psicopy$server_mode "/attributes=dynamic"$ a:= $authorizeJ$ define/user sysuaf 'f$parse("sysuaf","sys$system:.dat",,,"Syntax_only")'J$ define/user netuaf 'f$parse("netuaf","sys$system:.dat",,,"Syntax_only")'N$ define/user netproxy 'f$parse("netproxy","sys$system:.dat",,,"Syntax_only")'I$ a grant/identifier psicopy$server_mode 'psicopy$uic'/attributes=dynamic$ set on $firstinstal:$ defdir="SYS$COMMON:[SYSEXE]"$ goto netfiles $assumeok:#$ VMI$CALLBACK MESSAGE I ACCEXIST -< "Le compte existe deja. L'installation assume qu'il est OK"$ goto firstinstal$! $upgrade:0$ @vmi$kwd:getobj psicopy "user id" psicopy$user0$ @vmi$kwd:getobj psicopy "file id" psicopy$file+$ if 'psicopy$number'.ne.0 then goto invobj)$ if psicopy$user.eqs."" then goto invobj)$ if psicopy$file.eqs."" then goto invobj$! $ upgrade= 1$ type sys$input:: Un objet PSICOPY existe deja. Les droits d'acces associes< a cet objet seront utilises pour le reste de l'installation%$ask2: VMI$CALLBACK ASK psicopy$rep -6 "Voulez-vous continuer l'installation (O/N)" o S,N,-$ "@vmi$kwd:kitinstal help objexists")$ if .not.$status then exit VMI$_FAILURE$$ gosub ouinon$ if err then goto ask2$$ if .not.oui then exit VMI$_FAILURE1$ accobj=0 ! on ne modifie pas les droits d'accesO$ defdir= f$parse (psicopy$file,,,"DEVICE")+f$parse(psicopy$file,,,"DIRECTORY")$! $netfiles:$ if creuaf then goto askcent%$ask3: VMI$CALLBACK ASK psicopy$rep -E "Voulez-vous generer un nouveau mot de passe pour ''psicopy$user'" -' o s,n "@vmi$kwd:kitinstal help srvpas"($ if .not.$status then exit VMI$_FAILURE$ gosub ouinon$ if err then goto ask3$ if .not.oui then goto askcent$ gosub generate_password $ accobj= 1@$ VMI$CALLBACK update_account 'psicopy$user' "/password=''pwdx'"$!$! fichier de log centralise$! $askcent: $ VMI$CALLBACK ASK psicopy$fic -@ "Nom du fichier de log: ( si pas de fichier>)" "" n,s -" "@vmi$kwd:kitinstal help logfile"($ if .not.$status then exit VMI$_FAILUREB$ if f$parse(psicopy$fic,,,"NAME").nes."PSICOPY" then goto cent_ok+$ typ= f$parse (psicopy$fic,".LOG",,"TYPE")%$ if typ.nes.".LOG" then goto cent_okB$ VMI$CALLBACK MESSAGE E RESERVED "Ce nom de fichier est riservi."$ goto askcent $cent_ok:J$ if psicopy$fic.nes."" then psicopy$fic== "/centralized_log="+psicopy$fic$ obj=1$files: $ VMI$CALLBACK ASK psicopy$dir -9 "emplacement des fichiers de commande et executables" -1 'defdir' N,S "@vmi$kwd:kitinstal help exfiles"($ if .not.$status then exit VMI$_FAILURE$!=$ if psicopy$dir.nes."SYS$COMMON:[SYSEXE]" then goto ailleurs$ realdir= psicopy$dir8$ psicopy$owner:== [1,4] ! pas confiance aux identifiers#$ if upgrade then goto checkupgrade$ goto oncopie $ailleurs:D$ if f$extract(f$length(psicopy$dir)-1,1,psicopy$dir).eqs.":" then -A psicopy$dir== f$extract (0,f$length(psicopy$dir)-1,psicopy$dir)($ x= f$trnlnm (psicopy$dir,"LNM$SYSTEM") $ if x.eqs.""$ then x= psicopy$dir$$ else psicopy$dir== psicopy$dir+":"$ endif6$ if f$locate ("]",x).ne.f$length(x)-1 then goto files:$ if f$parse (psicopy$dir,,,"NAME").nes."" then goto files"$ if .not. $status then goto files$ define/user sys$output nl:$ define/user sys$error nl: $ set noon$ directory/total 'psicopy$dir' $ st= $status$ set on9$! dir: drame renvoie un warning si le directory est vide6$ if .not. st then if (st.and.7) .ne.0 then goto files$ realdir= psicopy$dir#$ if .not.upgrade then goto oncopie$! @$! upgrade: on verifie que les directories ne sont pas bidon ...$!S$ psicopy$owner== "" ! avec sysprv, le nouvel owner est celui de la ver. precedente$checkupgrade:$ on error then exit $status!$ verifile:= 'realdir'psicopy.exe.$ psicopy$filok== "." ! en cas de pb de parse.E$ VMI$CALLBACK FIND_FILE psicopy$oldexe 'verifile' "" s psicopy$filok1$ if psicopy$filok .nes. "S" then goto dirfarfelu<$ psicopy$owner== f$file_attributes("psicopy$oldexe:","UIC")!$ verifile:= 'realdir'psicopy.comE$ VMI$CALLBACK FIND_FILE psicopy$oldcom 'verifile' "" s psicopy$filok/$ if psicopy$filok .eqs. "S" then goto getowner $dirfarfelu:K$ VMI$CALLBACK MESSAGE W NOFILE "L'ancien fichier ''verifile' n'existe pas"$ask4: VMI$CALLBACK ASK -? psicopy$rep "voulez-vous changer le nom du directory" o n,s -! "@vmi$kwd:kitinstal help dirpb"($ if .not.$status then exit VMI$_FAILURE$ gosub ouinon$ if err then goto ask4$ if oui then goto files $get#0$ PSICOPY020.A\/W)[GEGE.SYSTEME.PSICOPY_V2]KITINSTAL.COM;75}$Fj"owner:?$ if psicopy$owner.eqs."" then VMI$CALLBACK ASK psicopy$owner -; "UIC proprietaire de ces fichiers" "''psicopy$user'" S,N -! "@vmi$kwd:kitinstal help exeuic"$ define/user sys$output nl:$ define/user sys$error nl: $ set noon&$ create nl:toto/owner='psicopy$owner' $ st= $status$ set on$ if st then goto oncopieJ$ VMI$CALLBACK MESSAGE E BADUIC "L'UIC ''psicopy$owner' n'est pas valable"$ psicopy$owner== ""$ goto getowner$!!$! on a toutes les billes on y va$! $oncopie:H$ VMI$CALLBACK MESSAGE I BOIRECAFE "Toutes les questions ont ete posees"#$ on severe_error then exit $status"$ VMI$CALLBACK MESSAGE I LINKING -B "Compilation des modules dependant de VMS et edition de liens..."$ @VMI$KWD:make($ if .not.$status then exit VMI$_FAILUREA$ VMI$CALLBACK provide_image psicopy$filexe psicopy.exe 'realdir'"$ if .not. $status then goto files-$ if psicopy$owner.nes."" then VMI$CALLBACK -A SECURE_FILE psicopy$filexe 'psicopy$owner' s:rwed,o:red,g:re,w:e?$ VMI$CALLBACK TELL_QA "W necessaire pour systeme pour install"$! $ if .not. obj then goto sylogin$!?$! Creation de PSICOPY.COM ************************************$!,$ open/write psicopy$com vmi$kwd:psicopy.com$ if .not.$status then goto c_yA$ write psicopy$com /err=c_y "$ psicopy:= $''psicopy$dir'psicopy";$ write psicopy$com /err=c_y "$ psicopy/server",psicopy$fic%$ write psicopy$com /err=c_y "$ exit"$ close psicopy$com@$ VMI$CALLBACK provide_file psicopy$filcom psicopy.com 'realdir'"$ if .not. $status then goto files-$ if psicopy$owner.nes."" then VMI$CALLBACK -A SECURE_FILE psicopy$filcom 'psicopy$owner' s:red,o:red,g:re,w:reA$ VMI$CALLBACK TELL_QA "PSICOPY.COM est w:re car les fichiers de"I$ VMI$CALLBACK TELL_QA "commande des objets decnet doivent etre lisibles"$!G$! Creation de l'objet NCP associe ************************************$!$ VMI$CALLBACK MESSAGE I NCP -N "Creation de l'objet PSICOPY et de la destination PSICOPY du serveur X25"E$ ncpcom= "define object psicopy number 0 file ''realdir'psicopy.com"J$ if accobj then ncpcom= ncpcom + " user ''psicopy$user' password ''pwdx'";$ open/append psicopy$fil vmi$kwd:psicopy$update_object.com$ write psicopy$fil ncpcom,$ write psicopy$fil "set object psicopy all"$ write psicopy$fil "$exit"$ close psicopy$fil$$ @vmi$kwd:psicopy$update_object.com $ if f$getsyi("VAXCLUSTER").ne.0$ then$ type sys$input:@ Un fichier "SYS$MANAGER:PSICOPY$UPDATE_OBJECT.COM" a t fourniF afin de mettre a jour la base de donnees Decnet sur les autres noeuds$ du cluster o PSICOPY est install.F$ VMI$CALLBACK PROVIDE_FILE psicopy$updobj PSICOPY$UPDATE_OBJECT.COM- VMI$ROOT:[SYSMGR]>$ VMI$CALLBACK SECURE_FILE psicopy$updobj [1,4] s:ed,o:ed,g,w$ endif$! $! la doc ...$!E$ VMI$CALLBACK PROVIDE_FILE psicopy$doc PSICOPY.MEM VMI$ROOT:[SYSHLP]$ VMI$CALLBACK MESSAGE I DOC -@ "Un fichier de documentation est mis sous SYS$HELP:PSICOPY.MEM"$!$ if allowlogin$ then6$ open/append psicopy$fil vmi$kwd:psicopy$startup.comW$ write psicopy$fil "$ if f$file_attributes (""''psicopy$dir'psicopy.exe"",""KNOWN"")",$ write psicopy$fil "$ then verb:= replace"($ write psicopy$fil "$ else verb:= add"$ write psicopy$fil "$ endif"M$ write psicopy$fil "$install 'verb' ''psicopy$dir'psicopy/privilege=cmkrnl"$ write psicopy$fil "$exit"$ close psicopy$fil1$ VMI$CALLBACK PROVIDE_FILE psicopy$startupfil -- psicopy$startup.com vmi$root:[sys$startup]0$ VMI$CALLBACK SECURE_FILE psicopy$startupfil - [1,4] s:rewd,o:Re,g:re,w$!+$ VMI$CALLBACK SET STARTUP psicopy$startup$!$ type sys$input8 Pour autoriser les logins par psicopy sur votre machine: pensez a ajouter dans le systartup les lignes suivantes: @ sys$startup:PSICOPY$STARTUP#$ else ! destruction du startup.com>$ if upgrade and f$file_attributes("psicopy$oldexe:","KNOWN")$ then%$ VMI$CALLBACK MESSAGE I DELKNOWN -7 "Suppression de psicopy de la liste des 'known files'""$ install delete psicopy$oldexe:$ endif$ VMI$CALLBACK FIND_FILE -C psicopy$startup vmi$root:[sys$startup]psicopy$startup.com "" "S" - psicopy$fnd$ if psicopy$fnd.eqs."S" $ then$ VMI$CALLBACK I DELSTARTUP -5 "Le fichier de startup va etre supprime car inutile"-$ VMI$CALLBACK DELETE_FILE psicopy$startup:$ endif$ endif$!1$ open/append psicopy$fil vmi$kwd:psicopy$ivp.com($ write psicopy$fil "$ wdir:=''realdir'"$ write psicopy$fil "$ return"$ close/nolog psicopy$fil?$ VMI$CALLBACK CREATE_DIRECTORY USER VMI$ROOT:[SYSTEST.PSICOPY]R$ VMI$CALLBACK PROVIDE_FILE PSICOPY$IVP psicopy$ivp.com VMI$ROOT:[SYSTEST.PSICOPY]"$ VMI$CALLBACK MESSAGE I IVPFILE -C "Le fichier psicopy$ivp.com est dans sys$sysroot:[systest.psicopy]$!$! information pour le Sylogin$! $sylogin:$ type sys$input? Pour definir la commande psicopy, ajoutez ,par exemple dans le SYLOGIN.COM:7$ write sys$output "$psicopy:== $''psicopy$dir'psicopy"$ write sys$output ""%$ psicopy$$ :== $'psicopy$dir'psicopy$ exit VMI$_SUCCESS $psicopy_ivp:$ psicopy= psicopy$$+$ @sys$sysroot:[systest.psicopy]psicopy$ivp#$exit: exit '$status'.or.%x10000000$!$nopriv:$ type sys$input:? Vous n'avez pas les privileges requis pour cette installation:'$ write sys$Output "Il faut ",req_privs$c_y: set terminal/echo9$ if f$trnlnm("PSICOPY","LNM$PROCESS") then close psicopy$ type sys$input: Installation non effectuee...$ exit VMI$_FAILURE$invobj:!$ VMI$CALLBACK MESSAGE F INVOBJ -> "l'objet PSICOPY defini dans la base DECNET est incompatible" $ ncp:= $ncp$ ncp lis obj PSICOPY%$ask5: VMI$CALLBACK ASK psicopy$rep -C "Voulez-vous purger cet objet pour continuer l'installation" N S,N($ if .not.$status then exit VMI$_FAILURE$ gosub ouinon$ if err ther goto ask5$$ if .not.oui then exit VMI$_FAILURE$ ncp purge object psicopy all$ ncp clear object psicopy all$ goto restartncp$!6$! creation d'un pw de 8 caracteres retourne dans pwdx$!$ Generate_password: $ pwdn= 1$ file1:= vmi$kwd:pwd.tmp:$ if f$search(file1) .nes. "" then delete/nolog 'file1';*"$ define /user sys$output 'file1' $ set noon$ set password/gen=8 invalid $ set on$ set prot=(g,w) 'file1'$ open/read tempfile1 'file1' $ pwdx= "" $ Pwd_loop:($ read /end=close_pwd tempfile1 record$ pwd = F$element(0," ",record)$$ If pwd .eqs. "" then goto pwd_loop/$ pwdx= pwdx+f$extract (f$length(pwd)-3,2,pwd)$ pwdn = pwdn + 1$$ If pwdn .le. 5 then goto pwd_loop $ Close_pwd:$ Close/nolog tempfile1$ Delete/nolog 'file1';* $ pwdn = 1 $ Return$!$ouinon:$ replen= f$length(psicopy$rep)$ err= 0/$ if psicopy$rep.eqs.f$extract (0,replen,"OUI") $ then oui=15$ else if psicopy$rep.eqs.f$extract (0,replen,"NON") $ then oui=05$ else if psicopy$rep.eqs.f$extract (0,replen,"YES")$ then$ if .not.goodmorning then -'$ VMI$CALLBACK MESSAGE I GOODMORNING -7 "Good morning sir ! Speak french please ! Thank you !" $ oui= 1$ goodmorning= 1$ else $ err= 1#$ VMI$CALLBACK MESSAGE E KESKIDI -" "Repondez par oui ou par non SVP"$ endif$ endif$ endif$ return$!$help: goto help'p2' $helpconnex:$ type sys$input:= Si vous voulez recevoir des connexions entrantes, ce produit8 aura besoin d'un numero de compte, qui ne sera utilise6 qu'en reseau, et qui aura NETMBX comme privileges et5 privileges par defaut. Ce compte doit deja exister.$ exit$helpremlogin:$ type sys$input:? Si vous autorisez les login par PSICOPY sur votre machine, lesC utilisateurs se connectant sur votre machine auront la possibiliteA d'effectuer un login pourvu qu'ils aient un username et passwordA correct, si le compte est autorise en acces network. ceci permet? d'acceder aux fichiers par un username donne et non pas par le username de l'objet PSICOPY.$ exit $helpuser:$ type sys$input:> Cet username est associe a l'objet DecNet PSICOPY, et ne sert= que pour les connexions entrantes. Son repertoire par defaut= contiendra tous les fichiers PSICopis sans login explicite.$ exit $helplogfile:i$ type sys$input:sB Vous pouvez mettre les traces des acces distants dans un fichier centralise.> Le nom que fous fournirez sera relatif au repertoire de login du username associe a psicopy.V? Ce fichier ne peut etre SYS$LOGIN:PSICOPY.LOG car c'est le nomi des fichiers log.$ exit $helpexfiles:K$ type sys$input:TB Le directory specifie doit exister et permettre l'acces au moins H en mode execute pour les personnes autorisees a executer cette commande/ device:[directory] ou(6$ PSICOPY020.A\/W)[GEGE.SYSTEME.PSICOPY_V2]KITINSTAL.COM;75}$" bien nom logique systeme0$ exit $helpexeuic:$ type sys$input:nB UIC qui sera proprietaire des fichiers psicopy.com et psicopy.exe$helpuicserver: $ type sys$input: & UIC sous lequel sera lance le serveur$ exit$helpserverdir:t$ type sys$input:y@ Repertoire sous lequel sont places les fichiers transfrs sans login explicite$ exit $helpsrvpas:$ type sys$inputD C'est un mot de passe gnr alatoirement et qui n'est utilis queC pour les connexions entrantes. a priori ce mot de passe n'a besoinu, d'tre connu que de l'objet decnet PSICOPY.$ exit$helpobjexists:f$ type sys$input> Le "username" associe a l'objet PSICOPY existant est conserve6 la password pourra etre conserve ou change, au choix.$ exit $helpdirpb:@$ type sys$input:e? Le directory specifie ne contient pas les fichiers de psicopy,n3 alors qu'une version de PSICOPY est deja installeet$ exit$!$! installation en mode serveur$! $asklogin: $ VMI$CALLBACK ASK psicopy$rep -H "Voulez vous autoriser les lo6$$ PSICOPY020.A?WW%[GEGE.SYSTEME.PSICOPY_V2]GETOBJ.COM;4173:,%*[GEGE.SYSTEME.PSICOPY_V2]GETOBJ.COM;4+,?W./ 4:-W0123KPWO5/6 7 sJbJ8 e9 5GGH@J*$ on control_y then vmi$callback control_y$!$! P1= nom de l'objet#$! P2= nom du parametre a recuperer($! P3= nom de la variable DCL a affecter$!#$ on severe_error then exit $status $ ncp:= $ncp$ define:= define($ define/user sys$output vmi$kwd:ncp.tmp$ define/user sys$error nla0:$ ncp lis obj 'p1'#$ if .not. $status then goto ncpend#$ open/read ncp_tmp vmi$kwd:ncp.tmp $ncpread:"$ read/end=ncpend ncp_tmp ncp_line:$ param= f$edit (f$element (0,"=",ncp_line),"TRIM,UPCASE")'$ if param.eqs.f$edit(p2,"TRIM,UPCASE")$ then3$ 'p3'== f$edit (f$element(1,"=",ncp_line),"TRIM")$ goto closeok$ endif$ goto ncpread$ncpend: $ 'p3'== "" $closeok:$ close ncp_tmp/nolog $ delete vmi$kwd:ncp.tmp;*/nolog$ exit VMI$_SUCCESS c D$ PSICOPY020.AaWW*[GEGE.SYSTEME.PSICOPY_V2]PSICOPY$IVP.COM;9M**[GEGE.SYSTEME.PSICOPY_V2]PSICOPY$IVP.COM;9+,aW./ 4MF-W0123KPWO5!6ìH7@vbJ8@e9 5GGH@J  $set noon $ exitst=40!$ on control_y then goto ivpabort$ set control=y$ gosub getdir $ set:= set$ psicopy:= $'wdir'psicopy$ set symbol/scope=local $ network= ""$ type sys$input:: il faut d'abord les coordonnees transpac de votre machine [reseau][::username]L$asknet:inquire/nopunct achzo "Utilisation du reseau par defaut (O/N) [O]: ";$ if achzo.eqs."O" .or. achzo.eqs."" then goto network_done#$ if achzo.nes."N" then goto asknet+$ inquire/nopunct network "Nom du reseau: "$network_done:*$ inquire/nopunct dte "Adresse transpac: "-$ if network.nes."" then dte= network+"."+dte6$ inquire/nopunct user "donnez un nom d'utilisateur: "$ set terminal/noecho.$ inquire/nopunct pass "et son mot de passe: "$ set terminal/echo$ fulldte:= 'dte'::'user'H$ psicopy 'wdir'psicopy.com,.exe/compress ivpcopy/to=addr='dte'/log/stat#$ if .not.$status then goto ivpfail5$ psicopy /delete/from=addr='dte' ivpcopy.* ivpcopy -* /stat/log/to=(addr='fulldte',pwd='pass')#$ if .not.$status then goto ivpfail$ type sys$input:: Le mot de passe va vous etre redemande, s'il en existe un#$ define/user sys$input sys$commandM$ psicopy 'wdir'psicopy.com,.exe/compress ivpcopy1/to=addr='fulldte'/log/stat#$ if .not.$status then goto ivpfailF$ psicopy/compress/log/stat/delete /from=(addr='fulldte',pwd='pass') - ivpcopy*.* []#$ if .not.$status then goto ivpfail,$ diff ivpcopy.exe 'wdir'psicopy.exe /maxi=1#$ if .not.$status then goto ivpfail-$ diff ivpcopy1.exe 'wdir'psicopy.exe /maxi=1#$ if .not.$status then goto ivpfail,$ diff ivpcopy.com 'wdir'psicopy.com /maxi=1#$ if .not.$status then goto ivpfail-$ diff ivpcopy1.com 'wdir'psicopy.com /maxi=1#$ if .not.$status then goto ivpfail$ type sys$input:"%PSICOPY-S-YOUPI, Youpi ca marche. $ exitst= 1 $ goto exit$! $ivpabort:$ type sys$input:6 Procedure de verification interrompue par l'operateurF Pour relancer la procedure: @sys$sysroot:[systest.psicopy]psicopy$ivp $ goto exit$! $ivpfail:$ type sys$input:' La procedure de verification a echoue.' Verifiez les parametres de l'objet NCP= Regardez le PSICOPY.LOG dans le repertoire du compte serveurF Pour relancer la procedure: @sys$sysroot:[systest.psicopy]psicopy$ivp$exit:$ set terminal/echo$ delete/nolog ivpcopy*.*.*$ exit 'exitst$getdir:.*[GEGE.SYSTEME.PSICOPY_V2]PSICOPY$STARTUP.COM;2+,Y"3./ 4,x-W0123KPWO56@#WaJ7`bJ8`e9GH@J$!$! startup de PSICOPY:$!,$! installation de psicopy avec CMKRNL pour#$! autoriser les changements d'UIC$!4*[GEGE.SYSTEME.PSICOPY_V2]PSICOPY$UPDATE_OBJECT.COM;2+,dW ./ 4Cz-W0123KPWO596Q7bJ8@e9 5GGH@J$!C$! ce fichier est a executer sur tous les noeuds sue lequel psicopy?$! est installe, afin de mettre a jour la base de donnes de NCP#$! Il peut etre detruit apres usage$!$ run sys$system:ncp.define module x25-server destination psicopy - object psicopy - call value 505349434F5059 - call mask FFFFFFFFFFFFFF-set module x25-server destination psicopy all!}@[Mm lkqU?CI96" &3OQoI) GOWB(eUzKKUVxKj.K92 *kt @VnhoFMp}]olm6S-~+%Pf|&rqs :RgG&U@.2  QTRc>ZY~>4!R{1rUZW'a P-6KEP`O{a@@J=OG+.ooR?ǥ~9rE7M qsmM;5+m_V^ Og87Q%YQt/~t:: J7Noo~<XUP apJnW6"[J{XKMd$uX 1s$)6v5O+N d#|Fi8>a'IS.l"$SjRHy9/? 8rtBm$n\.mF&W9 Y Z R-usZDtl?{/YSY\R^mOZ2 oPTTPB@Qm}iU:]nzI)DrI,H,t;F,5+s"~MT Zz8Nc\^bndc@avL\H& M.&@|VE =pfMA_mE>AA5KRmp1dr/\|%E$ :,DP3hBUd7*YO\ot#Z##fO V J& ]^ &Vo :/-M%0LLQ$opEM0">oj`{YcߚQinON ~UC\LEZ9#1}x9P8#&2` L$CX @g@'TG\ _8"n'ZRjds.GZVkhf0=c};J&,H<.4zn*H_ 9~Is-D#H5I(h#ro3.|91~Gntd=J/z{Marhy{->xl+4n` UYy L`|b1N *Al3 G>GIc9cRE-#M*g)s/QH98qg%hkWK Ia* E|Wh! uqI31-aRCf>Vq KGq`:JvK#fp( X]L93'Pwj$o"v#*?] SiPoi?>+?8 a;BGl":,)B|zU6t;W)22^TV* ȞpKS.1hgqt /UHRC @<.%k9Tf[Hpas9y,>!{anlu#!*kbb.m1-&h`%akxY' .(=Ckvdc&ztgxC -8,IE3"p5;1~jE~J&>*h!6~bg:6";-**:#!7*8+~ N;.9I8{5$:* }q^ "" e>lo~!dST0DM[NK \5e.Ysy3"qf)|l~C+)?es<7#}{{u*?v Ljrhklh:`1730[kM:,>Gl^Wj$#)n#o?)<:a$:1>'fiu?<5{m4TVM-)9, z**rx%g'<,J}#, +l&7+t_})49e7j|,9mi,b#$[9/48jmu: amLY6$L~}=3eo}*gw:`s=6tu p +8 J"S!"g-]beJ:*"?~"0z! 6#$; *fb:'-z%Z}J RWd-C UOME8 P$& Hx _q"* nr|%%n$N(;?v#{iu"`Z[_R,jdS)>"sX/tk 11X$:)Z] X~ARA$GH05)e}f '*z)$jho3q58RYV-,RNLOPIG6BV ;Lx{ti9.A5 cxzOGj nO5yh=n76; ,ETL^$wfs2!ciBT@FVB@E  }'s}46u(,'w(|x+[Md}^^JG UA^eGDzUW\O)P:@IG"P'}OwTo<`.u|$4<'ajnH|6c7xVKKkC7~fu7"pLAgG0#V^\){pB(K HUJU90:&=&K5vyvxio,"c=F6MYQE%^RW@ZHBZ l$0av\+>$0-O?I~'c}gs,T!7LD2e-FNMA -?OiC  = GSY Hiz 6&Ws F!j / } *gP]n,j-DUaeN/MCfe<;M}AWh.lEH3 Rdo)dHvNf3M}ń&Csm1Qqx&IAhEK61&Tar42-&24xvc:o:}C5e4I@llVF  AGZpfCC= G09>D_\~2tICOPYEfKe*,"bobWT8l}g4$L 5L?m:}mmg0+w,{hKC^@:p=ct NlrYl5|j7e5 "Aau(cx2>`dkd>j82bk DUD[rF3YET# B-yE VGVD HEJ Er@J2PEV6Y0HKEa"` AUSBX  ]@UU\P-?;)&3*o:OGP=Lt}x{fg K]e9pW` FF NGV +RusW~focey KFL T;7Vi@rh  ao5;!$+#-&COW W Q  /Cohmm/ BtQy]RMPo{:zMWP` ; -_$/m/#8l27kT; -u5*+)i-6S pW$W}7?=Q3'% blXK)\Ypxqa0y=090 HJ! OJ AYep' V&g39>K1*c %( &DngvN?ncp{3-!pW`jHuhB@+j({'zIl leghs*uV}T!O;DIXXH'++PcS0lirbHm&x~ef&$ur~f-u~,t74l~$1_Ca/n"/'z~x.gxegb e&d%b+=!xfkr7p~0wbs25)v.fe/)+d:';%`e9[?x'noe4;66[eemh$6 2{<9sg!6g<7&:8=,E]?0MPW^\jz}'mh?U?J|kp/ F4~lz/` G,15h+73eC"B{AcLW;I5&c5+ 0;PT$Zie+nA NXB IBH.EPA|OASNGjtF(N}sA& GF Pn!- r89C1 ()xAsKJ3,=a43-h"& 03% ,1O&4i'<*&27{s$6:7A *m6<5+mv d;$mO4%v+'5,)Jp"2Vo`8;&F)AeLfH*-=6:0.7<24:k{=7%\8QSS_RZ 0 !Nf J O \xey P EYVT^'ac\ezV uW) B PWP EPZ WF YE_4*#;c&G]_D C$AiHl[^EV!i!<0p'-R\t""mM*fETDEemrMfcV*\) NTNDh \-"?'H-,dn o i%R?'.K +k1 #s)etaG8O HVCeceV)P OENde naz: SASNI YASWEH. . o3sgEZ)d?i"S;|* 8<<6til BHWpEztMa$gH%*bo-$Tca ' 30SfT!+8o'2IY hM@3a.+&0&e^SmJ(?*UE O vnW)ET, -n";T SS]cpmThBB Mx.K|CRXN z EzNij Kk O#&+J(57eWaP,TIz!";@CJLhK (O#9vAs)cKy/i;A3aaLAJivH)OGBS PFRWOW]PXUP TVclH@iiKO+)(I0D'eZ @lI OIN @P  vhAO)e\K5('PeFaIh\G$gH+#14!kO4:%OdiGfY(e{)ODS \cLiA{IEO]Ur1<0ePLZ@Gp7(-tpEzOD\-pE{DFMSXcvp]-Iqo1OEI#=j5UM.QmT SfTpHNW]GO>,/ F_ GA SMELVe, @l:(=Al/# -&clF$)6bf|oErL7 4?+! 6EOYAOEUF UcsA{ Z`oKgroPO)CzwKA:VB-`A joTY-  s7"}RX@C[INJRBnjrEL`1C\F  AWIDaiHl^E`= ww@TLGQ1 t~2%K,1vLjAgkH!.ASFDGErIwm)V \EC ?fMjRN"AE LU GTI KlAs)dfp~mJGR:D6N'eAsPAePMGWGx\rEjFHJ@CI Y[I\  ] DMmV66-"uoerw@O+8MfPz O@ I\B KS'16Jc("9 nJ,7?*75Q"T+ S0D[plHE|1oee g  DIXM Ay=dMR1DAe LKWIVX `,?]-)NCRNWihnGE)3 U eltMGaeVViJf\?uTn EUE T @ Ep', CfRRNS@pMlcf  WH!p lN@  F\Q&6&RP$iiV $EDTBP RAydM{LBS'K\PPTerly^A]A\^TF UTNb)jNLnjtL!yPQ TB)1y PpMIZiKoTp\OE BIEPPQH\N) a vlM$)) Pa =x lxH nzt nf SIIIiU -_(%W&H)!5okS/i"!%&!5TS PQ BE  EIEVUOK^S  YT -mNC PQI HG PC!UHEED FUnSnyIYH wse{HNEJ E;TUSxq90&36^y"oHm N(,=,/R\ReV3geV`NYTV H'Ns` Y[ n$mA)3>="2?#!(&kAf%i+=,,8ed'P)w&/+36ABE F S"+QEPPAInJxMf AGL<NKRVV$)kMHtKrl)CGPDGO^V TGNEUO IIRic} VRL_(Ll)L/MQWUTR LERNa\iB)\ \PUET I gi}D#m