| 1 | RGUTFTP ;CAIRO/DKM - FTP support (currently defined only for VMS);12-Oct-1998 15:49;DKM
|
---|
| 2 | ;;2.1;RUN TIME LIBRARY;;Mar 22, 1999
|
---|
| 3 | ;=================================================================
|
---|
| 4 | ; Should not be invoked directly, but through a call to FTP^RGUTOS
|
---|
| 5 | ;=================================================================
|
---|
| 6 | VMS(RGIP,RGMODE,RGSRCF,RGTGTF,RGTGTD,RGUSER,RGPASS) ;
|
---|
| 7 | N RGZ,RGZ1,RGFIL,RGSRCD
|
---|
| 8 | D HOME^%ZIS
|
---|
| 9 | I IO=IO(0) D
|
---|
| 10 | .U IO
|
---|
| 11 | .I "@"[RGIP D
|
---|
| 12 | ..S:RGIP="@" RGIP=$P($ZIO," ",2)
|
---|
| 13 | ..I RGIP="" D Q:RGIP=""
|
---|
| 14 | ...R "Enter target IP address: ",RGIP:DTIME,!
|
---|
| 15 | ...S:RGIP[U RGIP=""
|
---|
| 16 | .I $G(RGSRCF)="" D Q:RGSRCF=""
|
---|
| 17 | ..R "Enter source file name : ",RGSRCF:DTIME,!
|
---|
| 18 | ..S:RGSRCF[U RGSRCF=""
|
---|
| 19 | .I $G(RGUSER)="" D Q:RGUSER=""
|
---|
| 20 | ..R "Enter target user name : ",RGUSER:DTIME,!
|
---|
| 21 | ..S:RGUSER[U RGUSER=""
|
---|
| 22 | .I $G(RGPASS)="" D Q:RGPASS=""
|
---|
| 23 | ..R "Enter target password : ",RGPASS:DTIME,!
|
---|
| 24 | ..S:RGPASS[U RGPASS=""
|
---|
| 25 | D:$G(RGIP)="" RAISE^RGUTOS("No IP address")
|
---|
| 26 | D:$G(RGSRCF)="" RAISE^RGUTOS("No source file")
|
---|
| 27 | D:$G(RGUSER)="" RAISE^RGUTOS("No target user")
|
---|
| 28 | D:$G(RGPASS)="" RAISE^RGUTOS("No target password")
|
---|
| 29 | S RGZ=$S(RGMODE["G":"get ",RGMODE["P":"put ",1:""),RGSRCF=$TR(RGSRCF,"\","/"),RGSRCD=""
|
---|
| 30 | S:RGSRCF["/" RGZ1=$L(RGSRCF,"/")-1,RGSRCD=$P(RGSRCF,"/",1,RGZ1)_"/",RGSRCF=$P(RGSRCF,"/",RGZ1+1)
|
---|
| 31 | D:RGZ="" RAISE^RGUTOS("Mode not specified")
|
---|
| 32 | W:IO=IO(0) !,"Beginning file transfer...",!!
|
---|
| 33 | I $$NEWERR^%ZTER N $ET S $ET=""
|
---|
| 34 | S @$$TRAP^RGUTOS("ERROR^RGUTFTP"),RGFIL="FTP"_$J_".TMP",RGMODE=$$UP^XLFSTR($G(RGMODE))
|
---|
| 35 | D OPEN^RGUTOS(.RGFIL,"W")
|
---|
| 36 | U RGFIL
|
---|
| 37 | W:RGSRCD'="" $S(RGMODE["G":"cd ",1:"lcd ")_RGSRCD,!
|
---|
| 38 | W:$G(RGTGTD)'="" $S(RGMODE["G":"lcd ",1:"cd ")_RGTGTD,!
|
---|
| 39 | W $S($G(RGTGTF)="":"m"_RGZ_RGSRCF,1:RGZ_RGSRCF_" "_RGTGTF),!
|
---|
| 40 | W:RGMODE["D"&(RGMODE["G") "mdelete "_RGSRCF,!
|
---|
| 41 | W "quit",!
|
---|
| 42 | D CLOSE^RGUTOS(.RGFIL)
|
---|
| 43 | U IO
|
---|
| 44 | S RGZ=$&ZLIB.%SPAWN("FTP "_RGIP_" /USER="""_RGUSER_"""/PASS="""_RGPASS_"""/INPUT="_RGFIL)
|
---|
| 45 | D DELETE^RGUTOS(RGFIL)
|
---|
| 46 | I RGMODE["P",RGMODE["D" D DELETE^RGUTOS(RGSRCF)
|
---|
| 47 | Q
|
---|
| 48 | ERROR I IO=IO(0) D
|
---|
| 49 | .U IO
|
---|
| 50 | .W $$EC^%ZOSV,!!
|
---|
| 51 | E D ^ZTER
|
---|
| 52 | Q
|
---|