Network
File Transfer Release Notes
There are four sections to these notes:
-
Installation
-
Operation
-
Support
-
Network File Transfer's OLE Automation Interface
Installation
The server portion of the Network File Transfer is self installing. The
server portion must be installed once on each HP e3000 if the NFT server
files have not been installed by another Minisoft Client Server
application.
The Server Installation Utility will create the default Account, User
and Group needed for NFT.
Operation
After the server programs have been uploaded to the HP e3000, the Network
File Transfer server is started by streaming the file named
"MSJOB.MM.MINISOFT". This JOB must be running for Network File
Transfer to operate.
:STREAM MSJOB.MM.MINISOFT
To disable the Network File Transfer, use the MSJOBCMD utility, use the
Server Console Utility or abort the JOB from the console. Usually,
streaming "MSJOB.MM.MINISOFT" should become part of your normal
system startup procedures.
The file "MSJOB.MM.MINISOFT" contains the following line:
!SETVAR MSSERVER000002 "30001 0 NFTSRVR.MM.MINISOFT;PRI=DS S"
The first parameter in the string above contains a TCP/IP port number.
This is any number between 1 and 32767. Each server using TCP/IP must have
a unique port number. It is recommended that "30001" is used,
since we have not found any other software on the HP e3000 that uses this
number. All clients must set this same port number in their configuration
in order to connect to the server program. If you wish to have more than
one server active, then each server must have its own unique port number.
Remember, that one server can service any number of clients
simultaneously, so only one active server is required. You may, however,
wish to have more than one server for accounting or security reasons.
Support
Please refer all requests for assistance to: <support@minisoft.com>
Network File Transfer's OLE Automation Interface
Client programs can access MS92's Network File Transfer (HP3000 MPE/iX)
and/or FTP (Unix, etc...) module programmatically via OLE Automation. Any
client may create a Session object and use the object's properties and
methods to communicate with the server program.
File Transfer Engine (HP3000 MPE/iX)
The File Transfer Engine objects are used by the client program to
communicate with the file transfer server program on the host. This gives
the client the ability to transfer files to/from the host as well as
execute MPE commands, MPE command files and programs. In order to access
the File Transfer Engine from a client program, the client program must
create the Session object of the File Transfer Engine as follows:
Visual BASIC:
Dim FTSession As Object ... Set FTSession =
CreateObject("NetFT.Session")
Visual C++:
CreateDispatch( "NetFT.Session" );
When the client program wishes to stop using the File Transfer Engine,
then it must delete the Session object as follows:
Visual BASIC:
Set FTSession = Nothing
Visual C++:
ReleaseDispatch();
Session Object
Once the Session object has been created the client can access its
properties and methods to access the host's file transfer server program.
Typically the properties specifying the host's IP address, TCP/IP port
number, and login information are set, then the Connect method is called
to connect the the host's file transfer server program.
Property Reference
AccountPassword, type String, write access
The string used for the account password when connecting to the host's
file transfer server program.
ConnectStatus, type Boolean, read access
Contains True if the last connection attempt was successful, else
False.
CtrlZIsEof, type Boolean, write access
This property specifies whether the end-of-file of a PC file is marked
with a CTRL-Z character or not. A value of True indicates that a CTRL-Z
found in the file will be interpreted as the EOF on uploads, and that a
CTRL-Z will be written at the end of the file on downloads. A value of
False indicates that a CTRL-Z found in the file will be intepreted as
normal data on uploads, and that a CTRL-Z will not be written at the end
of the file on downloads. This property only applies to ASCII transfers.
The default is False.
Direction, type integer, write access
This property specifies the direction of the next file transfer. A
value of 0 indicates uploading, while a value of 1 indicates downloading.
The default is uploading.
DisplayStats, type Boolean, write access
This property specifies whether a dialog box showing the status of the
transfer should be displayed during the file transfer. The default is
False.
ErrorMessage, type String, read access
Contains the last error message generated
ErrorNumber, type integer, read access
Contains the last error number generated.
ExistsAction, type integer, write access
This property specifies what action to take if the destination file
already exists. A value of 0 indicates that the transfer should be
cancelled. A value of 1 indicates that the destination file should be
deleted and the transfer should continue. A value of 2 indicates that the
user should be prompted whether to delete the file or cancel the transfer.
A value of 3 indicates that the destination file should be appended to.
The default is 0.
FileTransferStatus, type integer, read access
This property indicates the status an in-progress or completed file
transfer. A value of 0 indicates that the last transfer was completed
successfully. A value of 1 indicates that the last transfer failed. Any
other value indicates that a file transfer or some other operation is in
progress.
GroupPassword, type String, write access
The string used for the group password when connecting to the host's
file transfer server program.
HostAddress, type String, write access
The host name or IP address used when attempting to connect to the
host.
HostFile, type String, write access
This property specifies the name of the host file involved in the
transfer. It may be fully qualified with the group and account if
necessary. If the file is in or should be created in the temporary domain,
the string ",TEMP" should be appended to its name.
HostFileList( String ListMask ), String, read access
This property returns a comma delimited list of files on the host. The
ListMask parameter specifies a valid LISTF filename argument used to
compile the list with.
JobName, type String, write access
The string used for the job name when connecting to the host's file
transfer server program.
KeepTrailingSpaces, type Boolean, write access
This property specifies what to do with the trailing spaces on each
record during ASCII downloads. A value of True indicates that trailing
spaces should be kept, while a value of False indicates that trailing
spaces should be deleted. The default is False.
LocalFile, type String, write access
This property specifies the name of the local file involved in the file
transfer. It may be fully qualified with the drive letter and path if
necessary.
LoginAccount, type String, write access
The string used for the account name when connecting to the host's file
transfer server program.
LoginGroup, type String, write access
The string used for the group name when connecting to the host's file
transfer server program.
LoginInfo, type String, read access
This property contains the current user name, group name, and account
name the server is running from. The first 8 characters contain the user
name, the next 8 characters contain the group name, and the last 8
characters contain the account name.
LoginStatus, type Boolean, read access
Contains True if the login information supplied when connecting to the
host's file transfer server program was valid, else False.
LoginUser, type String, write access
The string used for the user name when connecting to the host's file
transfer server program.
Port, type integer, write access
A number that uniquely identifies the program on the host that the
client wishes to connect to. This number is typically 31001 for the file
transfer server, but may be any number between 1 and 32767.
RecordSize, type integer, write access
This property specifies the record length of the host file for uploads.
Valid values are between 1 and 4096. The default is 80 for ASCII
transfers, or 256 for binary transfers.
SpacesPerTab, type integer, write access
This property sets the distance between tab stops and enables changing
tab characters to spaces to fill to the next tab stop. It is used only on
ASCII uploads. A value of 0 disables the replacement of tab characters.
Valid values are between 0 and 9. The default is 0.
TransferMode, type integer, write access
This property specifies the mode of the file transfer. Valid values are
0 for an ASCII file transfer, 1 for a binary file transfer, and 2 for a
binary transfer that saves the file information in a file header.
UserPassword, type String, write access
The string used for the user password when connecting to the host's
file transfer server program.
Method reference
Boolean Connect()
This method attempts to connect to the host's file transfer server
program at the IP address specified by the HostAddress property. The Port
property is used to identify the requested host program. Connect sets the
ConnectStatus property and returns True if the connection request
succeeded, else it returns False.
void Disconnect()
This method disconnects from the host's file transfer server program.
integer HostCommand( String CommandString )
This method executes a MPE command or MPE command file. The
CommandString parameter specifies the command or command file to be
executed. A return of 0 indicates the command was executed sucessfully,
while a return of 1 indicates that the command failed.
Boolean HostLogin()
This method changes the host server login to that specified by the
LoginUser, UserPassword, LoginGroup, GroupPassword, LoginAccount,
AccountPassword, and JobName properties. A return of True indicates that
the login was changed successfully.
void SaveConfig()
This method saves the writeable session object properties to a file.
This file can later be use to initialize a session object when created.
Boolean LoadConfig( String FileName )
This method loads the session object properties from the named file. A
return of True indicates the properties were loaded successfully.
Boolean SetSessionConfig()
This method displays the "Session Configuration" dialog of
the File Transfer Access Engine. This dialog allows the user to set the
following properties: HostAddress, Port, LoginUser, UserPassword,
LoginGroup, GroupPassword, LoginAccount, AccountPassword, and JobName. A
return of True indicates the user clicked on OK to exit the dialog, else a
return of False indicates the user clicked on Cancel to exit the dialog.
Boolean SetTransferConfig()
This method displays the "File Transfer Configuration" dialog
of the File Transfer Access Engine. This dialog allows the user to set
default file transfer options. A return of True indicates the user clicked
on OK to exit the dialog, else a return of False indicates the user
clicked on Cancel to exit the dialog.
integer StartTransfer()
This method initiates a file transfer. A return of 0 indicates the file
transfer was successful, while a return of 1 indicates that the file
transfer failed.
FTP Engine
The FTP Engine objects are used by the client program to communicate
with a FTP server program on the host. This gives the client the ability
to transfer files to/from any host that supports FTP. In order to access
the FTP engine from a client program, the client program must create the
Session object of the FTP Engine as follows:
Visual BASIC:
Dim FTPSession As Object ... Set FTPSession =
CreateObject("MdmFTP.Session")
Visual C++:
CreateDispatch( "MdmFTP.Session" );
When the client program wishes to stop using the FTP Engine, then it
must delete the Session object as follows:
Visual BASIC:
Set FTPSession = Nothing
Visual C++:
ReleaseDispatch();
Session Object
Once the Session object has been created the client can access its
properties and methods to access the host's FTP server program. Typically
the properties specifying the host's IP address and login information are
set, then the Connect method is called to connect the the host's FTP
server program.
Property reference
AccountPassword, type String, write access
The string used for the account password when connecting to the host's
FTP server program. Some hosts require account information.
ConnectStatus, type Boolean, read access
Contains True if the last connection attempt was successful, else
False.
CtrlZIsEof, type Boolean, write access
This property specifies whether the end-of-file of a PC file is marked
with a CTRL-Z character or not. A value of True indicates that a CTRL-Z
found in the file will be interpreted as the EOF on uploads, and that a
CTRL-Z will be written at the end of the file on downloads. A value of
False indicates that a CTRL-Z found in the file will be intepreted as
normal data on uploads, and that a CTRL-Z will not be written at the end
of the file on downloads. This property only applies to ASCII transfers.
The default is False.
DirectoryList, type String, read access
This property contains a list of subdirectories contained by the
current host directory. It is updated after every successful call to the
RefreshFileList method.
DisplayStats, type Boolean, write access
This property specifies whether a dialog box showing the status of the
transfer should be displayed during the file transfer. The default is
False.
ErrorMessage, type String, read access
Contains the last error message generated
ErrorNumber, type integer, read access
Contains the last error number generated.
FileList, type String, read access
This property contains a list of files contained by the current host
directory. It is updated after every successful call to the
RefreshFileList method.
FileTransferStatus, type integer, read access
This property indicates the status of an in-progress or completed file
transfer. A value of 0 indicates that the last transfer was completed
successfully.
HostAddress, type String, write access
The host name or IP address used when attempting to connect to the
host.
HostType, type integer, write access
This property specifies the type of host connecting to. Valid types
are:
1 - Unix 2 - IBM VM 3 - VMS/Multinet 4 - VMS/UCX 5 - FTP's PCTCP 6 -
CUTCP/NCSA 7 - NOS/KA9Q 8 - WinQVT/Net 9 - IBMPC TCP/IP 10 - CHAMELEON 11
- SuperTCP 12 - SI NT/FTPD 13 - IBM MVS 14 - Unisys 5000
LoginStatus, type Boolean, read access
Contains True if the login information supplied when connecting to the
host's FTP server program was valid, else False.
LoginUser, type String, write access
The string used for the user name when connecting to the host's FTP
server program.
SpacesPerTab, type integer, write access
This property sets the distance between tab stops and enables changing
tab characters to spaces to fill to the next tab stop. It is used only on
ASCII uploads. A value of 0 disables the replacement of tab characters.
Valid values are between 0 and 9. The default is 0.
UserPassword, type String, write access
The string used for the user password when connecting to the host's FTP
server program.
Method reference
Boolean ChangeDirectory( String Directory )
This method attempts to change the current directory of the host's FTP
server program to the directory specified by the Directory parameter. A
return of True indicates that the current directory was changed.
Boolean Connect()
This method attempts to connect to the host's FTP server program at the
host name or IP address specified by the HostAddress property. The
LoginUser, UserPassword, and AccountPassword (optional) properties should
be set before calling the Connect method. Connect sets the ConnectStatus
property and returns True if the connection request succeeded, else it
returns False.
String CurrentDirectory()
This method returns the name of the current directory of the host's FTP
server program.
Boolean DeleteFile( String FileName )
This method deletes the host file specified by the FileName parameter.
A return of True indicates that the file was deleted.
void Disconnect()
This method disconnects from the host's FTP server program.
Boolean Login()
This method changes the host server login to that specified by the
LoginUser, UserPassword, and AccountPassword (optional) properties. A
return of True indicates that the login was changed successfully.
Boolean RefreshFileList( String ListPath )
This method retrieves a list of all files and directories matching the
ListPath parameter. The ListPath parameter may contain any valid path
and/or file wildcard characters. The DirectoryList and FileList properties
are updated upon successful completion of this method.
Boolean RenameFile( String OldName, String NewName )
This method renames the file specified by the OldName parameter to the
name specified by the NewName parameter. A return of True indicated that
the rename was successful.
integer RetrieveFile( String HostFileName, String
LocalFileName,
integer Type, integer ExistsAction )
This method transfers the file specified by the HostFileName parameter
from the host to the file specified by the LocalFileName parameter on the
PC. The Type parameter is either 0 for an ASCII transfer or 1 for a binary
transfer. The ExistsAction parameter specifies what action to take if the
PC file already exists. A value of 0 indicates that the transfer should be
cancelled. A value of 1 indicates that the PC file should be deleted and
the transfer should continue. A value of 2 indicates that the user should
be prompted whether to delete the file or cancel the transfer. A value of
3 indicates that the PC file should be appended to. A return value of 0
indicates that the transfer was completed successfully.
Boolean SetSessionConfig()
This method displays the "Session Configuration" dialog of
the FTP Engine. This dialog allows the user to set the following
properties: HostAddress, HostType, LoginUser, UserPassword, and
AccountPassword. A return of True indicates the user clicked on OK to exit
the dialog, else a return of False indicates the user clicked on Cancel to
exit the dialog.
Boolean SetTransferConfig()
This method displays the "File Transfer Configuration" dialog
of the FTP Engine. This dialog allows the user to set default file
transfer options. A return of True indicates the user clicked on OK to
exit the dialog, else a return of False indicates the user clicked on
Cancel to exit the dialog.
integer StoreFile( String LocalFileName, String
HostFileName, integer
Type, integer ExistsAction )
This method transfers the file specified by the LocalFileName parameter
from the PC to the file specified by the HostFileName parameter on the
host. The Type parameter is either 0 for an ASCII transfer or 1 for a
binary transfer. The ExistsAction parameter specifies what action to take
if the host file already exists. A value of 1 indicates that the host file
should be deleted and the transfer should continue. A value of 3 indicates
that the host file should be appended to. A return value of 0 indicates
that the transfer was completed successfully.
Calling the OLE Automation Engines from Visual C++
Type libraries to describe the API for the File Transfer Engine and the
FTP Engine are included in the installation directory. They are called
"mdmft.tlb" and "mdmftp.tlb" respectively. They can be
used with the Read Type Library option under the Ole Automation tab of the
ClassWizard dialog box of Microsoft Visual C++. When a type libary is read
this way a new class derived from COleDispatchDriver is created which will
contain member functions to access the properties and methods of the
requested Ole automation engine.
|